mirror of
https://github.com/ossu/computer-science.git
synced 2024-10-01 01:26:01 -04:00
69c68191fc
These courses are important resources for people preparing for programming competitions or interview questions
181 lines
8.0 KiB
Markdown
181 lines
8.0 KiB
Markdown
# 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 (Udacity)](https://www.udacity.com/course/intro-to-computer-science--cs101)| 7 weeks | 10-20 hours/week
|
|
[Introduction to Computer Science](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#!)| 12 weeks | 10-20 hours/week
|
|
[An Introduction to Interactive Programming in Python (Part 1)](https://www.coursera.org/learn/interactive-python-1)| 5 weeks | -
|
|
[An Introduction to Interactive Programming in Python (Part 2)](https://www.coursera.org/learn/interactive-python-2)| - | -
|
|
[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
|
|
[Introduction to Programming with Java Part 1: Starting to Code with Java](https://prod-edx-mktg-edit.edx.org/course/introduction-programming-java-part-1-uc3mx-it-1-1x-0)| 5 weeks | 5-7 hours/week
|
|
[Introduction to Programming with Java Part 2: Writing Good Code](https://prod-edx-mktg-edit.edx.org/course/introduction-programming-java-part-2-uc3mx-it-1-2x)| 5 weeks | 5-7 hours/week
|
|
[CS For All: Introduction to Computer Science and Python Programming](https://www.edx.org/course/cs-all-introduction-computer-science-harveymuddx-cs005x-0)| 14 weeks | 5-7 hours/week
|
|
[Programming Basics](https://www.edx.org/course/programming-basics-iitbombayx-cs101-1x)| 9 weeks | 8 hours/week
|
|
[Introduction to Logic](https://www.coursera.org/course/intrologic)| 8 weeks | 4-10 hours/week
|
|
|
|
### Math (Mathematical Thinking)
|
|
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Introduction to Mathematical Thinking](https://www.coursera.org/course/maththink)| 10 weeks | 8-10 hours/week
|
|
|
|
### Program Design
|
|
|
|
### Math (Discrete Math)
|
|
|
|
### Algorithms
|
|
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Analysis of Algorithms (Skiena)](http://www3.cs.stonybrook.edu/~skiena/373/) | 15 weeks | 6-8 hours/week
|
|
[Analysis of Algorithms (Sedgewick)](https://www.coursera.org/course/aofa)| 6 weeks | 6-8 hours/week
|
|
[Programming Challenges (Skiena)](http://www3.cs.stonybrook.edu/~skiena/392/) | 14 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
|
|
[Object-Oriented Programming](https://www.edx.org/course/object-oriented-programming-iitbombayx-cs101-2x)| 4 weeks | 8 hours/week
|
|
[Introduction to Functional Programming](https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0)| 7 weeks | 4-6 hours/week
|
|
### Software Testing
|
|
|
|
### Math (Calculus)
|
|
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Pre-Calculus](https://www.coursera.org/course/precalculus)| 10 weeks | 10-12 hours/week
|
|
[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/)| - | -
|
|
[Introduction to Linux](https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-0)| 8 weeks | 5-8 hours/week
|
|
|
|
### 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)
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Linear Algebra - Foundations to Frontiers (LAFF)] (https://www.edx.org/course/linear-algebra-foundations-frontiers-utaustinx-ut-5-03x)| 15 weeks | 8 hours/week
|
|
|
|
### Cryptography
|
|
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387)| 8 weeks | 6 hours/week
|
|
[Cryptography](https://www.coursera.org/learn/cryptography/)| 7 weeks | 4-7 hours/week
|
|
### Security
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Usable Security](https://www.coursera.org/learn/usable-security/)| 7 weeks | 5-8 hours/week
|
|
[Software Security](https://www.coursera.org/learn/software-security/)| 6 weeks | 3-5 hours/week
|
|
[Cybersecurity and Its Ten Domains](https://www.coursera.org/learn/cyber-security-domain/)| 7 weeks | 4-7 hours/week
|
|
[Designing and Executing Information Security Strategies](https://www.coursera.org/course/infosec)| 10 weeks | 4-6 hours/week
|
|
### Compilers
|
|
|
|
### Parallel Computing
|
|
|
|
### UX Design
|
|
|
|
### Computer Graphics
|
|
|
|
### Artificial Intelligence
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Discrete Optimization](https://www.coursera.org/course/optimization)| 9 weeks | 10-20 hours/week
|
|
[Intro to Artificial Intelligence](https://www.udacity.com/course/intro-to-artificial-intelligence--cs271)| 16 weeks | 6-10 hours/week
|
|
|
|
### Machine Learning
|
|
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Intro to Machine Learning](https://www.udacity.com/course/intro-to-machine-learning--ud120)| 10 weeks | 6-10 hours/week
|
|
|
|
### Natural Language Processing
|
|
|
|
### Big Data
|
|
|
|
### Data Mining
|
|
|
|
### Internet of Things
|
|
Courses | Duration | Effort
|
|
:-- | :--: | :--:
|
|
[Introduction to the Internet of Things and Embedded Systems](https://www.coursera.org/learn/iot/?source=phoenixCdp2016AbTest)| 4 weeks | 1-3 hours/week
|
|
[Internet of Things: How did we get here?](https://www.coursera.org/learn/internet-of-things-history/)| 2 weeks | 2-3 hours/week
|
|
[Internet of Things: Setting Up Your DragonBoard™ Development Platform](https://www.coursera.org/learn/internet-of-things-dragonboard/)| 10 weeks | 2-3 hours/week
|
|
[Internet of Things: Sensing and Actuation From Devices](https://www.coursera.org/learn/internet-of-things-sensing-actuation)| 6 weeks | 3-5 hours/week
|
|
[Internet of Things: Communication Technologies](https://www.coursera.org/learn/internet-of-things-communication)| 4 weeks | 1 hours/week
|
|
[Internet of Things: MultimediaTechnologies](https://www.coursera.org/learn/internet-of-things-multimedia)| 3 weeks | 1-2 hours/week
|