Syllabus

Quick links:   Recitations   OH and Resources   Grading   AI Policy

Previous
Versions

Previous Fall and Spring Semesters:
S26, F25, S25, F24, 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 Summer Semesters:
M26, N25, N24, N23, N22, N21, M20, N19, M19, N18, M18, M12, APEA-09, APEA-08

Waitlist

Students on the waitlist must participate fully as if enrolled. This includes: attending required events, filling out forms, completing assignments on time, and taking quizzes.

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
Objectives

At the end of the course, students should be able to:
  • Computationally solve problems in Python using:
    • sequential, conditional, and loop statements
    • strings, lists, tuples, sets, and dictionaries
    • objects and classes
    • recursion
    • interactive graphics
  • Analyze code through code tracing to deduce the output of small programs
  • Recognize patterns to identify possible solutions to a given problem
  • Construct code using top-down design by breaking problems into smaller steps
  • Apply debugging techniques to find and fix errors
  • Design and implement a substantial program in Python with minimal guidance

Topic List
and Schedule

See here (includes schedule, homeworks, quizzes, exams, and more).

Schedule
of Classes

  • Attend your assigned lecture and recitation.
  • Events are generally in-person only and not recorded.
  • All times are in Pittsburgh time (ET).
Section Days Lecturer / TAs Time Room
Lecture 1 T/R David Kosbie (koz) 9:30am - 10:50am CUC McConomy
    A W Nick (nbutler2), Polly (pollym) 9:00am - 9:50am WEH 4625
    B W Elena (elenali), Ariel (ariver) 10:00am - 10:50am WEH 4709
    C W Sussi (sussiz), Anshul (anshuljh) 11:00am - 11:50am SH 236
    D W Shreya (shreyay), Evelyn (evelynzh), Sohan (sohanc) 12:00pm - 12:50pm WEH 5302
    E W Kevin (hyeonjap), Victoria (mcabrera) 1:00pm - 1:50pm WEH 5302
    F W Harrison (hezhang), Anabella (afphelps), Kai (kdegenha) 2:00pm - 2:50pm GHC 4211
    G W Eddie (eddieliu), Millie (mjfoley) 3:00pm - 3:50pm DH 1112
    H W Hannah L (hannahl3), Ryder (ryderx) 4:00pm - 4:50pm PH A18B
    I W Sara (slaman), Isabella (ihu) 5:00pm - 5:50pm WEH 4625
    J W Yudh (hshukla), James (jryman) 5:00pm - 5:50pm WEH 5302
    K W Vyju (vyjayanv), Max (mlanghor) 8:00pm - 8:50pm WEH 4625
Lecture 2 T/R Mike Taylor (mdtaylor) 2:00pm - 3:20pm DH 2210
    M W Kayla (kaylabha), Hayden (hmazzeno) 9:00am - 9:50am GHC 4102
    N W Vaneesha (vaneeshs), Geo (geol), Anna (afwang) 10:00am - 10:50am WEH 5312
    O W Veronica (vpak), Marco (mdsung) 11:00am - 11:50am WEH 5320
    P W Hannah P (hannahpa), Mark (mbshiau) 12:00pm - 12:50pm WEH 5310
    Q W Elaine (meit), Vedant (vamisra) 1:00pm - 1:50pm WEH 5310
    S W Meabh (mhhennes), Josh (joshshi), Meha (meham) 2:00pm - 2:50pm PH A18A
    T W Giulio (gmigliar), Aaron (asdong), Evan (elkuo) 3:00pm - 3:50pm GHC 4211
    U W Stella (stellali), Joshua (jpersian), Kevin S (juntong2) 4:00pm - 4:50pm WEH 4623

Office Hours
and Course
Resources

15-112 is more manageable if you use course resources well. These resources include:

Course Notes:
  • The course notes are on CMU CS Academy. You are required to carefully read the assigned course notes, and to thoughtfully complete the checkpoints.
Office Hours:
    Day Time Provider Location
    Mon 2:30pm - 4pm Mike GHC 4126
    Tue 11:30am - 1:30pm David GHC 5001
    Wed 2:30pm - 4pm Mike GHC 4126
    Thu 11:30am - 1:30pm David GHC 5001
    Fri 5pm - 7pm TAs GHC 5th Floor Commons
    Sat 5pm - 7pm TAs GHC 5th Floor Commons
    Sun 5pm - 7pm TAs GHC 5th Floor Commons
