CMU 15-112: Syllabus
Spring 2023 (Lecture 3/4)

   
Lecture3/4 Lecture3/4 is a special invitation-only experimental version of 112. All 112 students had the entirely-optional opportunity to engage in semi-self-study over winter break (with some TA-led office hours and piazza support). Students who made substantial progress are eligible to opt-in to lecture3/4 (on a form we posted to such students). Students who were not eligible or did not opt-in will be in lecture1/2 as normal. But those who are eligible and opted-in will be in lecture3/4 this semester.

Some additional important details:
  • Lecture3/4 is distinct from lecture1/2. Lecture3/4 has its own website, syllabus, schedule, course policies, staff, piazza, and office hours.
  • Lecture3/4 will start the semester well ahead of lecture1/2's schedule, recognizing all the hard work and solid learning that lecture3/4 students did over winter break.
  • Lecture3/4 will generally have less lecture time each week, and will sometimes be paced a bit slower than lecture1/2, again recognizing the work over winter break.
  • Lecture3/4 will cover the same basic material as lecture1/2, but will use alternate materials and teaching methods.
    • Lecture3/4 has its own quizzes. These will cover the same general content and be at the same general level of rigor as lecture1/2 quizzes. Lecture3/4 may cover some additional material not in lecture1/2, and this material may appear on lecture3/4 quizzes, if perhaps not for too many points.
    • Lecture3/4 exams (midterms and final) will be substantially similar to, or perhaps identical to, lecture1/2 exams.
    • Lecture3/4 will have its own term projects. Details will be provided later this semester.
  • Lecture3/4 is an experiment, and we may make reasonable adjustments to the policies and schedule as we go.
Winter Break Credit Students who made the required progress to be eligible for lecture3/4 completed a substantial amount of work over winter break. We will count this work towards your semester grade in the form of several homework assignments.
Covid Almost all required lecture3/4 events will be taught in-person. Due to covid, however, this continues to be a time of flux for all of CMU. Bear in mind the following:
  • If you are feeling ill or have been in close contact with someone with covid, do not attend any in-person course events. Nobody wants you to take that risk, especially us. Contact us and we will do our best to provide you the support you need.
  • We are fully committed to your health, well-being, and happiness. We stand ready to change any course policies should we feel that you would benefit from those changes.
Time
Zone
Unless otherwise stated, all times in all course-related documents and correspondence will be in Pittsburgh time (ET). Note that Autolab in particular may show times in your local time, but our course website uses Pittsburgh-time.
Previous
Versions
Previous versions of 15-112:
F22-3, S22-3, 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
Some Previous Summers:
N21, M20, N19, M19, N18, M18, M12, APEA-09, APEA-08
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: 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:
  • Write clear, robust, and efficient code in Python using:
    • sequential, conditional, and loop statements
    • strings, lists, tuples, sets, and dictionaries
    • objects and classes
    • recursive approaches
    • graphics and interaction
  • Develop programs to effectively solve medium-sized tasks by:
    • employing modular, top-down design in program construction
    • demonstrating an effective programming style based on established standards, practices, and guidelines
    • proactively creating and writing test cases to test and debug code
    • applying computational problem-solving skills to new problems, especially in the student's home academic discipline
    • explaining and analyzing the efficiency of algorithms
  • Design and write a substantial program in Python with minimal guidance
Topic List
and Schedule
See the topic list and schedule here (includes schedule of homeworks, quizzes, and exams).
Schedule
of Classes:
Important notes:
  • Use Autolab's Roster: Check Autolab (and not SIO) to confirm your assigned lecture and recitation times.
  • Lecture Attendance: You must attend the daily assigned lecture in-person. If you must miss a lecture due to circumstances outside of your control (i.e. if you have an illness) fill out a request for an excused absence in the excused absence/extension form, located on the Lecture3/4 Forms page prior to your assigned lecture.
  • Recitation Attendance: You must attend your assigned recitation in-person. If you must miss a recitation, you should email your recitation TA's beforehand to inform them of the situation and (if applicable) fill out a request for an excused absence in the excused absence/extension form, located on the Lecture3/4 Forms page
  Days Lecturer / TA's Time Room
Lecture 3 TR David Kosbie (koz) 9:30am - 10:50am DH A302
    Section AA W Andrea (arwang) + Gleb (gryabtse) + Lynn (lckim) 5pm - 5:50pm GHC 4101
    Section BB W Helen (jingzhi3) + Melinda (melindac) 6pm - 6:50pm GHC 4101
    Section CC W Deniz (mbirlikc) + Wen Hui (wleng) 7pm - 7:50pm GHC 4101
    Section DD W Cynthia (cmeah) + Ethan (ethankwo) 4pm - 4:50pm GHC 4101
    Section EE W Steven (stevenz2) + Grace (gtwei) 4pm - 4:50pm GHC 4102
    Section FF W Audrey (ahasson) + Tiger (rhuo) 6pm - 6:50pm GHC 5207
Lecture 4 TR David Kosbie (koz) 3:30pm - 4:50pm GHC 4101
    Section GG W Christina (ctavlara) + Liv (oduvanic) + Orelia (opi) 5pm - 5:50pm GHC 5207
Lecture Flow: While there will be exceptions, this is the general flow of lectures (note that all lectures and recitations are required):
Tue Lecture (80 minutes)
  1. quiz (30 minutes) (also counts as Attendance form)
  2. notes review + recitation prep (50 minutes)
Wed Recitation (50 minutes)
  1. Attendance form
  2. interactive group-based problem-solving
Thu Lecture (80 minutes)
  1. Attendance form
  2. Hw hints (as needed)
  3. Additional Material (case studies, additional topics, etc)
  4. Occasional fun optional events (kahoots, coding contests, etc)
Office Hours
and More
Instructor Open Office Hours:
  • David Kosbie (koz)
    • Tue 11am-12pm
    • Thu 12:30pm-1:30pm
    Note: My office hours will be either in or near my office, GHC 5001. If not in my office, then check either the 5th floor commons, or -- especially in nicer weather -- the 6th floor outdoor patio.
Lecture3/4 TA Office Hours:
Lecture3/4 will have its own TA office hours. These will generally be in-person, though we may add remote OH as needed (perhaps due to covid restrictions, should they arise). You should attend lecture3/4 office hours for homework questions or Fix-its. Note that you should not attend lecture1/2 office hours. Please be sure to join the "15-112 Lecture3/4" OH queue (rather than the lecture1/2 OH queue), and join the zoom link in the Lecture3/4 Zoom Links spreadsheet if office hours are remote.
Mon Tue Wed Thu Fri Sat Sun
5pm - 6pm
(in-person,
GHC 5th Floor Commons)
8pm - 9pm
(in-person,
GHC 5th Floor Commons)
7pm - 9pm
(in-person,
DH 2210)
5pm - 9pm
(in-person,
GHC 5th Floor Commons)
5pm - 9pm
(in-person,
GHC 5th Floor Commons)
4pm - 5pm
(in-person,
GHC 5th Floor Commons)
4pm - 5pm
(in-person,
GHC 5th Floor Commons)
Note: The GHC 5th Floor Commons are immediately to the right as you enter GHC from the Pausch Bridge.

Lecture1/2 TA Office Hours:
You should only attend lecture3/4 OH. Please do not attend lecture1/2 OH.

Piazza Virtual Office Hours:
Lecture3/4 will also have its own piazza. Please use lecture3/4's piazza and not lecture1/2's piazza.

Large-Group Sessions:
Lecture3/4 will have its own large-group sessions. Please use lecture3/4's large-group sessions. You may also attend the Optional/Advanced Lecture if there is one that week, or (in addition to your own recitation) the Spicy Recitation for lecture1/2 if you would like. See the lecture1/2 syllabus for details.
Make-up Lecture (*) Quiz Solution Session Quiz Prep Session
Tue/Thu 8pm - 9pm
(remote (**))
Tue 7pm - 8pm
(remote (**))
Sun 2pm - 3pm++
(in-person, TEP 1403)
(*) Note that you may only attend the remote make-up lecture if you have a pre-approved excused absence from that day's in-person lecture.
(**) Note that zoom links for remote large groups will be in the zoom links spreadsheet.
Required
Software:
There is no required textbook for this course. We will primarily use the CMU CS Academy notes and resources instead.

You should have a computer (ideally a laptop), however it does not need to be very new or powerful. We recommend an Apple or Windows laptop, though common distributions of Linux (such as Ubuntu) will also work. Chromebooks will also work with CMU CS Academy, though may not work with other Python graphics packages. Please email the course faculty 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. We will email you with your account info.
  • Python version 3.9 or 3.10 but not 3.11, which can be freely downloaded from python.org.
  • We may also use apps and sites that use Brython, which is a version of Python that runs in web browsers.
  • While not required, we recommend that you download and install VS Code. Here are some instructions for you.
  • We may also use one or more free IDE's (code editors) and other free software packages.
