Experimental CS Curriculum for Mete
Published:
Work in progress
Background (July 2024)
- Basic C++ knowledge with STL (no pointers or OOP)
- Basic problem solving and algorithms
Logistics
The sections must be completed sequentially, but the courses within them can be taken simultaneously. If a course has a star (*) in its name, then you don’t have to fully complete it before starting the next section, but be sure to complete it by the end of the next section.
Each section will have a category in the discord server and each class will have a text channel. Once you commit to starting a course, deadlines will be set for the course, and by those deadlines a proof of completion must be submitted (for lectures, it might be a summary text or notes taken, and for assignmentsit might be a PDF, link to code, screenshot, etc.).
Section 1
Objectives
- Exploring the CS field
- Getting used to online course formats
- Learning about basic programming principles
Courses
CS50x
https://cs50.harvard.edu/x/2024/ Teaches basic programming ideas and looks into multiple aspects of programming. Good for exploration. Estimated completion: 4 weeks. For each week, must submit a summary of notes and insights. For each problemset, must submit to both CS50x and to me with source code and other materials.
6.145
https://hz.mit.edu/catsoop/6.145/ Teaches basic Python. Estimated completion: 1 week. Must submit proof of completion of the work.
CS50p
https://cs50.harvard.edu/python/2022/ While 6.145 is a good intro to Python, CS50p goes a bit more in-depth and also provides problemsets. Estimated completion: 2 weeks. For each week, must submit a summary of notes and insights. For each problemset, must submit to both CS50x and to me with source code and other materials.
6.042 (*)
https://openlearninglibrary.mit.edu/courses/course-v1:OCW+6.042J+2T2019/about Math for CS is needed to step further in understanding CS concepts. Estimated completion: 2 months. For each lecture, must take brief notes (handwritten or typed), and for each problemset, must submit a typset (LaTeX or Typst) PDF of work to me.
Section 2
TBD. 6.009, 6.006, calculus/lin alg, JavaScript/TypeScript.
Section 3
TBD. 6.031, 6.046, 6.004, 6.036, probability.
Section 4
TBD. 18.404, OS, performance engineering
Section 5
TBD. compiler project, web project.