Ed (our online class forum):
  • We will post official course announcements on Ed. You should also receive these at your andrew email.
  • You are encouraged to ask your course-related questions on Ed, and the course faculty and TAs will answer them.
  • Please be reasonable and responsible when using this resource.
Faculty Private Meetings:
  • Given the size of the course, please be reasonable and only request 1-on-1 faculty meetings for sensitive matters which cannot be handled via OH, Ed, or email.
  • To schedule a 1-on-1 meeting with the course faculty, please email us with your full availability over the next few days (both over zoom and in person).
Student Academic Success Center:
  • The CMU Student Academic Success Center (SASC) offers study resources and tutoring for 15-112 students. Appointments for tutoring can be booked here. Drop-in tutoring location, day, and time can be found here.

Required
Materials

There is no required textbook for this course. Instead, we will generally use the course notes on CMU CS Academy.

You should have a computer (ideally a laptop), though it does not need to be new or powerful. Anything that runs Python should suffice. Please contact us if you cannot reasonably access a computer.

Course
Requirements

Participation is required and includes:
  • Attending and actively participating in all the lectures, recitations, and required events.
  • Carefully completing all the assigned work (preps, hws, labs, projects).
  • Taking all the required quizzes and exams with earnest effort.
Attendance is required (even if attendance is not always explicitly recorded).
  • You are responsible for everything covered in lectures and recitations (and recordings will generally not be available).
  • Missed quizzes and exams may not be made up in general (though certain exceptions are permitted -- see the details below).
Responsiveness is required.
  • You need to read and respond as appropriate to our Ed posts and course-related emails promptly, preferably the same day and in any case within two days.
Important Note:
  • Repeated failure to meet these course requirements may result in an additional reduction of your semester course average at the course faculty's discretion, beyond any reductions noted in the Grading section below.

Grading

