Home / Information


You are not logged in.

If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.csail.mit.edu) to authenticate, and then you will be redirected back to this page.

1) Coronavirus Course Policies (not final until the start of 6.0002)

The following information overrides content for "normal circumstances". This information is specific to the special semester Spring 2020 using the PE/NE grading scheme.

** Grading Scheme: **

  • 45% problem sets on this site
  • 45% microquizzes (best 3 out of 4, no conflict exams offered)
  • 10% finger exercises on MITx

** Lectures: ** Lectures will be held online, on Zoom. They will be held in real-time during the scheduled lecture hours -- the link to the session will be available on the homepage. Be sure to log in to Zoom using your MIT kerberos/Touchstone account otherwise you will not be able to view the broadcast. We ask students to keep microphones muted and video turned off during the live broadcast (to limit noise and increase bandwidth). You may type a question in the chat and a staff member or the instructor will do their best to answer it in a timely manner. We will make the video recording available after the live broadcast, linked through the calendar on the homepage.

** Office Hours and Problem Set Discussions: ** We will continue to hold office hours during our scheduled times, but they will be held using Zoom. Students sign up via the office hours queue and paste a link to their private Zoom room so that a TA can join in and chat. You can set up your Zoom profile here. Some problem sets may have checkoff questions to complete with a TA -- these will be marked in the calendar.

** Exams: ** We will hold 4 microquizzes, but no final exam. There are no conflict quizzes offered, but we will take the best 3 out of 4 scores to calculate the grade. Each quiz will be available starting from 3:55pm, MIT time, on specific lecture days (see calendar) for 12 hours. Once you start the quiz, you will have to complete it within 30 minutes. Exam questions will be randomized between students, but the difficulty will be the same. You may use lecture notes and python code provided in class. You may NOT use the Internet and students may NOT collaborate with any other person. The work submitted must be the student's own work.

** Recitations: ** We will NOT be holding recitations. Instead, we will be staffing office hours with more people.

2) Course Policies for Normal Circumstances

This subject is aimed at students with little to no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write simple programs that allow them to accomplish useful goals.
The class will use the Python 3 programming language.

Lectures for the class occur from 3PM to 4:30PM in 26-100 on Mondays and Wednesdays.
Attendance is mandatory, and some lectures will hold microquizzes.

  • 6.0001 (6 units): first half of term, with 3 microquizzes and a final exam in-class.
  • 6.0002 (6 units): second half of term, with 3 microquizzes and a final exam in-class.

All course material is linked from this site. The amount of work 6.0001 and 6.0002 require is equivalent to a 12 credit, full semester class.

3) Goals

  • Provide an understanding of the role computation can play in solving problems.
  • Help students, including those who do not necessarily plan to major in Course VI, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.
  • Position students so that they can compete for UROPs and excel in subjects, like 6.01.

4) Lecture Attendance and Office Hours

A significant portion of the material for this course will be presented only in lecture, so students are expected to regularly attend lectures. Some lectures will hold microquizzes. These lectures are noted on the calendar.

Optional recitations will be held on Fridays. These recitations will clarify material covered in lecture that week. You may attend any recitations you like.

Office hours are held in 38-370. The schedule will be posted on Stellar. Office hours will be used for asking questions regarding the problem sets and course materials, and for problem set checkoffs. When you arrive at office hours, you should enter yourself on the queue linked from the Help menu item at the top of this page. The queue requires certificates. If you can't access the queue, speak with the TA in the room.

5) Finger Exercises, Problem Sets, and Quizzes

Each problem set and most finger exercises will involve programming in Python 3.

Finger Exercises: The finger exercises are very small Python programming problems that are automatically checked for correctness by an online system. They are designed primarily to help students confirm that they understand specific programming concepts. A small subset of the exercises are mandatory, and will help prepare students for the problem sets. Students must successfully complete all mandatory finger exercises (get the green check on MITx). At the beginning of each lecture, mandatory finger exercises will be available. They will be due before the beginning of the following lecture. When submitting exercises, only the final submission (before the deadline) counts.

