Syllabus

Quick links:   Recitations   OH and Resources   Grading

Previous
Versions

Current and previous versions of 15-112 (and older 15-110/15-100):
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 Summers:
N24, N23, N22, N21, M20, N19, M19, N18, M18, M12, APEA-09, APEA-08

Waitlist

If you are on the waitlist, be sure to 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 instructors 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
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 the topic list and schedule here (includes schedule, homeworks, quizzes, and exams).

Schedule
of Classes

Important notes:
  • Lecture and Recitation Attendance: Attendance and participation in lecture and in your designated recitation section is required. Note that if you requested and were approved for a recitation section change, your assigned recitation section may be different from the one in SIO (and that is ok). See Ed for more details.
    Multiple unexcused absences or missed in-class activities will negatively affect your semester grade.
    If you must miss a lecture due to circumstances beyond your control (eg, if you have an illness), fill out the excused absence/extension request form, located on the 112 Forms page prior to your assigned lecture or recitation.
  • Unless otherwise announced via Ed-Discussion (the class Q&A forum), all events are in-person only and not recorded.
  • Unless otherwise stated, all times in all course-related documents and correspondence will be in Pittsburgh time (ET).
Section Days Lecturer / TAs Time Wed Room
Lecture 1 MTWRF Mike Taylor (mdtaylor) 9:30am - 10:50am SH 105
    A MTWRF Alex(alexche3), Nathan(nathanx), Yudh(hshukla) 1:00pm - 1:50pm WEH 8427
    B MTWRF Michael(mli7), Sara(slaman), Leo(lfrankel) 2:00pm - 2:50pm WEH 8427
    C MTWRF Edward(ebrownhi), Chris(cowad), Ainsley(awhitehe) 3:00pm - 3:50pm WEH 8427
    D MTWRF Lucia(jeongwo2), Caroline(cswanton) 4:00pm - 4:50pm WEH 8427
    E MTWRF Katrina(kbanardi), Alexandra(ascharpf), Michelle(mzj) 4:30pm - 5:20pm GHC CLSTR
    U MTWRF Truanne(truannec), David(songyueg), Jiao(jiaod) 5:30pm - 6:20pm GHC CLSTR

Office Hours
and Course
Resources

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:
  • The course notes are on the CMU CS Academy webpage, linked from the schedule. You are required to carefully read them in their entirety, to carefully complete the checkpoints in them, and to carefully watch any videos they contain (including videos in guided exercises).
  • We may provide additional notes on the course schedule. These are optional, but you may find them helpful.

Large-Group Sessions:
Edit, 6/22: Since we have lecture, we'll try to concentrate our resources more on small groups and office hours first, and we'll reallocate to offer larger group sessions if the demand emerges.
Session Time Location Recorded
TBDTBDTBDTBD

Prof. Taylor's Open Office Hours:
    Times and locations are subject to change. See Ed-Discussion (the class Q&A forum) for any changes.
    Day Time Location
    Mon 11:30am - 1:30pm GHC 4126
    Wed 1:00pm - 3:00pm GHC 4126
    Fri 11:30pm - 1:30pm GHC 4126
  • These are open (not private) office hours, and discussions may include everyone in attendance. For specific homework and debugging help, please attend your TA's study sessions and/or use Ed-Discussion (the class Q&A forum) and OH instead.

TA Office Hours:
These will be in the GHC 5th floor commons unless otherwise specified.
Note that these times are subject to change: If not many people are coming during a certain time, we may move our resources elsewhere. Also, if no students are present in the last hour of each day, we may give the TAs permission to leave early, so we recommend showing up early.
    Day Time
    Mon 4pm-6pm
    Tue 6pm-7pm
    Wed 4pm-6pm
    Thu 7pm-8pm
    Fri 5pm-7pm
    Sat 2pm-4pm
    Sun 2pm-4pm
  • TA office hours let you ask conceptual questions and to get some debugging help from TAs. During TA OH, use the OH Queue to sign up for help. OH Queue is used only for TA office hours. When you join the queue, please prepare to ask your question as efficiently as possible. During busy TA OH, to provide the fairest help to the most students, TAs can only spend five minutes with each student. Additionally, you must wait 15 minutes before re-adding yourself to the queue. This is meant to both reduce wait times and to encourage you to ask specific, thoughtful, effective questions.

