4 ms·
I did. My undergrad didn't involve any coding, so when I decided to study AI, and enrolled into a Computer Engineering PhD program, I took an undergrad computer
by p1esk 4y ago
I did. My undergrad didn't involve any coding, so when I decided to study AI, and enrolled into a Computer Engineering PhD program, I took an undergrad computer architecture course, where I learned basics of MIPS assembly, while in parallel taking a beginner C course. C maps very well to assembly, so things made sense. Oh, I forgot to mention - before I enrolled in grad school I read the book "Code" by Charles Petzold. Highly recommended. It really helped me see how everything fits together. After a second C course, I dived into machine learning, and switched to Python (which I learned on my own, from the official tutorial). Later on I took a few more advanced CS courses (algorithms, parallel programming, network programming, etc). But I only learned good SWE practices when I started working with others in startups: OOP and code reuse, clean and consistent API design, naming, comments, TDD, git, reviewing and submitting PRs, etc.