Previous |
Previous versions of 15-112 (and older 15-110/15-100): S24, F23, S23, S23-L3, F22, F22-L3, S22, F21, S21, F20, S20, F19, S19, F18, S18, F17, S17, F16, S16, F15, S15, F14, S14, F13, S13, F12, S12, F11, S11, F10, S10, F09, S09, F08, S08, F07 Previous Summers: N23, N22, N21, M20, N19, M19, N18, M18, M12, APEA-09, APEA-08 |
||||||||||||||||||||||||||||||||
Waitlist |
If you are on the waitlist, we hope to eventually get you enrolled, typically in the first week of the semester. Until then, you should participate fully as if you were enrolled. This includes but is not limited to: attending required events, filling out forms, completing assignments on time, and taking quizzes. If you were just added to a waitlist and you are not added to Ed-Discussion (the class Q&A forum) within 24 hours, please contact the course instructor via email. | ||||||||||||||||||||||||||||||||
Description |
A technical introduction to the fundamentals of programming
with an emphasis on producing clear, robust, and reasonably
efficient code using top-down design, informal analysis, and
effective testing and debugging. Starting from first
principles, we will cover a large subset of the Python
programming language, including its standard libraries and
programming paradigms.
This course assumes no prior programming experience. Even so, it is a fast-paced and rigorous preparation for 15-122. Students seeking a more gentle introduction to computer science should consider first taking 15-110. NOTE: Undergraduate students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course. |
||||||||||||||||||||||||||||||||
Learning |
At the end of the course, students should be able to:
|
||||||||||||||||||||||||||||||||
Topic List |
See the topic list and schedule here (includes schedule, homeworks, quizzes, and exams). | ||||||||||||||||||||||||||||||||
Schedule |
Important notes:
|
||||||||||||||||||||||||||||||||
Office Hours |
15-112 can be intense at times, but it is much more manageable
if you use the course resources well. These resources
include:
Course Notes:
Large-Group Sessions:
Instructor Open Office Hours:
TA Office Hours:
Ed-Discussion (the class Q&A forum):
Instructor Private Meetings:
|
||||||||||||||||||||||||||||||||
Required |
There is no required textbook for this course! We will
primarily use the course notes on CMU CS Academy instead.
You should have a computer (ideally a laptop), however, it does not need to be new or powerful. We recommend an Apple or Windows laptop, though Linux will also work. On a Mac, upgrade your OS to macOS 10.15 (Catalina) or later. Chromebooks may work on the CS Academy website, but may not work for creating graphical apps. Please contact us if you cannot reasonably access a computer. Every required software package we use is available for free on the web. This includes:
|
||||||||||||||||||||||||||||||||
Responsiveness |
Responsiveness is required. You need to monitor
your andrew email and respond to course-related emails
promptly, preferably the same day and in any case within 24
hours.
Also, you must read all instructor Ed-Discussion (the class Q&A forum) posts promptly and carefully. You are responsible for knowing this information, including any changes or additions to policies, deadlines, etc. |
||||||||||||||||||||||||||||||||
Grading |
Attendance: Lecture attendance is required for the first and last weeks of class and during quiz days, and strongly recommended during the rest of the semester. Lecture attendance may be made required on other days. Recitation attendance is required daily in your assigned section. Attendance grades will be calculated as shown in the table below. Note that this only counts unexcused absences. Excused absences will never affect your attendance grade. There is also one exception to the table below. Missing TP Showcase (the last day of class) will immediately make your attendance grade 0 .
|
||||||||||||||||||||||||||||||||
Homework |
The 112 Homework Collaboration Policy
Note that this policy is only for homework, and not for projects, quizzes, or exams. Except for exercises explicitly marked as "solo", all homework problems in this course can be completed according to this collaboration policy. To be clear, any exercise marked as "solo" must be completed 100% solo, without any help from anyone or any website or any AI tool (though even on solo exercises, students can always receive help from the course faculty and staff). That said, for all non-solo exercises, students may collaborate with each other, with others outside the course, and even with AI tools like ChatGPT, so long as:
At no time can you copy code from any source. We take this very broadly. Not only does this mean you cannot copy-paste code from anywhere, it also means that you cannot manually type code that you are looking at, nor can you manually type code that someone is telling you to type. In addition, you cannot copy code even if you then edit it, even a lot. 5-Minute Rule To help prevent code copying, we have a simple rule: any time you look at 5 or more lines of code (or pseudocode or anything code-like) that is not yours (and is not from the course website, CS Academy, or course faculty or staff), then you must wait 5 minutes before you can edit your own code. This is a simple rule that will prevent most cases of code copying. Citation Rule You must clearly cite all sources of collaboration, no matter how minor the collaboration is. All citations must be in a triple-quoted string at the top of each exercise in which you collaborated. Each citation must clearly list the source (whether a person (listed by name and andrew id), a website, ChatGPT, etc), and in just a few words the nature of the collaboration. Debugging Rule You are allowed to help debug other students' code, and you are allowed to have other students help debug your code. You are allowed to make live edits with the properly-cited debugging help of a friend. However, you cannot copy code, you must obey the 5-Minute Rule if you look at their code, and you must properly cite any and all collaboration or help you receive (except from course faculty and staff). Here are some other key points regarding homework:
|
||||||||||||||||||||||||||||||||
Academic |
Philosophy: We begin by choosing to trust each of you individually. However, if you cheat, expect to be caught, and expect significant consequences. These rules are meant to convey the spirit of our academic integrity expectations. For example, when we say "do not copy" we always mean visually, verbally, electronically, or in any other way, even if you copy and modify it. We additionally require you to understand and uphold CMU's more general academic integrity standards. If you are unsure of something, just ask us beforehand. If you do this and strive to understand the intent of this policy and exercise common sense, you have nothing to worry about. Examples of academic integrity violations include but are not limited to:
Note: if we offer a homework solution session, you may not turn in an assignment after attending/watching any part of its solution session, even with an extension or a late submission (according to the Late Homework Policy). When homework exercises are marked as "solo", then you must not collaborate or discuss them with anyone in any way. Note that 'anyone' includes but is not limited to other past, present, or future students, friends, parents, siblings, tutors, etc. Remember: you always have access to extensive help provided by the TAs and course faculty. We strongly encourage you to use this support! As for non-solo exercises, any violation of the No-Copying Rule, the 5-Minute Rule, the Citation Rule, or the Debugging Rule (see above) will be considered an Academic Integrity Violation. The consequences for this will be considerable, up to and including failing the course, and perhaps additional consequences at the university level. Before you might consider any such violation, we ask that you please consider:
Assessments (Quizzes and Exams): Examples of cheating on assessments (Quizzes and Exams) include but are not limited to:
If you are repeating 112, your prior work in this course is treated just as anyone else's work. Consulting or copying your prior homework answers or term project solutions will only hurt your learning, and will be treated as an academic integrity violation. Plagiarism Detection: Programs are naturally structured, which makes them very easy to compare. Please be aware that we use several sophisticated tools to find code with a high probability of cheating, in addition to our own eyes and experience. It is futile to try to disguise code that you did not write, and these efforts may increase the severity of the violation. Penalties: Course penalties are decided by the course faculty, and vary based on the severity of the offense. Offenses can be severe even if the assignment/assessment is worth very few points (for example, cheating during a quiz or exam). The course penalty for violations will always be more severe than if you were to leave the associated item blank. Possible penalties include but are not limited to:
Honesty: To end this section on a more positive note, you should know that we put a high premium on honesty. If you get into an Academic Integrity situation, then the sooner and more completely you tell the entire truth, by far the better it is for you and for everyone else involved. The bottom line: If you regret a lapse in judgment, it is always better to let us know right away, to come clean, and be honest and truthful. You will feel better about it, as will we, and it will probably result in a better outcome for you as well. |
||||||||||||||||||||||||||||||||
Extensions |
Notes:
That said, here are the types of generally accepted reasons for approved extensions and excused absences.
|
||||||||||||||||||||||||||||||||
Regrade Requests |
We occasionally make mistakes while grading (we're only
human!). If you believe that you found a mistake that you
would like us to correct, please submit a regrade request
using the form on the
forms page.
Notes:
|
||||||||||||||||||||||||||||||||
Accommodations |
We gladly accommodate students with disability-related needs
(as approved by the Office of Disability Resources (ODR), as
explained here).
If you are eligible for accommodations, please ensure that the
Office of Disability Resources has sent us your Summary of
Accommodations Memorandum within the first week or two of
class. We will contact you within a few days of receiving this
form with any relevant instructions for using your
accommodations in 15-112.
Please note: At the guidance of the University, we can only provide disability-related accommodations which have been explicitly approved by ODR and are on the most recent Summary of Accommodations Memorandum we have received. If you require accommodations that have not been approved by ODR, you should contact them as soon as possible. Also according to University guidance, we cannot retroactively apply your accommodations if we receive them from ODR later in the semester (for example, a modification on an assignment due before we received official approval of your accommodations). We are here to help. If you have any questions or concerns relating to 15-112 and how we can best accommodate, please contact the course instructors and we will work together for your success. |
||||||||||||||||||||||||||||||||
Auditing |
We have found that students who audit 15-112 do not tend to succeed, as they generally cannot dedicate the requisite time and focused discipline to the course. We must also strictly limit in-person events to ensure that we do not violate room capacities. Therefore, auditing will only be allowed in exceptional circumstances and must be approved by the course instructors first. Rather than auditing, in some cases you may take the course as Pass/Fail instead, which can be a better option in some cases (say, for graduate students who want to learn how to program but already have an over-full load of graduate courses). Note: you may not take the course Pass/Fail if you plan to use 15-112 as a prereq. | ||||||||||||||||||||||||||||||||
Diversity |
It is our intent that students from all diverse backgrounds and
perspectives be well-served by this course, that students'
learning needs be addressed both in and out of class, and that
the diversity that students bring to this class be viewed as a
resource, strength, and benefit. It is our intent to present
materials and activities that are respectful of diversity:
gender, sexuality, disability, age, socioeconomic status,
ethnicity, race, and culture. Whether in education or industry,
inclusive representation creates richer experiences and equips
us to solve new and exciting challenges. As we begin the
semester, we want you to know:
|
||||||||||||||||||||||||||||||||
Recording |
Students may not record audio or video of lectures or recitations or any other faculty-led or TA-led course events (online or in-person) without explicit permission in writing from the instructor or the TA in the instructor's absence. Exceptions will be granted in accordance with university guidelines for accessibility concerns, but even then such recordings may not be shared publicly or privately. | ||||||||||||||||||||||||||||||||
Well-being & |
We care very much about your well-being and happiness. CMU
students (and faculty) work very hard, but we must keep our
balance and always attend to our well-being and happiness
first. Achieving a better grade is almost never a matter of
putting in more time! So be sure to get enough sleep, eat
right, exercise regularly, and attend to your well-being and
happiness.
Also, please know that we do care about you and take your well-being seriously. We want to help you learn while minimizing stress. Meeting the learning goals of 15-112 necessitates significant effort and a fast pace, but do not fall into the trap of working endlessly, as this will only reduce your efficiency (and more importantly, your happiness and well-being). It is not necessary, expected, or something to be proud of. We can help you improve your efficiency and work less, not more. We also seek to minimize the workload as much as is possible, while still meeting the learning goals of the course. Finally, if you are feeling overly stressed, anxious, or unhappy about your performance or your general experience in this course: please come talk to us. We will listen. We are here for you and we will try to help. Addendum: Here is a great summary of many CMU Student Support Services. |