Course
Requirements:
Participation with earnest effort in this course is required and consists of the following activities:
  • Attending and participating in all the lectures, recitations, and required events.
  • Carefully reading the course notes and other assigned readings.
  • Thoughtfully completing the homework assignments, and the term project with earnest effort.
  • Taking all the required quizzes and exams.
Attendance is required You will be responsible for all materials presented in lectures and recitations. Note that 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 Piazza posts carefully. You are responsible for knowing this information, including any changes or additions to policies, deadlines, etc.

Important Note: failure to satisfy these course requirements will result in deductions in your semester grade, up to and including course failure, at the sole discretion of the course faculty.
Grading: Lecture3/4 will use these weights and policies for semester grades:
 Course Component   Weight   Notes 
Attendance and
Participation
5% After 4 unexcused absences, each additional is -10 from attendance grade.
Participation grade is based on not just attending but fully participating.
Solo Homeworks 25%None are dropped, but lowest 2 hw's are half-weighted.
Term Project 10% Failing the term project automatically results in failing the course.
Quizzes (about 7) 10%Lowest 2 quiz grades are dropped, third-lowest is half-weighted.
Exams (3) 50%Lowest exam grade is dropped, except the final cannot be dropped if it is taken.

Exam Policy: There are three (3) exams -- 2 midterms and 1 final. Your lowest exam score is dropped -- except if you take the final, it cannot be dropped. This also means that you can entirely skip one exam (unexcused) if you wish. For most of you, this would likely be the final exam, which due to this policy is optional (though, again, if you opt to take the final, then it cannot be dropped).

Midsemester and Semester grades will be assigned using a standard scale, as will each homework, quiz, midterm, term project, and final, as such:
   A: 90 - 100
   B: 80 - 89
   C: 70 - 79
   D: 60 - 69
   R:  0 - 59

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

The course instructor 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 scales.
Homework: Hw Due Date and Time:
Homework assignments are generally due Friday at 11:59pm Pittsburgh-time, as listed in the course schedule.

Solo Hw:
Homeworks are entirely solo unless the assignment very explicitly allows you to collaborate. See the "Academic Integrity" section below for more details. That said, you always have access to extensive help provided by the TA's and course faculty.

CS Academy
Lecture3/4 homework is on the CS Academy website. Each CS Academy assignment has a required number of "stars" listed like this:
    "Section Exercises:   ⭐ 0 / 11."
If you complete fewer than the required number of stars, you will receive a score equal to the percentage of required stars you completed. For example, if there are 16 required stars and you complete 8, you will receive 50%. If you complete all of the required stars you will receive 100% on the assignment. Each star you complete over the required number is worth 0.5 percentage points of bonus on the assignment. Thus, if there are 16 required stars and you complete 19, you will receive a 101.5% on the assignment.

Hw Code Reviews:
Some subset of the assigned hw's will include a "code review", sometimes between you and a TA, other times between yourself and a small group of other students (these are called "peer code reviews"). In these sessions, you will discuss the quality of your code, and in a peer review you will also discuss the quality of your peers' code -- regarding its design, algorithms, style, user interface, and perhaps more. Code reviews are an invaluable tool used in industry to help software professionals become all the more effective at their craft. Our code reviews share the same purpose. For hw's that have code reviews, they are worth 10% of that hw, and your grade is entirely based on your thoughtful, active, fully-engaged participation.

Hw Grace Days
A grace day is a penalty-free hw extension day, intended to give you some flexibility in hw deadlines. You may use up to 2 grace days on any given hw, and up to 4 total grace days over the entire semester. Note that excused absences and other excused extensions do not count towards your grace day total. You do not sign up for grace days. Instead, you simply keep working on a hw after the original deadline, for up to 2 additional days. Then, each Monday, we will automatically assign your ideal use of grace days for all hw's up to that point. Note that a hw may at first use a grace day or two, only to have that change later in the semester if a later hw would earn more total points for you by using those grace days. In any case, we will always assign grace days to optimize your total points. In this way, you can safely work for a short while past a hw deadline if necessary, without worrying about whether you should save grace days that you may need later in the semester. On the other hand, since you only have 4 total grace days, you should in general try to actually meet the hw deadlines, and only plan on using grace days to provide a small bit of deadline flexibility for you as needed.

