![open source society university](http://i.imgur.com/h8xjrrj.png) :mortar_board: **Path to a free self-taught graduation in Computer Science!** ## Contents - [About](#about) - [Becoming an OSS student](#becoming-an-oss-student) - [Topics](#topics) - [Next Goals](#next-goals) - [References](#references) ## 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](/students) folder. > **"How can I do this?"** Just fork this repository and create a markdown file named with your **GitHub username**. It’s 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](http://renewablewealth.com/articles/the-power-of-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](#introduction) - [Program Design](#program-design) - [Programming Paradigms](#programming-paradigms) - [Software Testing](#software-testing) - [Math](#math) - [Algorithms](#algorithms) - [Software Architecture](#software-architecture) - [Software Engineering](#software-engineering) - [Operating Systems](#operating-systems) - [Computer Networks](#computer-networks) - [Databases](#databases) - [Cloud Computing](#cloud-computing) - [Cryptography](#cryptography) - [Compilers](#compilers) - [UX Design](#ux-design) - [Artificial Intelligence](#artificial-intelligence) - [Machine Learning](#machine-learning) - [Natural Language Processing](#natural-language-processing) - [Internet of Things](#internet-of-things) - [Big Data](#big-data) - [Data Mining](#data-mining) --- ### Introduction Course|Duration :--|:--: [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 :--|:--: [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 :--|:--: [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 Course|Duration :--|:--: [Software Testing](https://www.udacity.com/course/software-testing--cs258)| 4 weeks [Software Debugging](https://www.udacity.com/course/software-debugging--cs259)| 8 weeks ### Math Course|Duration :--|:--: [Effective Thinking Through Mathematics](https://www.edx.org/course/effective-thinking-through-mathematics-utaustinx-ut-9-01x)| 9 weeks [Applications of Linear Algebra Part 1](https://www.edx.org/course/applications-linear-algebra-part-1-davidsonx-d003x-1#ct-read-review-widget)| 5 weeks [Applications of Linear Algebra Part 2](https://www.edx.org/course/applications-linear-algebra-part-2-davidsonx-d003x-2)| 4 weeks [Linear and Discrete Optimization](https://www.coursera.org/course/linearopt)| 3-6 hours/week [Probabilistic Graphical Models](https://www.coursera.org/course/pgm)| 11 weeks [Game Theory](https://www.coursera.org/course/gametheory)| 9 weeks ### Algorithms Course|Duration :--|:--: [Algorithms, Part I](https://www.coursera.org/course/algs4partI)| 6 weeks [Algorithms, Part II](https://www.coursera.org/course/algs4partII)| 6 weeks [Analysis of Algorithms](https://www.coursera.org/course/aofa)| 6 weeks ### Software Architecture Course|Duration :--|:--: [Web Application Architectures](https://www.coursera.org/course/webapplications)| 6-9 hours/week [Microservice Architectures TODO]()| - ### Software Engineering Course|Duration :--|:--: [Engineering Software as a Service (SaaS), Part 1](https://www.edx.org/course/engineering-software-service-saas-part-1-uc-berkeleyx-cs169-1x)| 9 weeks [Engineering Software as a Service (Saas), Part 2](https://www.edx.org/course/engineering-software-service-saas-part-2-uc-berkeleyx-cs169-2x)| 8 weeks [Software Product Management Specialization](https://www.coursera.org/specializations/product-management)| - ### Operating Systems Course|Duration :--|:--: [Operating System Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2012/)| - [Operating Systems and System Programming](https://www.youtube.com/watch?v=XgQo4JkN4Bw&list=PL3289DD0D0F0CD4A3)| - ### Computer Networks Course|Duration :--|:--: [Computer Networks](https://www.coursera.org/course/comnetworks)| 4–12 hours/we [Software Defined Networking](https://www.coursera.org/course/sdn1)| 7-10 hours/we ### Databases Course|Duration :--|:--: [Introduction to Databases](https://www.coursera.org/course/db)| - [Database Design](https://www.udemy.com/database-design/#reviews)| 9 hours [Database Management Essentials](https://www.coursera.org/learn/database-management)| weeks ### Cloud Computing Course|Duration :--|:--: [Introduction to Cloud Computing](https://www.edx.org/course/introduction-cloud-computing-ieeex-cloudintro-x-0)| 4 weeks [Cloud Computing Specialization](https://www.coursera.org/specializations/cloudcomputing)| - ### Cryptography Course|Duration :--|:--: [Cryptography I](https://www.coursera.org/course/crypto)| 6 weeks [Cryptography II](https://www.coursera.org/course/crypto2)| 6 weeks [Applied Cryptography](https://www.udacity.com/course/applied-cryptography--cs387)| 8 weeks ### Compilers Course|Duration :--|:--: [Compilers](https://www.coursera.org/course/compilers)| 11 weeks ### UX Design Course|Duration :--|:--: [Interaction Design Specialization](https://www.coursera.org/specializations/interaction-design)| - [UX Design for Mobile Developers](https://www.udacity.com/course/ux-design-for-mobile-developers--ud849)| 6 weeks ### Artificial Intelligence Course|Duration :--|:--: [Artificial Intelligence](https://www.edx.org/course/artificial-intelligence-uc-berkeleyx-cs188-1x#!)| 12 weeks ### Machine Learning Course|Duration :--|:--: [Practical Machine Learning](https://www.coursera.org/course/predmachlearn)| 4 weeks [Machine Learning](https://www.coursera.org/learn/machine-learning)| 11 weeks [Neural Networks for Machine Learning](https://www.coursera.org/course/neuralnets)| 8 weeks ### Natural Language Processing Course|Duration :--|:--: [Natural Language Processing](https://www.coursera.org/course/nlangp)| 10 weeks [Natural Language Processing](https://www.coursera.org/course/nlp)| 10 weeks ### Internet of Things Course|Duration :--|:--: [An Introduction to Programming the Internet of Things Specialization](https://www.coursera.org/specializations/iot)| - [Internet of Things Specialization](https://www.coursera.org/specializations/internet-of-things)| - ### Big Data Course|Duration :--|:--: [Big Data Specialization](https://www.coursera.org/specializations/big-data)| - ### Data Mining Course|Duration :--|:--: [Data Mining specialization](https://www.coursera.org/specializations/datamining)| - ## Next Goals - [Adding our university page at Linkedin](https://help.linkedin.com/app/answers/detail/a_id/40128/~/adding-a-new-university-page), so in that way we will be able to add **OSS University** in our Linkedin profile. ## References - [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) - [MIT Open Courseware](http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science)