1

Step 1

Intro CS: Python for Everybody

2

Step 2

Intro CS: Introduction to Computer Science and Programming using Python

3

Step 3

Core CS

4

Step 4

Core CS: Core programming: How to Code - Simple Data

5

Step 5

Core CS: Core programming: How to Code - Complex Data

6

Step 6

Core CS: Core programming: Programming Languages, Part A

7

Step 7

Core CS: Core programming: Programming Languages, Part B

8

Step 8

Core CS: Core programming: Programming Languages, Part C

9

Step 9

Core CS: Core programming: Object-Oriented Design

10

Step 10

Core CS: Core programming: Design Patterns

11

Step 11

Core CS: Core programming: Software Architecture

12

Step 12

Core CS: Core math: Calculus 1A: Differentiation

13

Step 13

Core CS: Core math: Calculus 1B: Integration

14

Step 14

Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

15

Step 15

Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

16

Step 16

Core CS: Core math: Calculus 1C: Mathematics for Computer Science

17

Step 17

Core CS: Core tools: The Missing Semester of Your CS Education

18

Step 18

Core CS: Core systems: Build a Modern Computer from First Principles: From Nand to Tetris

19

Step 19

Core CS: Core systems: Build a Modern Computer from First Principles: Nand to Tetris Part II

20

Step 20

Core CS: Core systems: Operating Systems: Three Easy Pieces

21

Step 21

Core CS: Core systems: Computer Networking: a Top-Down Approach

22

Step 22

Core CS: Core theory: Divide and Conquer, Sorting and Searching, and Randomized Algorithms

23

Step 23

Core CS: Core theory: Graph Search, Shortest Paths, and Data Structures

24

Step 24

Core CS: Core theory: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

25

Step 25

Core CS: Core theory: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

26

Step 26

Core CS: Core Security

27

Step 27

Core CS: Core Security

28

Step 28

Core CS: Core Security

29

Step 29

Core CS: Core Security

30

Step 30

Core CS: Core Security

31

Step 31

Core CS: Core Application

32

Step 32

Core CS: Core Application

33

Step 33

Core CS: Core Application

34

Step 34

Core CS: Core Application

35

Step 35

Core CS: Core Application

36

Step 36

Core CS: Core Application

37

Step 37

Core CS: Core Ethics

38

Step 38

Core CS: Core Ethics

39

Step 39

Core CS: Core Ethics

40

Step 40

Advanced CS

41

Step 41

Advanced CS: Advanced programming

42

Step 42

Advanced CS: Advanced programming

43

Step 43

Advanced CS: Advanced programming

44

Step 44

Advanced CS: Advanced programming

45

Step 45

Advanced CS: Advanced programming

46

Step 46

Advanced CS: Advanced systems

47

Step 47

Advanced CS: Advanced systems

48

Step 48

Advanced CS: Advanced systems

49

Step 49

Advanced CS: Advanced theory

50

Step 50

Advanced CS: Advanced theory

51

Step 51

Advanced CS: Advanced theory

52

Step 52

Advanced CS: Advanced math

53

Step 53

Advanced CS: Advanced math

54

Step 54

Advanced CS: Advanced math

55

Step 55

Advanced CS: Advanced math

56

Step 56

Advanced CS: Advanced math

57

Step 57

Final project

58

Step 58

Final project

59

Step 59

Final project

60

Step 60

Final project

61

Step 61

Final project

62

Step 62

Final project

63

Step 63

Final project

64

Step 64

Final project

65

Step 65

Final project

1

Step 1

Intro CS: Python for Everybody

2

Step 2

Intro CS: Introduction to Computer Science and Programming using Python

3

Step 3

Core CS

4

Step 4

Core CS: Core programming: How to Code - Simple Data

5

Step 5

Core CS: Core programming: How to Code - Complex Data

6

Step 6

Core CS: Core programming: Programming Languages, Part A

7

Step 7

Core CS: Core programming: Programming Languages, Part B

8

Step 8

Core CS: Core programming: Programming Languages, Part C

9

Step 9

Core CS: Core programming: Object-Oriented Design

10

Step 10

Core CS: Core programming: Design Patterns

11

Step 11

Core CS: Core programming: Software Architecture

12

Step 12

Core CS: Core math: Calculus 1A: Differentiation

13

Step 13

Core CS: Core math: Calculus 1B: Integration

14

Step 14

Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

15

Step 15

Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

16

Step 16

Core CS: Core math: Calculus 1C: Mathematics for Computer Science

17

Step 17

Core CS: Core tools: The Missing Semester of Your CS Education

18

Step 18

Core CS: Core systems: Build a Modern Computer from First Principles: From Nand to Tetris

19

Step 19

Core CS: Core systems: Build a Modern Computer from First Principles: Nand to Tetris Part II

20

Step 20

Core CS: Core systems: Operating Systems: Three Easy Pieces

21

Step 21

Core CS: Core systems: Computer Networking: a Top-Down Approach

22

Step 22

Core CS: Core theory: Divide and Conquer, Sorting and Searching, and Randomized Algorithms

23

Step 23

Core CS: Core theory: Graph Search, Shortest Paths, and Data Structures

24

Step 24

Core CS: Core theory: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

25

Step 25

Core CS: Core theory: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

26

Step 26

Core CS: Core Security

27

Step 27

Core CS: Core Security

28

Step 28

Core CS: Core Security

29

Step 29

Core CS: Core Security

30

Step 30

Core CS: Core Security

31

Step 31

Core CS: Core Application

32

Step 32

Core CS: Core Application

33

Step 33

Core CS: Core Application