Ed-Discussion (the class Q&A forum):
  • Ed-Discussion is an excellent resource when used judiciously.
    • For coding-related questions, our responses are meant to help lead you toward a solution or toward finding your bug, but we will not simply fix your code for you or tell you what to type. Simply solving the problem for you (like AI usually does) will usually prevent you from learning and will be useless on the quizzes and exams.
    • Before posting, first try to solve your problem on your own. If you cannot, please include information like what you have already tried, any insights or uncertainties, and what test cases you're not passing.
    • Be reasonable about our response times. We will do our best to keep response times low, though at peak times, and also in the middle of the night, response times will be longer.
  • You are responsible for carefully reading all of the content in all instructor posts on Ed-Discussion.
  • You may also use Ed-Discussion to ask questions, but you must carefully read our Ed-Discussion posts and guidelines first. For example, any questions related to the homework must be private to you and the staff only and not anonymous (ie, use the default settings).
  • Note: If you need to get in touch with only Prof. Taylor, or a specific TA, email (using your andrew id) is best. Ed-Discussion is great for questions that are visible to all TAs since you will get the fastest response that way. Given the size of the course, Prof. Taylor typically will not be able to provide you with code-level help by email.

Instructor Private Meetings:
  • To schedule a 1-on-1 meeting with Prof. Taylor, please email mdtaylor@andrew.cmu.edu with your full availability over the next few days (both over zoom and in person). The more times you provide, the more likely we can accommodate your request.
  • Given the size of the course, please only request private meetings specifically for issues that are not appropriate for open faculty OH, and which cannot be handled via Ed-Discussion, TA office hours, or email.

Student Academic Success Center:
  • Due to the size of the course, we are not able to generally satisfy requests for one-on-one tutoring. However, the Student Academic Success Center (SASC) offers additional resources and tutoring for 15-112. Starting June 23 through the end of the summer session, the Student Academic Success Center will provide tutoring for 15-112. Virtual appointments for one-on-one tutoring can be booked here.

Required
Materials

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:
  • CMU CS Academy, a browser-based platform which we will use extensively. We will email you with your account info.
  • Python version 3.12, which can be freely downloaded from python.org. Note that Python 3.13 may not work properly with certain modules, including the CS Academy graphics package.
  • We will also use apps and sites that use Brython, which is a version of Python that runs in web browsers.
  • We may also use one or more free IDEs (code editors) and other free software packages.

Course
Requirements

Participation is required and includes:
  • Attending and actively participating in all the lectures, recitations, and required events.
  • Carefully reading the course notes and other assigned readings and completing checkpoints.
  • Thoughtfully completing the homework assignments, and all other assigned work with earnest effort.
  • Taking all the required quizzes and exams.
Attendance is required (even if attendance is not always explicitly recorded).
  • You are responsible for all materials presented in lectures and recitations (and recordings will generally not be available).
  • This includes important announcements that may be made only in lecture or recitation and not otherwise posted on Ed. You are responsible for these announcements even if you do not attend.
  • Missed quizzes and exams may not be made up in general (though certain exceptions are permitted -- see the relevant sections below).
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 two days.

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.

Participation Grade: During some (but not all) lectures and recitations, we will ask you to complete one or more polls to measure both your attendance, status, and attentiveness. Your participation grade will primarily be measured by the perecentage of these that you have completed. Note:
  • You must physically be in attendance in order to fill out the poll, and the poll must be filled out quickly (usually within two-ish minutes). Late poll responses will not count.
  • If you have submitted the excused absence form and received approval, you will be excused from the polls for that lecture or recitation.
  • As long as you've completed 80% of the polls, you are still eligible for a perfect participation score. This is to account for the likelyhood that you will each have a few minor mishaps (i.e. oversleeping, a technical issue with your phone, being in the restroom when the link is shown, or forgetting to properly submit the form). Because of this, we will not excuse you from a poll response for reasons like these, nor will we accept poll responses via email, paper, etc. If you encounter an issue, be proactive in resolving it for next time, and ask our staff for help if needed. If you have completed less than 80% of the polls, your participation grade may begin to decrease.
  • Failure to satisfy other course requirements may also result in a lower participation score (or semester average, in extreme cases). However, we expect that very few students will receive these deductions.
  • Do not share any access to in-class polls with anyone, especially not with anyone who is not a physically-present 15-112 student. If you receive a link or QR code etc. from someone other than the current 15-112 faculty or staff, do not access it. Violating either of these rules will likely result in a zero for your participation grade, and may be considered an academic integrity issue. (If you made a poor decision, you are likely to receive a smaller penalty if you email the course faculty with complete honesty before you are caught.)

