ossu / computer-science

:mortar_board: Path to a free self-taught education in Computer Science!
MIT License
166.68k stars 21.06k forks source link

RFC: Encourage Students to Take Courses in Parallel #1139

Closed Choubs01 closed 9 months ago

Choubs01 commented 1 year ago

Problem: OSSU:CS tells students they "recommend working through courses (especially Core CS) in order from top to bottom." I believe there is benefit in providing the option of doing them in parallel.

Duration: 1 month? Not sure how RFC works.

Background: Well in general university students will do many courses in parallel, and I find I perform better when I do the same. Why not reflect that in OSSU:CS? Imagine doing nand2tetris all day everyday (as fun as it is, it does get tedious). There is benefit in adding variety and allowing students to alternate between courses. However, this should not be done early in the curriculum. I think a good point where one can evaluate themselves and know whether they should do courses in parallel is once they complete the HTC courses in core programming. At that point students could do PLABC and the rest of core programming in parallel with core math. At that point in the curriculum, students will have completed 4 courses (PY4E, MIT 6.00.1, HTCSD and HTCCD) and would now be well aware of their own abilities and can decide whether they want to continue taking the courses in order or parallel.

A personal example is that I was doing core systems alongside core programming (I had already done core math). I also had downloaded the ethics courses and did them in my downtime (e.g. during commute).

But students should bear in mind the deadlines for courses. For the most part I did courses on coursera in parallel, but doing that with Edx is not feasible with its deadlines. Of course, when doing courses in parallel, it takes longer to complete each course, so I make sure there are no deadlines / I am confident about meeting the deadlines.

Proposal: In the README of OSSU:CS, change 'proccess' dotpoint "For simplicity, we recommend working through courses (especially Core CS) in order from top to bottom, as they have already been topologically sorted by their prerequisites."

To something like:

"In Core CS, students are encouraged to do courses from top to bottom as they are topologically sorted by their prerequisites. However, once students reach the point of completing How to Code - Complex Data, students can choose to begin doing courses in parallel. For example they can choose to do the rest of core programming in parallel with core math. However, students should make sure they meet the prerequisites for courses and are aware and able to meet their corresponding deadlines. "

Alternatives: Do nothing.

bradleygrant commented 1 year ago

On the Discord server, we very frequently recommend that people start working through the math in parallel to the introductory courses. I hesitate making that a wide suggestion because some people take that as a directive, but I feel it could be worth mentioning.