I’ve compiled a list of resources for students who are just starting out in Computer Science and Software Engineering. Many of the courses/websites mentioned below are wonderful study aids, which should be taken alongside introductory Computer Science courses. If you’re like me and have classes that focus more on theory than the actual programming, then you’ll probably benefit from alternative learning hubs that offer more practical programming knowledge.
(I partially made this as a resource for myself. My bookmark bar was growing too long…)
This list is constantly growing and will never be finished.
~ FREE ~
A way for beginners to learn the key terms and basic syntax of a programming language one step at a time, complete with pretty compiler environments and shiny virtual badges. Note that most intermediate programmers consider this resource to be painfully basic. However, for a newcomer who needs to know syntax, Code Academy is a goldmine with its refresher practices and lists of important terms.
Luckily, there are no videos, only compilers and explanatory texts. This is how I learn best, so plus one for Code Academy.
[ Language: Java ]
I wouldn’t recommend Udemy as a whole due to its overpriced course selection and variation of teachers, but John Purcell is lovely to learn from. His ten-minute subject videos are great if you don’t understand a certain topic. I used his course to familiarize myself with concepts in plain speak without the Java jargon that I didn’t yet recognize.
[ Language: C++ ]
Another great course by Purcell, free.
~ SUBSCRIPTION REQUIRED ~
Treehouse costs $25 per month, though new users receive a two-week free trial. This website has a large library of courses related to the fields of software engineering and business. Treehouse is similar to Code Academy in that it presents users with motivational badges upon course completion, and it even goes a step further with its weekly leader board. I personally have a subscription. And it’s not just because I like badges.
Code Academy is the place to go for a textbook-esque summary page with important terms and definitions of the chapter (or, language). Treehouse is the website for someone interested in learning programming on a long-term basis.
Unfortunately, Treehouse utilizes videos to teach its users. Some of the teachers are just annoying. I don’t know why, but they are. This makes it hard to sit down for more than 45 minutes or so. I learn by reading words, not by watching some guy talk to me.
Costs $30 per month. Features extensive videos.