5 Software Development Courses You Must Follow Online
1. Algorithms, Part I & II
Kevin Wayne and Robert Sedgewick (Princeton University)
Learn the basics that every programmer needs to know about algorithms and data structures
2. Learn to Program: Crafting Quality Code
Jennifer Campbell and Paul Gries (University of Toronto)
Learn to write quality code that runs correctly and efficiently. Design, code and validate your software
3. Startup Engineering
Balaji S. Srinivasan and Vijay S. Pande
Learn the engineering skills needed to build a technology startup from the ground up.
4. Design of Computer Programs
Peter Norvig (Director of Research at Google)
Learn new concepts, patterns, and methods that will expand your programming abilities, helping move you from a novice to an expert programmer.
5.Pattern-Oriented Software Architectures for Concurrent and Networked Software
Douglas C. Schmidt (Vanderbilt University)
Learn how you can apply patterns, pattern languages, and frameworks to alleviate the complexity of developing concurrent and networked software.