Problem Sets: Submissions will be uploaded to the Problem Sets website. Problem Sets will have two grade components:

  • Autograder Score: Automatically determined based on test cases you pass (depends on the problem set, typically between 5 and 7 points)
  • Checkoff Score: Based on a checkoff for code style (guide available on Stellar) and how well you can explain your code to a staff member (depends on the problem set, typically between 3 and 5 points)

Checkoffs for a problem set can only be done during scheduled office hours, generally for the 10 days following the due date of the problem set (fewer days at the end of the term). Checkoffs must be done within that time frame, regardless of whether you used late days on your problem set. Checkoff deadlines can be found on the course calendar. Late days cannot be used to obtain a late checkoff. During a checkoff, you will go through your code with a TA or LA. They will ask you simple questions about your code and determine a score based on code style and understanding of the pset and code. Please allow for 10-15 minutes to complete your checkoff.

Microquizzes: The microquizzes will be 20-30 minutes long on MITx or on paper. They will occur at the end of lecture. Microquizzes will be closed-book and closed-Internet, and you will *not be allowed cheat sheets for the quiz. Students can take all microquizzes in each of 6.0001 and the first three in 6.0002 but we will drop your lowest quiz score in each of 6.0001 and 6.0002 when calculating your grade.

Exams: See course calendar for dates. There will be a written portion and an online portion via MITx. All exams will be closed-book and closed-Internet, with the exception of two double-sided pages of notes. You cannot access files on your computer (including old psets) and cannot look up anything online. The only things that should be open on your computer screen are your IDE of choice and MITx. If you are seen with any other supplementary material, that is grounds for a zero on the exam. You should make sure you are able to log into MITx the day before an exam. If you have a conflict with the exams or if you have arranged for accommodations through MIT's Student Disabilities Service, please contact anabell@mit.edu early in the term.


  • In 6.0001: Three microquizzes (best two out of three) and one final exam in-class.
  • In 6.0002: Three microquizzes (best two out of three) and one final exam in final exams week..

6) Grading Policy (roughly computed as follows):

In 6.0001:

  • Problem sets (5): 30%
  • Completion of mandatory finger exercises: 10%
  • Microquizzes (best two out of three): 20%
  • Final Exam: 40%

In 6.0002:

  • Problem sets (5): 30%
  • Completion of mandatory finger exercises: 10%
  • Microquizzes (best two out of three): 20%
  • Final Exam (in finals week): 40%

7) Extensions

We offer late days. At the beginning of the term, all students are given 3 late days (24 hour extensions) to use in 6.0001 and 3 late days (24 hour extensions) to use in 6.0002. Late days can only be applied to problem sets, not to checkoffs or finger exercises. Late days are discrete (a student cannot use half a late day). The staff will keep track of late days and feedback for each problem set will include the number of late days the student has remaining. For example, turning in Problem Set 2 on Saturday 7PM when it was due on Friday 5PM would cost two late days. You can use as many late days as you want on a problem set, but you will be responsible for handing in the following problem set on time. Any additional late work beyond these late days will not be accepted. To avoid surprises, we suggest that after you submit your problem set, you double check to make sure the submission was uploaded correctly. We strongly urge you to see the late days as backup in case of an emergency. Your best strategy is to do the problem sets early before work starts to pile up.

Late days reset at the beginning of the 6.0002 material. Under special extenuating circumstances, supported by S^3, we may grant further extensions.

8) Collaboration Policy

Students may collaborate on the problem sets. meaning you're free to seek help from LAs/TAs, the internet, or your friends (whether or not they are taking this course). If two or more students choose to solve a problem set together, they are required to write code independently and note all of the collaborators. Students cannot use the exact same code (for example, by dictating to each other). Students are not permitted to look at or copy each others code or code structure. Students are not permitted to share/send code to others. Our official collaboration policy is that two students may discuss a solution together, but the code must be written separately by each student. No plagiarism or copying of OpenCourseWare solutions, or any other solutions, is allowed. We will be running code similarity software on all code handed in. Violations of this policy will result in a 0 on the problem set.

