Path to a free self-taught education in Computer Science!
Go to file
2015-10-03 19:35:06 -03:00
computer-science Stanford Computer Science 101 - add link to statement 2015-06-28 21:47:25 -03:00
.gitignore Add first course folder - cs intro mit 2015-05-26 12:56:21 -03:00
OLD-README.md New structure 🎉 2015-10-03 16:33:25 -03:00
README.md Add Software Architecture section 2015-10-03 19:35:06 -03:00

open source society university

References

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 are some tips! Share your tips with us too!

Topics

Introduction

Course Duration Files Status
Introduction to Computer Science 9 ~ 15 weeks -
Introduction to Computer Science and Programming Using Python 9 weeks -
Introduction to Computational Thinking and Data Science 10 weeks -

Program Design

Course Duration Files Status
Systematic Program Design- Part 1: The Core Method 5 weeks -
Systematic Program Design- Part 2: Arbitrary Sized Data 5 weeks -
Systematic Program Design- Part 3: Abstraction, Search and Graphs 5 weeks -

Programming Paradigms

Course Duration Files Status
Introduction to Functional Programming 7 weeks -
Principles of Reactive Programming 7 weeks -
Programming Languages 8-16 hours/week -
Functional Programming Principles in Scala 7 weeks -

Software Testing

Course Duration Files Status
Software Testing 4 weeks -
Software Debugging 8 weeks -

Math

Course Duration Files Status
Effective Thinking Through Mathematics 9 weeks -
Applications of Linear Algebra Part 1 5 weeks -
Applications of Linear Algebra Part 2 4 weeks -
Linear and Discrete Optimization 3-6 hours/week -
Probabilistic Graphical Models 11 weeks -
Game Theory 9 weeks -

Algorithms

Course Duration Files Status
Algorithms, Part I 6 weeks -
Algorithms, Part II 6 weeks -
Analysis of Algorithms 6 weeks -

Software Architecture

Course Duration Files Status
Web Application Architectures 6-9 hours/week -
Microservice Architectures TODO weeks -

Operating Systems

  1. Operating System Engineering -
  2. Operating Systems and System Programming -

Networks

  1. Networks -
  2. Network and Computer Security -
  3. Network Optimization -

Databases

  1. Database Systems -
  2. Database, Internet, and Systems Integration Technologies -

Cryptography

  1. Cryptography I -
  2. Applied Cryptography -

Compilers

  1. Compilers -

Artificial Intelligence

  1. Artificial Intelligence -

Machine Learning

  1. Practical Machine Learning -
  2. Machine Learning -
  3. Neural Networks for Machine Learning -

Natural Language Processing

  1. Natural Language Processing -
  2. Natural Language Processing -

Internet of Things

Graphs

Data Mining

  1. Data Mining -

Parallel Programming

  1. Parallel Computing -
  2. Heterogeneous Parallel Programming -

Programming Languages

  1. Practical Programming in C -
  2. Introduction to C Memory Management and C++ Object-Oriented Programming -
  3. Effective Programming in C and C++ -

Others

  1. Introduction to Functional Programming
  2. Engineering Software as a Service
  3. Engineering Software as a Service, Part 2
  4. Automata, Computability, and Complexity -
  5. Computational Biology: Genomes, Networks, Evolution -
  6. Creating Video Games -
  7. Computer Graphics -
  8. User Interface Design and Implementation -
  9. Making Sense of Data -
  10. Data Science -