Competencies
Most weeks include a required competency quiz (or "comp"). Note these important details:
  • Comps cover the core material at a basic level. They are meant to help measure the minimum understanding required to pass 15-112.
  • You cannot take a comp if you have not first completed the assigned comp prep. If you do so anyhow, you will score a 0 on that comp.
  • Each comp will only include problems that were on the assigned comp prep (though perhaps with small edits).
  • Each comp is graded pass/fail, where passing will generally require about 90% correct (where faculty can adjust this number for each comp as appropriate). Again, note that the problems are not meant to be overly challenging, and further that you will have seen and practiced all the problems beforehand.
  • If you fail a comp, you can retake it the following week (or after that), until you pass it, but only at the available comp proctoring times (generally right after that next week's required comp).
  • You must (eventually) pass ALL the comps to pass 15-112.
Standard Grade Calculation
To receive a passing semester grade, you must satisfy ALL these criteria:
  1. Pass all the competencies (see above).
  2. With the weighted averages computed as below....
    • Score 89.5 or higher to receive an A.
    • Score 79.5 or higher to receive a B.
    • Score 69.5 or higher to receive a C.
    • Score 59.5 or higher to receive a D.
    Note that grad students will be assigned +'s as such (generalized across letter grades):
    • B: [80-87)
    • B+: [87-90)
Alternate Grading Calculation for a C
If you score below a C in the Standard Grade Calculation, then you will still receive a C as your semester grade if you satisfy ALL these criteria:
  1. Pass all the competencies (see above).
  2. Show earnest effort (at the faculty's discretion) all semester.
    • For example, multiple unexcused missed quizzes would likely eliminate a student from consideration here.
  3. Score at least 70% (with the weighted average) for each of Attendance, Preps, Hws, and Labs.
  4. Score at least 70% on the effort portion of each project.
  5. Score at least 50% on at least one exam (midterm or final).

Course Component Weight Notes
Competencies - See the note above. You must (eventually) pass all the comps to recieve a weighted course average over 0%.
Attendance 5% Attendance requires that you not just attend but that you truly participate actively. Your attendance grade is based only on those required events for which we gathered attendance data. Also, an attendance grade of at least 85% will count as 100%, so you are free to miss a small number of required events if needed over the semester.
Preps 5% Lowest two are half-weighted.
Labs 5% Lowest two are half-weighted.
Homework 10% Lowest two are half-weighted.
Quizzes (about 7) 15% Lowest two are half-weighted.
Midterm Exams (2) 35% Lowest one is half-weighted.
Term Project 5% See the term project assignment for details.
Final Exam 20% The final exam is optional. If you do not take the final, your final exam score is your weighted midterm exam average (with lowest midterm half-weighted). If you opt-in to the final, then that score counts, even if it lowers your semester grade.
Note that the course faculty may amend these scales at their discretion, to maintain the grading norms and traditions of the course and the department. You are guaranteed that your letter grade will never be lowered as a result of changing scales.

AI Policy

Here are some key points regarding the use of AI in 112:
  • We embrace the importance of AI as a powerful tool, even as we also strongly resist AI replacing your learning or your humanity.
  • AI use is allowed and even encouraged on preps, homeworks, labs, and projects.
  • However, at no point can you use AI to replace your thinking or your understanding. You must be thoughtfully involved in all aspects of your AI use.
  • The only way you can receive credit for any code (or anything else) is if you fully understand it and can clearly explain it to course faculty or TAs. This applies whether you used AI or not when writing the code.
  • All AI use is strictly forbidden on all assessments, including comps, quizzes, and exams.
  • Taken together, this means: You cannot pass the course if you over-rely on AI. It's that simple.
  • And that means: You should use AI to enhance your learning, to deepen your understanding, to make you a more effective problem-solver, and to enhance your future professional prospects.
Finally, this:
  • We recognize that irresponsible AI use may lead to undesirable outcomes that are not precisely covered by the text in this syllabus. The course faculty reserve the right to respond to such cases as we deem appropriate, which may involve warnings, grade deductions, or more, depending on the nature of the matter.

Collaboration

This collaboration policy applies to preps, homeworks, and labs. It does not apply to quizzes, exams, or to any other course component where collaboration is disallowed. When allowed, students may collaborate with each other, with others outside the course, and even with AI tools, so long as you follow the rules set forth in the AI Policy section, along with these:

  • Earnest Effort Rule
    To receive any credit for code (or anything else) you submit, you must put forth earnest effort on it. For example, mostly or entirely copying answers or large blocks of code (whether from AI or not), especially without carefully reviewing the code and understanding it, is clearly in violation of this rule.

  • Understanding Rule
    To receive any credit for code (or anything else) you submit, you must understand it and be able to clearly explain it to a faculty or TA.

  • Citation Rule
    We do not require that you submit citations for your allowed collaboration, whether with AI or not. However the course faculty or TAs may ask for such citations at any time. Thus, you must be prepared to clearly explain which parts of your code are the result of collaboration, which whom (including AI) you collaborated, and the general details of that collaboration.
Note that repeated violations of any of these rules will be considered an Academic Integrity Violation.

Homework

CS Academy
Homework exercises will typically be hosted in CMU CS Academy. A green checkmark next to a problem (in CS Academy) means it has autograded correctly and you are done. No green checkmark means it's not done yet. If you believe you should have received a green checkmark, be sure to review your work, and be sure that you hit the "check" button after the "run" button to submit it. The "check" button runs your code against additional hidden test cases which you must pass in order to receive credit. It's your responsibility to properly submit and be aware of whether you have received green-checkmark credit for your work! There is generally no partial credit for autograded problems.

Homework Grace Days
A "grace day" is a penalty-free homework extension, intended to give you some flexibility in homework deadlines. Note that excused absences and other excused extensions do not count towards your grace day total. With that, please note these Grace Day policies:
  • Grace Days only apply to homeworks, and not to preps, labs, comps, quizzes, or exams.
  • Grace Days will always be assigned in 2-day blocks. Thus, for weeks when you use grace days, if the assignment was due on Sat at 8pm, then you need to complete it by Mon at 8pm.
  • You can use up to two of these 2-day blocks across the semester.
  • You do not sign up for these. Instead, at the end of the semester, we will automatically assign them to you to maximize your grade at that time.
  • We strongly suggest that you resist using grace days at first, saving them for when you truly need them.

Assessments

AI:
Note: All AI use is strictly forbidden on all assessments, including comps, quizzes, and exams.

Scope:
Any content in the CMU CS Academy notes, on a homework, lab, or comp, or covered in lecture or recitation, may appear on any assessments (quizzes or exams).

Competencies:
These were explained in the Grading section above. Comps will be given most weeks, generally on Mondays at an assigned time.

Quizzes:
Quizzes will be given most weeks, generally in lecture on Tuesdays. Quizzes and exams will generally be on paper and will involve writing code and answering written questions about code samples, without the use of other resources. In particular, AI is forbidden on quizzes and exams. Quizzes generally focus on material from the previous week and the previous homework, though any prior material may appear as well.

Midterm Exams:
There will be 2 midterm exams. Midterm exams are comprehensive, but the second midterm will focus chiefly on material since the first midterm. You must take the exam in-person at your assigned lecture time. It is your responsiblity to be aware of these dates, and you should not schedule flights or other travel during the exam times.

Final Exam:
There will be an optional final exam at the end of the semester. It will cover all material presented in 112 during this semester. We will notify you as soon as the University exam schedule is released. Until that time, do not schedule flights or other travel during the exam dates listed on the University calendar. That being said, if you do not take the final exam, then your score on the final exam will be the weighted average of your midterm exams. This means you may opt out of the final exam if you wish.

Academic
Integrity

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. They are not comprehensive, and the course faculty reserve the right to adapt or extend them as needed to fit specific situations. We additionally require you to understand and uphold CMU's more general academic integrity standards.

Generally, examples of academic integrity violations include but are not limited to:
  • Repeatedly violating any of the policies and rules set out above, such as the AI Policy, the Earnest Effort Rule, the Understanding Rule, and the Citation Rule.
  • Intentionally misrepresenting the authorship or nature of your work, your effort, your participation, or any other aspect of your involvement in the course, especially if this was intended to inflate your grade.
  • Posting homework, quiz, or exam problem statements or solutions online.
  • Attempting to 'hack', decompile, disrupt, or misuse the autograder, testing environment, or course tools.
  • Answering in-class polls or forms when not physically present, or aiding others in doing so.
Assessments (Comps, Quizzes, and Exams):
Examples of cheating on assessments (Comps, Quizzes, and Exams) include but are not limited to:
  • Referring to any external resources (people, electronics, websites, notes, books, etc) while completing the assessment.
  • Accessing or copying any part of an answer from another student's work, even if it is very small.
  • Attempting to access any unreleased assessment outside of your assigned testing time, or outside of a secured testing environment, even if you have already taken it.
  • Discussing or sharing any part of the assessment with anyone who hasn't taken it (or a very similar one) until we have released it publicly (including with non-112 students)
    • For example, taking a quiz and sending a message as simple as "I wish I hadn't spent so much time studying nested loops" (or some other topic) before the quiz is released
  • Violating proctoring policies, like continuing to work on the assessment (even briefly) after the proctors announce the stop time, or falsifying/fabricating a tech fail.
Retaking Course / Reusing Prior Material:
If you are repeating 112, your prior work in this course is treated just as anyone else's work. Besides, consulting or copying your prior homework answers or term project solutions is likely to only hurt your learning.

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 comp or a quiz). 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:
  • Receiving a 0 or -100 on the assignment or assessment
  • Receiving a semester grade deduction, often a full-letter-grade
  • Failing the course
Penalties are often accompanied by a report to the Dean of Student Affairs and/or the Office of Community Standards and Integrity. This may lead to additional university-level consequences, such as being suspended or expelled, especially for repeated violations. University policy states that you generally may not drop the course if you have an academic integrity violation.

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
and
Excused
Absences

Notes:
  • Homeworks and Preps:
    Due to the liberal grace day policy, extensions are not generally granted for homeworks. Also, to keep you on pace with the course, extensions are not generally granted for preps. However, for truly extreme cases (such as long-term hospitalization), hw and prep extensions may be granted, with the specific appropriate accommodation determined by course faculty in such cases.
  • Comps:
    Regarding comps: since these are repeatable, for university-approved conflicts with your assigned comp, you should simply take that comp the following week (in addition to the next comp).
  • Quizzes and Labs:
    Extensions are not generally granted for quizzes or labs. Instead, for excused absences on quiz or lab days, the student is entirely excused from that day's quiz or lab, so the quiz or lab does not factor into the student's semester grade. For unexcused absences, the student receives a 0 on that quiz or lab.
  • Projects:
    Extensions are generally not granted for projects.
  • Exams:
    Brief extensions may be granted for exams when there is a qualifying reason on the date of the exam (see below).
  • See the Forms page for this semester's Extension Request Form.
In general, we may request some kind of confirmation for extension or excused absence requests, though we are very flexible in what that means (for example, if you are ill, we would accept any reasonable confirmation, including your Housefellow or RA or academic advisor confirming this).

That said, here are the types of generally accepted reasons for approved extensions and excused absences.
  • Serious Illness or Medical Emergencies.
  • Family or Personal Emergencies.
  • University-Related Absences. This includes multi-day athletic/academic trips organized by the university, in which case you may request an extension for the duration of the trip. Note that we will consider most job interview trips to fall in this category.
  • One-Time Multi-Day University-Related Events. If you are deeply involved in an event involving some university-related club or organization that you are in, where it will take nearly all of your time over multiple days, and this is a one-time deal for the semester, then we will consider your request.
  • Other Valid Reasons. There are too many to list here, of course, but other reasons include religious observations among others. If you are unsure, talk to the course faculty. We are here to help.
Here are some requests that would not be accepted:
  • Busy week (academically or otherwise)
  • Computer or network issues
  • Non-approved travel

Late Policy

  • Homeworks
    See the notes on grace days above. Any exercises completed after the deadline (which may be extended by an extension or grace day) will receive 0 points. Note that you can still complete the problem in CMU CS Academy, but it will not receive any points.
  • Quizzes and Exams
    No late/make-up quizzes or exams will be administered, except in the cases covered under the Extensions policy. Approved missed quizzes will be excused. Approved missed exams will be taken at the earliest possible date as approved by course faculty.

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 appropriate form on the course Forms page.
Notes:
  • You cannot request a regrade request simply because you do not like your grade, or you think it should have been higher in general. Rather, regrade requests must include the specific grading error(s) that you believe you found.
  • Regrade requests will result in the entire problem being regraded, not just the possibly-incorrectly-graded part. Thus, it is possible that your grade goes down as a result of a regrade.
  • Regrade requests must be filed no later than one week after the grade has been released.

Accommodations

We gladly accommodate students with disability-related needs as approved by the Office of Disability Resources (ODR) and explained here). If you are eligible for accommodations, please ensure that the Office of Disability Resources has sent us your Summary of Accommodations Memorandum. 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, you should contact them as soon as possible. Also according to University guidance, we cannot retroactively apply your accommodations (for example, a modification on an assignment due before we received official approval of your accommodations).