Background on policy: Our first concern is what the students in the class learn. We assume that everyone in the class is here because they want to learn, and will behave in a manner consistent with that goal and their personal learning style. Much of the learning takes place while working on the problem sets. Working with other students on problem sets often enhances the learning process. Keep in mind that collaborative learning works best when the students working together have roughly the same level of knowledge and skill so that each participant in the collaboration can contribute more or less equally to solving the problem. When one student is consistently showing another how to do things, it is not a true collaboration. When one student bases their solution on the completed work of another or on a solution from a previous year, little to no learning takes place. If students choose to lean heavily on the work of others, such students will be cheating themselves and will learn less. Moreover, while these students may end up with excellent grades on the problem sets, they will almost surely struggle with the exams, which account for the majority of the final grade

9) Getting Help

We strongly encourage you to seek out help throughout the term. Ask questions early and often rather than waiting until the last minute. If you need lots of help with your code, or would like someone to look over your entire code file, consider coming to office hours.

If you can't make office hours, or just have a quick question, post it to the forum! It is Q&A style and we'll be using to enable both staff and students to help answer questions. On the forum, feel free to ask questions about psets, code segments, confusions from lecture or recitation, course policies, etc. We prefer that you make your posts public so that others can benefit from them as well. If your question is specific to your code or a grade you received, then please post privately.

During the 6.0001 half of the semester, please use the 6.0001 forum. During the 6.0002 half of the semester, please use the 6.0002 forum.

If you need to privately contact the staff - for example, to arrange a meeting - you can email the TAs and professors at 6.00-staff@mit.edu . Please keep Python and homework questions off of this list, as we'll simply request that you post them to the forum instead.

If you're finding yourself falling behind and office hour help isn't enough one-on-one time, consider using the HKN tutoring service. HKN is the Course 6 honor society that provides free tutoring for Course 6 classes. Sign up for tutoring sooner rather than later, as slots fill up and it's harder to find a tutor late in the term. Seminar XL is also another alternative for MIT tutoring services, offered by the Office of Minority Education. More information can be found on their website.

We have created an MITx page for this course. The link is available from the class Stellar page. MITx contains supplemental material and practice exercises that will help you do better on the regular assignments and quizzes, so we advise that you take full advantage of it. However, this material will not substitute going to the physical lectures or turning in your quizzes and assignments. Before being able to access the site, you must install or update your personal certificates -- instructions available here. We have compiled a list of other Python resources that you may find helpful in the Additional Python Resources document on Stellar. It contains links to other online textbooks on Python, debugging tools, and fun online coding challenges.

10) Textbook

The textbook is Guttag, John. Introduction to Computation and Programming Using Python, Second Edition: With Application to Understanding Data, MIT Press. The book and the course lectures parallel each other, though there is more detail in the book about some topics. It is available both in hard copy and as an e-book. The Open Course Ware (OCW) site for 6.0001 and 6.0002 have a lot of useful material and this course will closely parallel the material covered in the OCW version.

11) Staff

Contact us at 6.00-staff@mit.edu with personal issues. Post other questions to the forum, and make your post private for personal questions.

12) FAQ

  • What do I need to hand in for this class?
    This website is the hub for this class. All links are on the navigation bar on the top of the page.

    1. Problem Sets
    2. Finger Exercises on MITx (ones marked mandatory only)
    3. Microquizzes (final 20 mins of class on dates specified on calendar)
    4. Exams (in-class on dates specified on calendar)
  • My grade is missing (problem set / checkoff / microquiz / exam).
    Make a private post on the forum. Enter your Athena username, problem set number, and an explanation of what the issue is.

  • I have special accommodations paperwork.
    Give your paperwork to the instructor and contact anabell@mit.edu to make arrangements.

  • Can I get grad credit for this class?
    We don’t assign any extra work for grad credit. We suggest that you petition your department for credit in the class as-is.

  • I registered late for the class. How do I hand in work missed?
    Make a private post on the forum. Include your Athena username and details of when you joined the class. We will give you and extension for the finger exercises missed. No extensions will be given for problem sets missed -- you will have to use your late days.

  • Can I have an extension for this problem set?
    We grant extensions in special circumstances. We only consider requests that come from S^3.