![open source society university](http://i.imgur.com/h8xjrrj.png) ## References - [MIT Open Courseware](http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science) - [Google - Guide for Technical Development](https://www.google.com/about/careers/students/guide-to-technical-development.html) - [Coursera](https://www.coursera.org/) - [edX](https://www.edx.org) - [How can I prepare myself to be a software engineer?](http://qr.ae/fMbg8) ## Method Here we'll try to choose a maximum of **3** courses by category. After finished all courses, more categories and/or courses will be added to this list. Initially, we will also give preference for MOOC (Massive Open Online Course) type of courses because those courses were created with our style of learning in mind. ## Tips If you want to follow this path, [here](https://github.com/ericdouglas/computer-science-and-engineering/issues/1) are some tips! Share your tips with us too! ## Topics - [Introduction](#introduction) - [Program Design](#program-design) - [Programming Paradigms](#programming-paradigms) - [Software Testing](#software-testing) - [Software Architectures](#software-architecture) - [Software Engineering](#software-engineering) - [Math](#math) - [Operating Systems](#operating-systems) - [Networks](#networks) - [Cloud Computing](#cloud-computing) - [Databases](#databases) - [Cryptography](#cryptography) - [Compilers](#compilers) - [Artificial Intelligence](#artificial-intelligence) - [Machine Learning](#machine-learning) - [Natural Language Processing](#natural-language-processing) - [Robotics](#robotics) - [Graphs](#graphs) - [Data Mining](#data-mining) - [Programming Languages](#programming-languages) Course|Duration|Files|Status :--|:--:|:--:|:--: | weeks|[⎙]()| - | weeks|[⎙]()| - | weeks|[⎙]()| - ### Introduction Course|Duration|Files|Status :--|:--:|:--:|:--: [Introduction to Computer Science](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#!)| 9 ~ 15 weeks|[⎙]()| - [Introduction to Computer Science and Programming Using Python](https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-5#!)| 9 weeks|[⎙]()| - [Introduction to Computational Thinking and Data Science](https://www.edx.org/course/introduction-computational-thinking-data-mitx-6-00-2x-2#!)| 10 weeks|[⎙]()| - ### Program Design Course|Duration|Files|Status :--|:--:|:--:|:--: [Systematic Program Design- Part 1: The Core Method](https://www.edx.org/course/systematic-program-design-part-1-core-ubcx-spd1x-0)| 5 weeks|[⎙]()| - [Systematic Program Design- Part 2: Arbitrary Sized Data](https://www.edx.org/course/systematic-program-design-part-2-ubcx-spd2x)| 5 weeks|[⎙]()| - [Systematic Program Design- Part 3: Abstraction, Search and Graphs](https://www.edx.org/course/systematic-program-design-part-3-ubcx-spd3x)| 5 weeks|[⎙]()| - ### Programming Paradigms Course|Duration|Files|Status :--|:--:|:--:|:--: [Introduction to Functional Programming](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0#ct-read-review-widget)| 7 weeks|[⎙]()| - [Principles of Reactive Programming](https://www.coursera.org/course/reactive)| 7 weeks|[⎙]()| - [Programming Languages](https://www.coursera.org/course/proglang)| 8-16 hours/week |[⎙]()| - [Functional Programming Principles in Scala](https://www.coursera.org/course/progfun)| 7 weeks|[⎙]()| - ### Software Testing 1. [Software Testing](https://www.udacity.com/course/software-testing--cs258) - [⎙]() 1. [Software Debugging](https://www.udacity.com/course/software-debugging--cs259) - [⎙]() ### Math 1. [Mathematics for Computer Science](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/) - [⎙]() 1. [Introduction to Logic](https://www.coursera.org/course/intrologic) - [⎙]() 1. [Linear Algebra](http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/) - [⎙]() 1. [Coding the Matrix: Linear Algebra through Computer Science Applications](https://www.coursera.org/course/matrix) - [⎙]() 1. [Calculus One](https://www.coursera.org/learn/calculus1) - [⎙]() 1. [Calculus Two](https://www.coursera.org/learn/advanced-calculus) - [⎙]() 1. [Linear and Discrete Optimization](https://www.coursera.org/course/linearopt) - [⎙]() 1. [Probabilistic Graphical Models](https://www.coursera.org/course/pgm) - [⎙]() 1. [Game Theory](https://www.coursera.org/course/gametheory) - [⎙]() 1. [Statistics One](https://www.coursera.org/course/stats1) - [⎙]() 1. [AP Statistics](http://stattrek.com/tutorials/ap-statistics-tutorial.aspx) - [⎙]() ### Operating Systems 1. [Operating System Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/) - [⎙]() 1. [Operating Systems and System Programming](https://www.youtube.com/watch?v=XgQo4JkN4Bw&list=PL3289DD0D0F0CD4A3) - [⎙]() ### Networks 1. [Networks](http://ocw.mit.edu/courses/economics/14-15j-networks-fall-2009/) - [⎙]() 1. [Network and Computer Security](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-857-network-and-computer-security-spring-2014/) - [⎙]() 1. [Network Optimization](http://ocw.mit.edu/courses/sloan-school-of-management/15-082j-network-optimization-fall-2010/) - [⎙]() ### Databases 1. [Database Systems](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/) - [⎙]() 1. [Database, Internet, and Systems Integration Technologies](http://ocw.mit.edu/courses/civil-and-environmental-engineering/1-264j-database-internet-and-systems-integration-technologies-fall-2013/) - [⎙]() ### Cryptography 1. [Cryptography I](https://www.coursera.org/course/crypto) - [⎙]() 1. [Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387) - [⎙]() ### Compilers 1. [Compilers](https://www.coursera.org/course/compilers) - [⎙]() ### Artificial Intelligence 1. [Artificial Intelligence](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/) - [⎙]() ### Machine Learning 1. [Practical Machine Learning](https://www.coursera.org/course/predmachlearn) - [⎙]() 1. [Machine Learning](https://www.coursera.org/learn/machine-learning) - [⎙]() 1. [Neural Networks for Machine Learning](https://www.coursera.org/course/neuralnets) - [⎙]() ### Natural Language Processing 1. [Natural Language Processing](https://www.coursera.org/course/nlangp) - [⎙]() 1. [Natural Language Processing](https://www.coursera.org/course/nlp) - [⎙]() ### Robotics ### Graphs ### Data Mining 1. [Data Mining](https://www.coursera.org/specialization/datamining/20?utm_medium=catalog) - [⎙]() ### Parallel Programming 1. [Parallel Computing](http://ocw.mit.edu/courses/mathematics/18-337j-parallel-computing-fall-2011/) - [⎙]() 1. [Heterogeneous Parallel Programming](https://www.coursera.org/course/hetero) - [⎙]() ### Programming Languages 1. [Practical Programming in C](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-practical-programming-in-c-january-iap-2010/) - [⎙]() 1. [Introduction to C Memory Management and C++ Object-Oriented Programming](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-088-introduction-to-c-memory-management-and-c-object-oriented-programming-january-iap-2010/) - [⎙]() 1. [Effective Programming in C and C++](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-effective-programming-in-c-and-c-january-iap-2014/) - [⎙]() ### Others 1. [Introduction to Functional Programming](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x#!) 1. [Engineering Software as a Service](https://www.edx.org/course/engineering-software-service-uc-berkeleyx-cs169-1x) 1. [Engineering Software as a Service, Part 2](https://www.edx.org/course/engineering-software-service-part-2-uc-berkeleyx-cs169-2x#!) 1. [Automata, Computability, and Complexity](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-045j-automata-computability-and-complexity-spring-2011/) - [⎙]() 1. [Computational Biology: Genomes, Networks, Evolution](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-047-computational-biology-genomes-networks-evolution-fall-2008/) - [⎙]() 1. [Creating Video Games](http://ocw.mit.edu/courses/comparative-media-studies-writing/cms-611j-creating-video-games-fall-2013/) - [⎙]() 1. [Computer Graphics](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2012/) - [⎙]() 1. [User Interface Design and Implementation](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-831-user-interface-design-and-implementation-spring-2011/) - [⎙]() 1. [Making Sense of Data](https://datasense.withgoogle.com/course) - [⎙]() 1. [Data Science](https://www.coursera.org/specialization/jhudatascience/1?utm_medium=courseDescripTop) - [⎙]()