Description
This is a path for those of you who want to complete the Data Science undergraduate curriculum on your own time, for free, with courses from the best universities in the World.
In our curriculum, we give preference to MOOC (Massive Open Online Course) style courses because these courses were created with our style of learning in mind.
Curricular Guideline
OSSU Data Science uses the report Curriculum Guidelines for Undergraduate Programs in Data Science as our guide for course recommendation.
How to use this guide
Duration
It is possible to finish within about 2 years if you plan carefully and devote roughly 20 hours/week to your studies. Learners can use this spreadsheet to estimate their end date. Make a copy and input your start date and expected hours per week in the Timeline
sheet. As you work through courses you can enter your actual course completion dates in the Curriculum Data sheet and get updated completion estimates.
Order of the classes
Some courses can be taken in parallel, while others must be taken sequentially. All of the courses within a topic should be taken in the order listed in the curriculum. The graph below demonstrates how topics should be ordered.
Which programming languages should I use?
Python and R are heavily used in Data Science community and our courses teach you both. Remember, the important thing for each course is to internalize the core concepts and to be able to use them with whatever tool (programming language) that you wish.
Prerequisites
The Data Science curriculum assumes the student has taken high school math and statistics.
Syllabus
Introduction to Data Science
Introduction to Computer Science
Students who already know basic programming in any language can skip this first course
- Introduction to programming
- Introduction to Computer Science and Programming Using Python
- Introduction to Computational Thinking and Data Science
Data Structures and Algorithms
The Algorithms courses are taught in Java. If students need to learn Java, they should take this course first
- Java Programming
- Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
- Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps
- Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms
- Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms
Databases
Single Variable Calculus
Linear Algebra
Multivariable Calculus
Statistics & Probability
Data Science Tools & Methods
Machine Learning/Data Mining
Final project
Part of learning is doing. The assignments and exams for each course are to prepare you to use your knowledge to solve real-world problems.
After you've completed the curriculum, you should identify a problem that you can solve using the knowledge you've acquired. You can create something entirely new, or you can improve some tool/program that you use and wish were better.
Students who would like more guidance in creating a project may choose to use a series of project oriented courses.
-
TypeRoadmaps
-
ProviderIndependent
-
PricingFree
-
CertificatePaid Certificate
This is a path for those of you who want to complete the Data Science undergraduate curriculum on your own time, for free, with courses from the best universities in the World.
In our curriculum, we give preference to MOOC (Massive Open Online Course) style courses because these courses were created with our style of learning in mind.
Curricular Guideline
OSSU Data Science uses the report Curriculum Guidelines for Undergraduate Programs in Data Science as our guide for course recommendation.
How to use this guide
Duration
It is possible to finish within about 2 years if you plan carefully and devote roughly 20 hours/week to your studies. Learners can use this spreadsheet to estimate their end date. Make a copy and input your start date and expected hours per week in the Timeline
sheet. As you work through courses you can enter your actual course completion dates in the Curriculum Data sheet and get updated completion estimates.
Order of the classes
Some courses can be taken in parallel, while others must be taken sequentially. All of the courses within a topic should be taken in the order listed in the curriculum. The graph below demonstrates how topics should be ordered.
Which programming languages should I use?
Python and R are heavily used in Data Science community and our courses teach you both. Remember, the important thing for each course is to internalize the core concepts and to be able to use them with whatever tool (programming language) that you wish.
Prerequisites
The Data Science curriculum assumes the student has taken high school math and statistics.
Introduction to Data Science
Introduction to Computer Science
Students who already know basic programming in any language can skip this first course
- Introduction to programming
- Introduction to Computer Science and Programming Using Python
- Introduction to Computational Thinking and Data Science
Data Structures and Algorithms
The Algorithms courses are taught in Java. If students need to learn Java, they should take this course first
- Java Programming
- Algorithms I: ArrayLists, LinkedLists, Stacks and Queues
- Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps
- Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms
- Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms
Databases
Single Variable Calculus
Linear Algebra
Multivariable Calculus
Statistics & Probability
Data Science Tools & Methods
Machine Learning/Data Mining
Final project
Part of learning is doing. The assignments and exams for each course are to prepare you to use your knowledge to solve real-world problems.
After you've completed the curriculum, you should identify a problem that you can solve using the knowledge you've acquired. You can create something entirely new, or you can improve some tool/program that you use and wish were better.
Students who would like more guidance in creating a project may choose to use a series of project oriented courses.