Students who receive ODR approved accommodations on assessments will be proctored by ODR's testing center. You must sign up for a proctoring time outside of lecture, and not the normal-duration quiz or exam. Extra-time assessments should be scheduled at least five days in advance and must take place on the same day as the in-class assessment unless otherwise approved by the course faculty. If you choose to attend the standard quiz or exam you will have to complete it in the assigned time (without extended time) and under standard conditions.

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.

Diversity
and
Inclusion

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. Inclusive representation creates richer experiences and equips us to solve new and exciting challenges.

CMU is a community of brilliant people from all over the world, and it's easy to feel intimidated or like you don't belong. If you find yourself struggling with this, let us know. We love helping students to explore and develop their strengths and sense of belonging.

Devices
and
Recording

In order to minimize distractions and foster the best learning environment for everyone, students in lecture and recitation may not use their phones or other devices for any activities not immediately related to 15-112. So: no phone calls, no texting, no web surfing, and so on. If you must use your phone or other device, out of respect to everyone else, please step outside the room to do so (thanks).

Students may not take still pictures or 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.

Camera policy: Hopefully, we stay in-person and don't need this policy, however... We request that you keep your camera on during any remote events. If you have accessibility or other concerns related to this request, please contact the faculty in advance.

Well-being &
Happiness

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.