# Computer Science - Extra Resources ## Courses - [Introduction to Computer Science](#introduction-to-computer-science) - [Math (Mathematical Thinking)](#math-mathematical-thinking) - [Program Design](#program-design) - [Math (Discrete Math)](#math-discrete-math) - [Algorithms](#algorithms) - [Programming Paradigms](#programming-paradigms) - [Software Testing](#software-testing) - [Math (Calculus)](#math-calculus) - [Software Architecture](#software-architecture) - [Theory](#theory) - [Software Engineering](#software-engineering) - [Math (Probability)](#math-probability) - [Computer Architecture](#computer-architecture) - [Operating Systems](#operating-systems) - [Computer Networks](#computer-networks) - [Databases](#databases) - [Cloud Computing](#cloud-computing) - [Math (Linear Algebra)](#math-linear-algebra) - [Cryptography](#cryptography) - [Security](#security) - [Compilers](#compilers) - [Parallel Computing](#parallel-computing) - [UX Design](#ux-design) - [Computer Graphics](#computer-graphics) - [Artificial Intelligence](#artificial-intelligence) - [Machine Learning](#machine-learning) - [Natural Language Processing](#natural-language-processing) - [Big Data](#big-data) - [Data Mining](#data-mining) - [Internet of Things](#internet-of-things) --- ### Introduction to Computer Science Courses | Duration | Effort :-- | :--: | :--: [Introduction to Computer Science](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#!)| 12 weeks | 10-20 hours/week [Introduction to Computational Thinking and Data Science](https://www.edx.org/course/introduction-computational-thinking-data-mitx-6-00-2x-2#!)| 10 weeks | 15 hours/week ### Math (Mathematical Thinking) ### Program Design ### Math (Discrete Math) ### Algorithms Courses | Duration | Effort :-- | :--: | :--: [Analysis of Algorithms](https://www.coursera.org/course/aofa)| 6 weeks | 6-8 hours/week ### Programming Paradigms Courses | Duration | Effort :-- | :--: | :--: [Principles of Reactive Programming](https://www.coursera.org/course/reactive)| 7 weeks | 5-7 hours/week ### Software Testing ### Math (Calculus) Courses | Duration | Effort :-- | :--: | :--: [Multivariable Calculus](https://www.coursera.org/course/m2o2c2)| 6 weeks | 5-7 hours/week ### Software Architecture Courses | Duration | Effort :-- | :--: | :--: [Web Application Architectures](https://www.coursera.org/course/webapplications)| 6 weeks | 6-9 hours/week ### Theory ### Software Engineering Courses | Duration | Effort :-- | :--: | :--: [Agile Development Using Ruby on Rails - Basics](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-1x)| 9 weeks | 12 hours/week [Agile Development Using Ruby on Rails - Advanced](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-2x)| 8 weeks | 12 hours/week [Startup Engineering](https://www.coursera.org/course/startup) | 12 weeks | 2-20 hours/week ### Math (Probability) ### Computer Architecture Courses | Duration | Effort :-- | :--: | :--: [The Hardware/Software Interface](https://www.coursera.org/course/hwswinterface)| 8 weeks | 10-15 hours/week ### Operating Systems Courses | Duration | Effort :-- | :--: | :--: [Operating System Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/)| - | - ### Computer Networks Courses | Duration | Effort :-- | :--: | :--: [Introduction to Computer Networking](https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about) | - | 5-10 hours/week ### Databases ### Cloud Computing ### Math (Linear Algebra) ### Cryptography Courses | Duration | Effort :-- | :--: | :--: [Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387)| 8 weeks | 6 hours/week ### Security ### Compilers ### Parallel Computing ### UX Design ### Computer Graphics ### Artificial Intelligence ### Machine Learning ### Natural Language Processing ### Big Data ### Data Mining ### Internet of Things