ossu / computer-science

🎓 Path to a free self-taught education in Computer Science!
MIT License
168.48k stars 21.34k forks source link

RFC: Replace 6.00.1x, PY4E, and CS50P for 6.100L Introduction to CS and Programming Using Python #1266

Open etherealcomity opened 3 weeks ago

etherealcomity commented 3 weeks ago

Problem:

Duration: 1 month

Background: 6.00.1x Introduction to Computer Science and Programming Using Python is the recommended course from OSSU. Recently, the course had a few problems such as not being able to do the finger exercises properly and, recently, the autograder for the problem sets does not work.

MIT recently released 6.100L Introduction to CS and Programming Using Python on OCW. It includes:

Advantages:

Disadvantages:

Proposal:

Alternatives:

waciumawanjohi commented 3 weeks ago

This looks like a plausible RFC. I am interested to hear how learners taking this course compare its pace to CS50P and PY4E.

From the 6.100L course syllabus:

This class is a full-semester version of 6.100A (formerly 6.0001 Introduction to Computer Science and Programming in Python). The material covered is the same, but the pace is slowed down. Our goal with this course is to give students who have never programmed the time to practice the concepts.

waciumawanjohi commented 3 weeks ago

@etherealcomity We've been in an evaluation state of the intro to programming courses for quite awhile. The course page welcomes students to take one of the two candidate courses and to provide feedback in the RFC. I would welcome a PR that updates that course page to offer this as an alternative. May need to do some wordsmithing to explain clearly the different options.

pulkitkrishna00 commented 3 weeks ago

I just watched the first few lectures of this course, and it seems very good to me. Good enough that we won't need Py4e/CS50P. Of course, that might be just because I have already done too many intro-CS courses, so we will need to wait for someone who is a beginner to actually find the truth.

6.100L might be a bit less organized than 6.00.1x, but the Calendar tab gives you the breakdown on what lectures the assignment covers and when the assignments are due.

We had the OCW version of 6.0001 earlier, and I don't think there were much confusion, and 6.100L is much more organized than that. It has the materials sorted out by lectures.

@waciumawanjohi Actually, I had a different but similar idea. Let's just remove CS50P, Py4E and 6.00.1x, add this course, and create a course page explaining that if people find it too difficult, they can do Py4E or CS50P or the Georgia Tech Intro Python course from the extra courses list to get an even gentler introduction, and comment on this RFC stating that they faced problem. If they can do it without any difficulty, then also comment on this RFC. Based on the feedback, we can then decide whether to remove the mention of the extra courses. Even just keeping it like that (without asking to comment on this RFC) seems reasonable to me.

waciumawanjohi commented 3 weeks ago

Let's just remove CS50P, Py4E and 6.00.1x, add this course, and create a course page explaining that if people find it too difficult, they can do Py4E or CS50P or the Georgia Tech Intro Python course from the extra courses list to get an even gentler introduction, and comment on this RFC stating that they faced problem. If they can do it without any difficulty, then also comment on this RFC.

I would be comfortable making that switch in a month when the RFC period expires, assuming no great objections to this RFC.

Abdul-Moiz24 commented 2 weeks ago

Well I don't object to the RFC but I personally believe that archived version of MITx 6.00.1x too should still at least be available as a supplement. It's finger exercises are combinations of short programs, conceptual short questions and mcqs which are better aimed at building important concepts. Yeah a minor difference but at least I would consider it important. As I have worked across both simultaneously.