Overview
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
Welcome to 6.100! Our goal is to impart basic skills in programming and introduce some fundamental concepts in computer science. Programming and computer science are gigantic fields; we can only show you the tip of the iceberg. However, we hope you will leave with newfound confidence in solving problems computationally and understanding how computer programs work.
6.100 is a requirement for many majors, including the Course 6 degrees in Computer Science (CS) and Artificial Intelligence and Decision-making (AI+D). You may receive equivalent credit by taking 6.100A and 6.100B. You may also receive credit for 6.100A by passing its advanced standing exam (ASE).
There is currently no ASE for 6.100B or 6.100. However, there are a couple alternatives for 6.100B. Many degree programs accept CSE.C20 as well, and in AeroAstro, you may substitute 16.S690 / 6.S080. Policy may vary among departments, so please check individually.
Here are the most current websites for these other options:
- 6.100A Intro to CS and Programming using Python
- 6.100B Intro to Computational Thinking and Data Science
- 6.100A ASE
- CSE.C20 Intro to Computational Science and Engineering
- 16.S690 Intro to Autonomy
1) Variants
6.100 is a new and combined version of what used to be two half-semester subjects, 6.100A and 6.100B. Meanwhile, 6.100A and 6.100B have become full-semester subjects, but are still six units each. For details about these changes, see this page, which also explains that the offucial subject number is 6.1000, but we will refer to it as 6.100.
While 6.100 has no formal prerequisites, it is intended for students with at least some prior exposure to programming. Experience has shown that some students with no programming experience may find 6.100's pacing quite fast. In such situations, we recommend taking 6.100A first, which allows more time for building programming skills, and then 6.100B or an alternative in a subsequent semester.
If you feel the first few weeks of 6.100 are too moving quickly for you, please reach out soon about switching to 6.100A.
Conversely, if you originaly registered for 6.100A, but feel you could be learning more, consider switching to 6.100.
Note that 6.100, 6.100A, 6.100B are run as three separate classes. We may share teaching staff for some tasks, but for the most part each class has its own instructors, teaching assistants (TAs), and lab assistants (LAs). The content across all three classes will be closely related but not exactly the same. However, each class's course structure and policies are independent of each other. If you switch among them, make sure you understand the new policies.
2) Contact
The following email lists reach each class's instructors and TAs.
6.100-staff@mit.edu6.100a-staff@mit.edu6.100b-staff@mit.edu
6.100 is a large class with many staff to keep synchronized.
Thus, we ask that you always reach out to 6.100-staff@mit.edu, rather than emailing individual staff members.
Remember to reply-all in email threads to include the list.
If you have a request of a more personal nature, you may email 6.100-instructors@mit.edu instead, which will not reach the TAs.
We will make announcements on our Canvas site, which should reach you by email. In your Canvas account settings, make sure you have email notifications turned on for course announcements. We use Canvas only for sending announcements.
Additionally, we have a course Piazza site, where you may post questions about course material or policies, and receive answers from course staff or other students.
We ask that you use Piazza only to ask public questions appropriate for any student to view.
Questions involving your code or private details should go to 6.100-staff@mit.edu.
Finally, an important Institute resource is Student Support Services (S3). If you face personal challenges of any kind, deans are available to listen and work with you towards solutions.