Green-Check Errors
Sometimes we will cover CS Academy exercises in lecture or recitation, and then we will give you "green-check credit" for attending (and paying careful attention, of course). If for any reason you did not fill out the attendance form for a day you attended, and thus did not receive green-check credit for that day, contact Lynn (lckim@andrew.cmu.edu) (one of our Head TA's) immediately. If we approve your request, you will get "green-check credit" on the date of the request (and not the original date of the lecture or recitation). This may result in you using a grace day or two, or if it is more than two days after a homework deadline, simply not receiving credit for these exercises. Thus:
  1. Please be sure to fill out the attendance sheet for events that you attend, and
  2. Please be sure to verify that you received the green checks you believe you earned by each homework deadline, and if not, contact us immediately.
"Fix-Its": Most quizzes this semester will include "fix-its". Fix-its allow you to earn back some partial points that you lost on quizzes by studying and fixing your errors on FR's (Free Responses). Note that fix-its only apply to Free Responses (FR's) and not Code Tracing or other Short Answers. Some more details for quizzes that include Fix-Its:
  • For Tuesday quizzes, Fix-Its are available at TA OH that same week on Tue, Wed, and Sat (but not on Thu or Fri, when OH is too busy focusing on that week's hw).
  • Students must prepare all their fixes to all the FR's, though the TA will randomly select just one FR (even if several have issues) and the student will orally explain how to fix their errors on that one specific FR on the quiz. Students may view their incorrect submission (if they bring it along -- TA's will not provide it), but they cannot view anything else (such as a working solution). Students responses must be prompt and clear. The whole interaction will last no more than 3 minutes. Any longer results in a score of 0.
  • Scores for fix-its are: fully-correct, nearly-correct, somewhat-correct, other-attempt, no-attempt
  • Students must not only explain the correct solution, but also clearly explain the errors they made. Just explaining the correct solution without explaining the specific errors will result in a score of "other-attempt".
  • Fix-Its are worth 10% of that same week's quiz grade, as such:
    • fully-correct: 10/10
    • nearly-correct: 7.5/10
    • somewhat-correct: 5/10
    • other-attempt: 2.5/10
    • no-attempt: 0/10
  • Students who scored 100% on all FR's automatically receive a score of "fully-correct" for Fix-Its, and thus 10/10.
Attendance Forms: It is an AIV (Academic Integrity Violation) to share an attendance form link with anyone who is not in attendance. It is also an AIV to fill out an attendance form for an event that you did not attend, or that you attended only in part and were not present when we filled out the attendance form.