34

Step 34

Core CS: Core Application

35

Step 35

Core CS: Core Application

36

Step 36

Core CS: Core Application

37

Step 37

Core CS: Core Ethics

38

Step 38

Core CS: Core Ethics

39

Step 39

Core CS: Core Ethics

40

Step 40

Advanced CS

41

Step 41

Advanced CS: Advanced programming

42

Step 42

Advanced CS: Advanced programming

43

Step 43

Advanced CS: Advanced programming

44

Step 44

Advanced CS: Advanced programming

45

Step 45

Advanced CS: Advanced programming

46

Step 46

Advanced CS: Advanced systems

47

Step 47

Advanced CS: Advanced systems

48

Step 48

Advanced CS: Advanced systems

49

Step 49

Advanced CS: Advanced theory

50

Step 50

Advanced CS: Advanced theory

51

Step 51

Advanced CS: Advanced theory

52

Step 52

Advanced CS: Advanced math

53

Step 53

Advanced CS: Advanced math

54

Step 54

Advanced CS: Advanced math

55

Step 55

Advanced CS: Advanced math

56

Step 56

Advanced CS: Advanced math

57

Step 57

Final project

58

Step 58

Final project

59

Step 59

Final project

60

Step 60

Final project

61

Step 61

Final project

62

Step 62

Final project

63

Step 63

Final project

64

Step 64

Final project

65

Step 65

Final project

26 January 2022 31 December 2026

0 2


years
before completion

Goal abandoned

The author does not write in the goal 2 years 9 months 21 days

Goal author

Career & Work

Open Source Society University

Main link - https://github.com/ossu/computer-science

Extra courses - https://github.com/ossu/computer-science/blob/master/extras/courses.md

Extra readings - https://github.com/ossu/computer-science/blob/master/extras/readings.md

The OSSU curriculum is a complete education in computer science using online materials. It's not merely for career training or professional development. It's for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines, and for those who have the discipline, will, and (most importantly!) good habits to obtain this education largely on their own, but with support from a worldwide community of fellow learners.

It is designed according to the degree requirements of undergraduate computer science majors, minus general education (non-CS) requirements, as it is assumed most of the people following this curriculum are already educated outside the field of CS. The courses themselves are among the very best in the world, often coming from Harvard, Princeton, MIT, etc., but specifically chosen to meet the following criteria.

  1. Intro CS: Python for Everybody

  2. Intro CS: Introduction to Computer Science and Programming using Python

  3. Core CS

  4. Core CS: Core programming: How to Code - Simple Data

  5. Core CS: Core programming: How to Code - Complex Data

  6. Core CS: Core programming: Programming Languages, Part A

  7. Core CS: Core programming: Programming Languages, Part B

  8. Core CS: Core programming: Programming Languages, Part C

  9. Core CS: Core programming: Object-Oriented Design

  10. Core CS: Core programming: Design Patterns

  11. Core CS: Core programming: Software Architecture

  12. Core CS: Core math: Calculus 1A: Differentiation

  13. Core CS: Core math: Calculus 1B: Integration

  14. Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

  15. Core CS: Core math: Calculus 1C: Coordinate Systems & Infinite Series

  16. Core CS: Core math: Calculus 1C: Mathematics for Computer Science

  17. Core CS: Core tools: The Missing Semester of Your CS Education

  18. Core CS: Core systems: Build a Modern Computer from First Principles: From Nand to Tetris

  19. Core CS: Core systems: Build a Modern Computer from First Principles: Nand to Tetris Part II

  20. Core CS: Core systems: Operating Systems: Three Easy Pieces

  21. Core CS: Core systems: Computer Networking: a Top-Down Approach

  22. Core CS: Core theory: Divide and Conquer, Sorting and Searching, and Randomized Algorithms

  23. Core CS: Core theory: Graph Search, Shortest Paths, and Data Structures

  24. Core CS: Core theory: Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming

  25. Core CS: Core theory: Shortest Paths Revisited, NP-Complete Problems and What To Do About Them

  26. Core CS: Core Security

  27. Core CS: Core Security

  28. Core CS: Core Security

  29. Core CS: Core Security

  30. Core CS: Core Security

  31. Core CS: Core Application

  32. Core CS: Core Application

  33. Core CS: Core Application

  34. Core CS: Core Application

  35. Core CS: Core Application

  36. Core CS: Core Application

  37. Core CS: Core Ethics

  38. Core CS: Core Ethics

  39. Core CS: Core Ethics

  40. Advanced CS

    • Advanced CS assumes the student has already taken the entirety of Core CS and is knowledgeable enough now to decide which electives to take.
    • Note that Advanced systems assumes the student has taken a basic physics course (e.g. AP Physics in high school).
  41. Advanced CS: Advanced programming

  42. Advanced CS: Advanced programming

  43. Advanced CS: Advanced programming

  44. Advanced CS: Advanced programming

  45. Advanced CS: Advanced programming

  46. Advanced CS: Advanced systems

  47. Advanced CS: Advanced systems

  48. Advanced CS: Advanced systems

  49. Advanced CS: Advanced theory

  50. Advanced CS: Advanced theory

  51. Advanced CS: Advanced theory

  52. Advanced CS: Advanced math

  53. Advanced CS: Advanced math

  54. Advanced CS: Advanced math

  55. Advanced CS: Advanced math

  56. Advanced CS: Advanced math

  57. Final project

  58. Final project

  59. Final project

  60. Final project

  61. Final project

  62. Final project

  63. Final project

  64. Final project

  65. Final project

  • 740
  • 26 January 2022, 18:58
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?