Path to a free self-taught education in Computer Science!
Go to file
2015-10-04 00:21:01 -03:00
students Remove course 2015-10-03 23:02:48 -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 Remove columns 2015-10-04 00:21:01 -03:00

open source society university

🎓 Path to a free self-taught graduation in Computer Science!

Contents

About

This is a solid path for you that want to graduate in a Computer Science course in your own time, for free, with courses from the best universities of the World.

Here we will try to choose a maximum of 3 courses for each category. Futurely, more categories and/or courses can be added to this list or in a more advanced 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.

Becoming an OSS student

Your registration for this graduation course will be effectuated after you create your profile in our students folder.

"How can I do this?"

Just fork this repository and create a markdown file named with your GitHub username. Its that simple.

Use the model below to create your own file:

# Student Profile

- **Name**: YOUR NAME
- **GitHub**: [@your_username]()
- **Twitter**: [@your_username]()
- **Linkedin**: [link]()
- **Website**: [yourblog.com]()

# Completed Courses

**Name of the Section**

Course|Files
:--|:--:
Course Name| [link]()

ps: In the Completed Courses section, you should link your repository that contain the files that you created in the respective course.

"Why should I do this?"

Making a public commitment, we have much more chances to succeed in our graduation, know better our fellows and share the things that we have done.

For those reasons we are using that strategy.


Topics


Introduction

Course Duration
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
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
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
Software Testing 4 weeks
Software Debugging 8 weeks

Math

Course Duration
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
Algorithms, Part I 6 weeks
Algorithms, Part II 6 weeks
Analysis of Algorithms 6 weeks

Software Architecture

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

Software Engineering

Course Duration
Engineering Software as a Service (SaaS), Part 1 9 weeks
Engineering Software as a Service (Saas), Part 2 8 weeks
Software Product Management Specialization -

Operating Systems

Course Duration
Operating System Engineering -
Operating Systems and System Programming -

Computer Networks

Course Duration
Computer Networks 412 hours/we
Software Defined Networking 7-10 hours/we

Databases

Course Duration
Introduction to Databases -
Database Design 9 hours
Database Management Essentials weeks

Cloud Computing

Course Duration
Introduction to Cloud Computing 4 weeks
Cloud Computing Specialization -

Cryptography

Course Duration
Cryptography I 6 weeks
Cryptography II 6 weeks
Applied Cryptography 8 weeks

Compilers

Course Duration
Compilers 11 weeks

UX Design

Course Duration
Interaction Design Specialization -
UX Design for Mobile Developers 6 weeks

Artificial Intelligence

Course Duration
Artificial Intelligence 12 weeks

Machine Learning

Course Duration
Practical Machine Learning 4 weeks
Machine Learning 11 weeks
Neural Networks for Machine Learning 8 weeks

Natural Language Processing

Course Duration
Natural Language Processing 10 weeks
Natural Language Processing 10 weeks

Internet of Things

Course Duration
An Introduction to Programming the Internet of Things Specialization -
Internet of Things Specialization -

Big Data

Course Duration
Big Data Specialization -

Data Mining

Course Duration
Data Mining specialization -

Next Goals

References