Grading

Course Component Weight Notes
Participation 5% See 'Course Requirements' for details.
Homeworks (about 10) 10% None are dropped, but lowest two are half-weighted.
Writing Sessions (about 5) 20% Lowest is dropped, second-lowest is half-weighted. (Updated 7/18)
Style 5% Based on your homework and term project Python code.
Quizzes (about 5) 30% Lowest is dropped, second-lowest is half-weighted.
Final Exam 20%
Term Project 10%

Semester grades will be assigned using a standard scale, as will each assessment and assignment unless otherwise specified:
   A: [90 - 100]
   B: [80 - 90)
   C: [70 - 80)
   D: [60 - 70)
   R:  [0 - 60)

Note that graduate students will be assigned +'s according to the following scale (generalized across letter grades):
   B:  [80-87)
   B+: [87-90)

By default, grades round up to the next letter (so 89.50 is an A, and 89.49 is a B, but this does not apply to +'s, so 86.5 is a B and not a B+). The course instructors may choose to change the scales at their discretion. You are guaranteed that your letter grade will never be lowered as a result of changing the coursewide scales.

Attendance and Participation Policy: As noted above, attendance and earnest participation are required. While not specifically included in the course components above, repeated violation of attendance and/or participation policies will result in a lower semester grade, up to and including course failure.

Assigned
Work

Reading and Checkpoints:
Most weeks, you will be required to read the course notes in CMU CS Academy before you can access that week's homework problems. In order to stay current, read all notes and do all checkpoints up to and including the section indicated on the schedule next to each day's topic. For example, if the schedule says "2D Lists (4.4)" that means we will discuss section 4.4 in lecture that day, and you should at least reach that section (and ideally read it and attempt its checkpoints) before lecture begins.

While Readings and Checkpoints are not specifically included in the semester grade computation, we may use your completion times and dates to gauge your effort and engagement with the course.

Homework:
Homework assignments are generally due Wednesdays and Saturdays at 8pm, and may include any of the following:
  • Exercises assigned from CMU CS Academy
  • Additional exercises not from CMU CS Academy
The 112 Homework Collaboration Policy
Note that this policy is only for homework, and not for projects, quizzes, writing sessions, or exams. For all homework problems, students may collaborate with each other, with others outside the course, and even with AI tools like ChatGPT, so long as you follow these rules:

  • No-Copying Rule
    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. You simply cannot copy code, full stop.

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

  • Debugging Rule
    You are allowed to help debug other students' code, and you are allowed to have other students help debug your code. However, all the rules above apply. You are allowed to make live edits with the debugging help of a friend. But you cannot copy code. And you must obey the 5-Minute Rule if you look at their code.

  • Citation Rule
    While we are not requiring citations for allowed collaboration, you should know that citations are always a very good idea, and are very strongly encouraged. In professional settings, you are flatly required to cite any use of non-original code. At CMU, in any course (not just CS courses), properly cited collaboration cannot be considered an AIV. So it's just a very good practice. Cite your collaboration!

  • Ask-First Rule
    If you are unsure about anything regarding any of these policies, it is always safe for you to ask about it on Ed-Discussion or in email or at faculty or TA office hours. We are happy to discuss anything, and there is no penalty for you asking for a clarification about any of these policies.
Here are some other key points regarding homework:

  • AI Tools (like ChatGPT)
    Again, you are free to use AI tools (like ChatGPT), so long as you closely follow the rules above. However, to be clear:
    • You also will not have access to AI tools on quizzes, writing sessions, or exams.
    • Despite permission to use AI, our strong recommendation is that you avoid AI entirely for any and all coding related to 15-112 (and subsequent classes in algorithmic thinking). Our existing data strongly suggests that if you rely too heavily on AI tools to complete your homework, you will not learn the material well. This will result in lower scores on quizzes, writing sessions, and exams, and an overall worse learning experience for you in the course. If you are using AI, doing well on the homework, and doing poorly on the writing sessions, and quizzes, or if you find yourself attempting to simply memorize homework solutions, this should be a major signal to back away from AI use.
    • Homework will be graded against the 112 style guide. AI tools often violate these rules. You should expect that code derived from AI tools would often receive very low style grades.
    • The bottom line: while you may use AI tools and while you may collaborate, it is your responsibility to do this appropriately and effectively, and in a way that does not compromise your learning experience. If you are unsure if you are compromising your learning, it is best to simply avoid using them.

  • CS Academy
    Homework exercises will usually 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.

  • Late Homework
    Students receive full credit for all assigned exercises that are completed by the HW deadline. Students receive 50% credit for all assigned non-bonus exercises that are completed after the HW deadline but prior to the final exam. That being said, remember that homework is worth very little, so it is usually better to leave unfinished probelems for more current material unless you feel you have not learned the prior material well.
Term Project:
We will include a term project at the end of this semester. This project is larger and more complex than typical homework assignments. More information can be found in the Term Project Assignment writeup, once it is released.

Assessments

Scope:
Any content in the CMU CS Academy notes, on a homework, or covered in lecture or recitation, may appear on quizzes or exams. Writing sessions will be limited to previously-due homework problems.

Writing Sessions
Writing Sessions will be given most weeks, generally in lecture on Mondays (except in week 1, where we will have one on Wednesday). Writing Sessions will be on computers or on paper and will involve solving or answering questions about previously-assigned non-bonus homework problems. These are not intended to be very difficult! The purpose of the writing sessions is to encourage you to complete the homework thoughtfully such that you can rapidly solve similar problems in the future. If you have high homework scores but find the writing sessions difficult, you should re-evaluate your homework strategy and focus on learning the underlying algorithmic approaches.
There are too many homework problems to memorize. Especially because we might make small modifications to the problem, memorization is not a viable strategy, trust us.
If we offer the option to take the quiz on a computer, we will let you know how to prepare a few days in advance. It is your responsibility to make sure you follow those instructions and get help from the TAs ahead of time if needed.

Quizzes
Quizzes will be given most weeks, generally in lecture on Thursdays. Quizzes will be on computers or on paper and will involve writing code and answering written questions about code samples, without the use of other resources. Quizzes generally focus on material from the previous week and the previous homework, though any prior material may appear as well. If we offer the option to take the quiz on a computer, we will let you know how to prepare a few days in advance. It is your responsibility to make sure you follow those instructions and get help from the TAs ahead of time if needed.

Final Exam
There will be a final exam in the last week of the the semester, on July 28. Note that this is earlier than the typical final exam day for summer classes, so that you can spend the last week focusing on your term projects. Do not schedule flights, appointments, or other commitments during lecture on July 28, since we do not plan to offer an alternate time. Contact Prof. Taylor in week 1 if you absolutely cannot take the exam in lecture on July 28. The exam is required, not optional, and it will cover all material present in 112 during this semester.

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

Generally, examples of academic integrity violations include but are not limited to:
  • Copying materials (from any source) in violation of the No-Copying Rule and/or the 5-Minute Rule.
  • Posting homework, quiz, or exam problem statements or solutions online. This is strictly forbidden, regardless of if or how anyone potentially uses your posted problem statements or solutions. Do not post problem statements or solutions online.
    • In particular, this effectively disallows stackoverflow, chegg, github, and all other such sites that require that you post your question so others can see it, and also where answers to your questions may be visible to others. Do not use those sites. Besides, you have ready accesss to so many allowed resources (Ed, TA OH, Faculty OH, classmates, other CMU students, and more), so just use the allowed resources.
  • Attempting to 'hack', decompile, disrupt, or misuse the autograder, testing environment, or course tools.
  • Not securing access to your work, e.g., not having a password on your laptop where a roommate or friend could access your work without your knowledge.
  • Answering in-class polls or forms when not physically present (or providing links or similar access to someone who may do this).
  • Intentionally misrepresenting 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.
Assessments:
Examples of cheating on assessments (such as Quizzes, Writing Sessions, 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.
  • Providing or receiving links/passwords/codes to quizzes, checks, exams, or other assessments to anyone else.
  • Saving or copying any assessment materials so they are available outside of the online quiz/midterm/exam environment.
  • Discussing 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. So for instance, the No-Copying Rule and 5-Minute Rule apply here. Besides, consulting or copying your prior homework answers or term project solutions will only hurt your learning.

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 (for example, cheating during a quiz or exam) even if the assignment/assessment is worth very few points. 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 may not drop the course if you have an academic integrity violation (except in rare cases where you are granted faculty approval).

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:
  • Given the 50% late homework policy above, and because it is typically better to focus on the most current material, extensions on homeworks generally will not be granted. However, for truly extreme cases (such as long-term hospitalization), longer extensions may be granted, with the specific appropriate accommodation determined by course faculty in such cases.
  • Extensions are not generally granted for quizzes. Instead:
    • For excused absences on quiz days, the student is entirely excused from that day's quiz, so the quiz does not factor into the student's semester grade.
    • For unexcused absences, the student receives a 0 on that quiz.
  • Extensions may only granted for project deadlines in the most extreme cases, due to the tight timeline and the project being due on the last day of the semester already.
  • Extensions may be granted for exams when there is a qualifying reason on the date of the exam (see below).
  • Unless impossible, extensions and excused absences must be requested before the deadline or lecture/recitation period. So that we can process requests for such a large class, extensions/excused absences must always be requested through the proper from. 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 Late Homework Policy above. Any homework exercises completed after the homework grading script is run (2 days after the hw deadline) 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 typically 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 (not through Gradescope).
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.

Submission,
Formatting,
Syntax,
and Linter
Errors

You are responsible for ensuring that all assignments and forms and assessments are successfully submitted. All 15-112 google forms should send you a confirmation email after you successfully submit. If you do not receive that confirmation by email, the form was not properly submitted. It is your responsibility to try again, and to contact the course staff if you are still not receiving confirmation.

Misformatted assignments or code with syntax or linter errors, in general, cannot be graded by our autograder, and will typically receive a zero. Therefore, be sure to test your homework early, and thoroughly read any autograded feedback to be sure you are getting the score you expected. If you must upload a file to Gradescope or any other system, it is also your responsibility to check that you successfully submitted the file you intended. (Note: Any manually-graded problems will not have a score immediately.)

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

Extended Time: students who receive Office of Disability Resources (ODR) approved extended-time on assessments will be proctored by ODR's testing center. The course faculty will email you with instructions for scheduling your assessments during Week 1, or upon receipt of your memorandum. ODR requires you to schedule extra-time assessments at least five days in advance. Many students find it helpful to schedule all of their quizzes and exams at the beginning of the semester. Extra-time assessments must take place on the same day as the in-class assessment unless otherwise approved by the course faculty.

Important: to use extra time, you must sign up for a proctoring time outside of lecture with ODR, and not the normal-duration quiz or exam. You do have the option of attending the normal-duration quiz or exam, but then you will have to complete it in the assigned time (without extended time). If you plan to take an extended-time quiz, you do not need to be present in lecture until the standard-time quiz is over (usually in the first 20-25 minutes)

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
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. As we begin the semester, we want you to know:
  • 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. To varying degrees, we all struggle with these feelings. If you find yourself struggling, let us know and we will do our best to help you overcome self-doubt and find a path forward.
  • We are always eager for new ideas and constructive feedback. If you would like to talk to someone about your experiences, we are eager to listen.
  • We love helping students to explore and develop their strengths. If you would like advice for seeking new opportunities beyond 112, please come talk to us.
Please join us in our commitment to a more welcoming and equitable community, and if you are eager to personally provide an even better experience for future 112 students, consider applying to be a TA for next semester!

Devices
and
Recording

In order to minimize distractions and foster the best learning environment for everyone, students 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.