Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
etherealcomity opened this issue Aug 22, 2024 · 5 comments

Comments

@etherealcomity
Copy link

etherealcomity commented Aug 22, 2024

Problem:

  • OSSU lists courses X, Y and Z that cover the same topics when fewer courses could suffice.
  • OSSU recommends course X to teach a topic, but there exists a higher quality course that covers the same material.

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:

  • Lecture videos and their corresponding lecture codes and notes.
  • Finger exercises for each lecture and their solutions.
  • Problem sets with separate test files.
  • Recitations for additional exercises with solutions.

Advantages:

  • Covers the same material as 6.00.1x, but gentler and longer.
  • Because the course is gentler and longer, students may not need CS50P or PY4E as a prerequisite.
  • The course is also very recent, so it also covers a more recent version of Python compared to 6.00.1x and PY4E.

Disadvantages:

  • 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.

Proposal:

  • Replace 6.00.1x, PY4E, and CS50P for 6.100L.

Alternatives:

  • Replace only 6.00.1x for 6.100L and leave both PY4E and CS50P as supplements for additional Python practice.
@waciumawanjohi
Copy link
Member

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
Copy link
Member

@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
Copy link
Contributor

pulkitkrishna00 commented Aug 22, 2024

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
Copy link
Member

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants