翻译参考:http://blog.jobbole.com/79736/
- Introduction to CS Course
Notes: Introduction to Computer Science Course that provides instructions on coding.
Online Resources:
Udacity - intro to CS course,
Coursera - Computer Science 101
- Code in at least one object oriented programming language: C++, Java, or Python
Beginner Online Resources:
Coursera - Learn to Program: The Fundamentals,
MIT
Intro to Programming in Java,
Google's Python Class,
Coursera - Introduction to Python,
Python Open Source E-BookIntermediate Online Resources:
Udacity's Design of Computer Programs,
Coursera - Learn to Program: Crafting Quality Code,
Coursera - Programming Languages,
Brown University - Introduction to Programming Languages - Learn other Programming Languages
Notes: Add to your repertoire - Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme.
Online Resources: w3school.com - HTML Tutorial,
Learn to code - Test Your Code
Notes: Learn how to catch bugs, create tests, and break your software
Online Resources: Udacity - Software Testing Methods,
Udacity - Software Debugging - Develop logical reasoning and knowledge of discrete math
Online Resources:
MIT
Mathematics for Computer Science,
Coursera - Introduction to Logic,
Coursera - Linear and Discrete Optimization,
Coursera - Probabilistic Graphical Models,
Coursera - Game Theory. - Develop strong understanding of Algorithms and Data Structures
Notes: Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), and data structures (binary search trees, red-black trees, hash tables), Big O.
Online Resources:
MIT
Introduction to Algorithms,
Coursera - Introduction to Algorithms Part 1 &
Part 2,
Wikipedia - List of Algorithms,
Wikipedia - List of Data Structures,
Book: The
Algorithm Design Manual - Develop a strong knowledge of operating systems
Online Resources: UC Berkeley Computer Science 162 - Learn Artificial Intelligence Online Resources:
Stanford University - Introduction to Robotics,
Natural Language Processing,
Machine Learning - Learn how to build compilers
Online Resources: Coursera - Compilers - Learn cryptography
Online Resources: Coursera - Cryptography,
Udacity - Applied Cryptography - Learn Parallel Programming
Online Resources: Coursera - Heterogeneous Parallel Programming