4 ms·
There are a lot of book recommendations, but I would not focus on books if I wanted to get the equivalent of a solid CS education. Instead I would work through
by georgecmu 5y ago
There are a lot of book recommendations, but I would not focus on books if I wanted to get the equivalent of a solid CS education. Instead I would work through university lecture slides, assignments, and exams -- basically fast forward through a CS undergrad leveraging what you already know.
I'm partial to CMU's CS syllabus for obvious reasons, but I find that it's also one of the most open and available resources on the web; i.e. not locked in on an intranet, etc.
With pre-existing background in software development the basic syllabus is more than doable in a 3-4 months. There are two sequences below: programming and theoretical fundamentals; you can do them in parallel.
Programming:
15-211: Introduction to Data Structures. Used to be in C++; now looks like it's in Java.
https://www.cs.cmu.edu/~mjs/121/lectures.html https://www.cs.cmu.edu/~mjs/121/lectures.html
15-212: Principles of Programming. Still in ML.
https://www.cs.cmu.edu/~me/212/schedule.html https://www.cs.cmu.edu/~me/212/schedule.html |
https://www.cs.cmu.edu/~fp/courses/96-212/ https://www.cs.cmu.edu/~fp/courses/96-212/ (unlocked assignment pages)
15-213: Intro to Computer Systems.
I hesitate to recommend this; 90% of the value in this course is in the labs and assignments, so it's difficult to do on one's own, but I would at least go through the slides and try to work through exams.
https://www.cs.cmu.edu/~213/schedule.html https://www.cs.cmu.edu/~213/schedule.html
Theoretical:
15-251: Great Ideas in Theoretical Computer Science. Used to be Discrete Math with a heavy CS lean; it may have evolved.
https://www.cs.cmu.edu/~15251/schedule.html https://www.cs.cmu.edu/~15251/schedule.html
15-451: Algorithms. Here's a decade worth of lectures, exams and assignments - take your pick: https://www.cs.cmu.edu/~15451/ https://www.cs.cmu.edu/~15451/
The 2013 course looks pretty complete:
https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15451-f13/www/ https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15451-f...
Next steps:
Since you are interested in VR, etc, you should probably look into the Computer Graphics courses. Note that the undergrad and grad courses are combined; the only difference is the expectations:
15-462: Computer Graphics
http://15462.courses.cs.cmu.edu/fall2020/ http://15462.courses.cs.cmu.edu/fall2020/
Exam problems and solutions are gold: http://15462.courses.cs.cmu.edu/fall2020content/exams/finals/ http://15462.courses.cs.cmu.edu/fall2020content/exams/finals...
15-463: Computational Photography
http://graphics.cs.cmu.edu/courses/15-463/ http://graphics.cs.cmu.edu/courses/15-463/
15-464: Technical Animation
http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/syllabus.html http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/syllabus...
http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/assignments/miniProject1.htm http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/assignme...
Hope this helps. Good luck!