In general, attendance is based on attendance forms. If you attend, but are not listed in the attendance form, then you will not get credit for attending, no exceptions. Attendance forms are due when the form is posted, during the event. You may not fill out the form after the event, again no exceptions. If for some reason you cannot fill out the form at the event, then you must contact a TA or course faculty immediately at that time to resolve the issue. We will not update attendance forms after events.
Academic
Integrity:
Philosophy:
We begin by choosing to trust each of you individually. Do not be one of the few who loses that trust. If you cheat, expect to be caught, and expect significant consequences. Use common sense and understand these rules.

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 expect you to uphold CMU's more general academic integrity standards. Attempting to exploit technicalities simply reduces our assurance that you fully learned from the mistake. If you are unsure of something, you only need to 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:
  • Claiming or submitting as your own any work or code you did not fully author, explicitly or implicitly, no matter how small.
  • Missing or inaccurate citations
  • Discussing any part of assignments or assessments with anyone else (besides current 112 TA's and course faculty), no matter how briefly or casually, in-person or via Discord/WeChat/Zoom etc unless the assignment explicitly allows it.
  • Looking at any part of anyone else's solutions to an assignment or assessment, or showing anyone else any part of your solutions no matter how briefly or casually.
  • Asking or answering any questions about assignments or assessments anywhere except through official 112 resources, or sharing/viewing any part of assignments, assessments, or solutions in-person or online in any way. In particular, this disallows stackoverflow, chegg, github, and all other such sites.
  • Attempting to 'hack', decompile, disrupt, or misuse the autograder, testing environment, or course tools.
Homework:
Unless otherwise noted, all homework exercises are solo, meaning that 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 TA's and course faculty. We strongly encourage you to use this support!
Note: If at any point we offer a hw solution session, you may not turn in an assignment after attending/watching any part of its solution session, even with an extension or grace day.

Term Project:
Details about the term project will be added here later this semester.

Assessments (Quizzes and Exams):
Examples of cheating on assessments (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.
  • 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. 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 Detector:
Programs are naturally structured, which makes them very easy to compare. Here is a short video demonstrating one of several automated detection methods we use on every assignment. In short: if you copy (or even reference code), including work from prior semesters, we will be able to tell.

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). Possible penalties include:
  • Receiving a 0 or -100 on the assignment/assessment, which cannot be half-weighted
  • Receiving a semester-average deduction, most commonly a full-letter-grade.
  • Automatically failing the course

Penalties may also be accompanied by a report to the Dean of Student Affairs and/or the Office of Community Standards and Integrity. This can lead to additional university-level penalties, such as being suspended or expelled. 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
See the Forms page for this semester's Extension and Excused Absences Request Form.

Here are the generally accepted reasons for approved extensions and excused absences from required course events (chiefly lectures and recitations):
  • Medical Emergencies: if you are on campus and you are feeling sick, contact Student Health Services. Students who have prolonged absences due to medical treatment may obtain extensions from the instructors at their discretion, or by request from Student Health Services, any medical professional, or an advisor, housefellow, etc. While we do not need medical specifics, please provide some form of documentation (such as a receipt from Student Health Services) that indicates you are receiving treatment.
  • Family/Personal Emergencies: if you are having a family or personal emergency (such as a death in the family or a mental health crisis), reach out to your academic advisor or housefellow immediately. They will help support you in your time of need, and can also reach out to all of your instructors (including 15-112 instructors) to request extensions for you.
  • University-Related Absences: if you are attending a university-approved or clearly university-related event off-campus (such as a multi-day athletic/academic trip organized by the university), 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. If possible, you must provide confirmation of your attendance, usually from a faculty or staff organizer of the event.
  • One-Time Multi-Day University-Related Event: 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 granting an extension on that week's homework.
Please note that extensions must be requested before the event (whether it is a lecture or recitation or an assignment/assessment deadline). Additionally: if a religious day you observe conflicts with an assignment date or event, let the course instructors know in advance -- we may be able to provide extensions or move assignment dates in some cases (though because the course moves extremely fast, we urge you to start the assignment early instead).
Late Policy: No late or 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 which you would like us to correct, please submit a regrade request using the form in the Forms page. Regrades must be requested within one week of the time when the contested grade was released. Note: regrade requests will result in the entire problem being regraded, not just the possibly-incorrectly-graded part and thus may result in perhaps lower grades.
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.

We may record certain large group events, and make these available to currently-enrolled students until the end of the semester.

Camera policy: We request that you to keep your camera on during all remote events, as this will provide the best learning experience for you and your classmates. We suggest you use a virtual background if you are uncomfortable with your environment being visible to others. You may alternatively use a face-tracking virtual avatar if you wish. That being said, if you have accessibility or equity concerns that are not solved by either of these solutions, please let us know. For 1-on-1 meetings, assessment proctoring, or group events of 5 or fewer people, we do require your camera to be on unless you have approval from the attending TA or the course faculty.
Accomm-
odations:
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 either by ODR's testing center or the course staff, depending on ODR's capacity. The course faculty will email you with instructions for scheduling your assessments during Week 1, or upon receipt of your memorandum. In order to meet the logistical challenges of additional proctoring, we ask that you schedule extra-time assessments at least five days in advance. 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 (or you must attend the extra-time quiz or exam time if proctored by the course staff), 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 extra-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 you during this unusual semester, please contact the course faculty 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.
Waitlist: If you are on the waitlist, we hope to get you into the class, but because of room restrictions, you may not attend in-person events without faculty approval, or once you are officially off the waitlist.
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. 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:
  • We are always eager for new ideas and constructive feedback on how to improve accessibility and inclusion.
  • If you would like to talk to someone about your unique experiences in the course, at CMU, or elsewhere, we are eager to listen.
  • We love helping students find new opportunities using their 112 skills. If you need help making connections or showcasing your abilities, we'll do our best to help! (This is an invitation for everyone, but especially our underrepresented or disadvantaged students.)
  • If you know of an event or group that is of particular interest to 112 students, especially those which empower our underrepresented or disadvantaged populations, (including but of course not limited to BIPOC, Latina/o/x/e, LGBTQIA+, and women in technology/higher education) we are eager to promote these through Piazza.
  • If you are looking for events or groups to connect with socially or professionally, please talk to our TAs and faculty so that we can help!
  • 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 questioning whether you deserve to be at CMU or in this class, we urge you to come talk to us, and we'll do everything we can to help you overcome those doubts.
Lastly, we call on each of you to join us in our commitment to a more welcoming and equitable community. Always seek awareness of your own unconscious biases, and also remember that certain things like neurodiversity, religion, gender identity, and socioeconomic status are not always immediately apparent. Support your fellow students academically and socially. 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!
Well-being &
Happiness:
We care very much about your well-being and happiness. Yes, CMU students (and faculty) work hard, sometimes very hard. But we must keep our balance and always attend to our well-being and happiness. That comes first, academics follow. 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 in 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, or 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.