Syllabus

Quick links:   Recitations   Resources   Grading

Previous
Versions

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

Description

We often hear that technology is changing the world around us. But it’s not the technology transforming our world–it's the people–who design, develop, and analyze computer systems and software to solve big problems. This course will teach the fundamentals of computational problem solving, using Python, a powerful and versatile programming language. This course is a technical introduction to 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 is taught using a hands-on approach, with students completing programming assignments both in homeworks and in quizzes. Lastly, the course will culminate in a term project where students will design and implement a substantial Python program from the ground up.

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.

Instructor: Ranysha Ware (Ray) (rware@andrew.cmu.edu)

Learning
Objectives:

What will I learn in this class?

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
    • recursive approaches
    • graphics and interaction
  • 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
  • Applying debugging techniques to find and fix errors
  • Reflect on their learning, identify areas where they need to improve, and grow from mistakes
  • Design and implement a substantial program in Python with minimal guidance
  • Topic List
    and Schedule

    See the topic list and schedule here (includes schedule, notes, pre-reading, homeworks, quizzes, and exams).

    Schedule
    of Classes:

    When and where is class?

    Important notes:
    • Use Autolab's Roster: Check Autolab to confirm your assigned lecture and recitation sections.
    • Lecture Attendance: Lecture attendance is required. Multiple unexcused absences will affect your participation grade (see below). If you must miss a lecture due to circumstances outside of your control (e.g., if you have an illness) fill out a request for an excused absence in the excused absence/extension form, located on the 112 Forms page prior to your assigned lecture.
    • Recitation Attendance: You must attend your assigned recitation section each day. Multiple unexcused absences will affect your participation grade (see below). If you must miss a recitation, you should email your recitation TAs beforehand to inform them of the situation and fill out a request for an excused absence in the excused absence/extension form, located on the 112 Forms page
    • Unless otherwise announced via Piazza, all events are in-person only.
    • 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.
    Days Lecturer / TAs Time Wed Room
    Lecture 1 M/W/T/Th/F Ray (rware) 11:00am - 12:20pm POS A35
        Section A1 M/W/T/Th/F Liv (oduvanic), Riley (rkrzywda) and Sheng (shengshu) 2:00pm - 2:50pm GHC 4101
        Section A2 M/W/T/Th/F Samuel (samuelch) and Rubie (reshay) 2:00pm - 2:50pm GHC 5222
        Section B M/W/T/Th/F Avi (aarya2), Mia (shengzhk) and Rong (rongyuan) 3:00pm - 3:50pm GHC 4101
        Section C1 M/W/T/Th/F Peter (pkhoudar) and James (changyaw) 4:00pm - 4:50pm GHC 4101
        Section C2 M/W/T/Th/F Emily (ealiu), Hanson (jiaheng2), and Maerah (maerahm) 4:00pm - 4:50pm GHC 5222
        Section D1 M/W/T/Th/F Anna (annalee), Gleb (gryabtse), and Teadora (tgildeng) 5:00pm - 5:50pm GHC 4101
        Section D2 M/W/T/Th/F Theo (tkroenin) and Sonya (skarnata) 5:00pm - 5:50pm GHC 5222
        Section E M/W/T/Th/F Amalia (akamon) and Jieun (jieunlim) 6:30pm - 7:20pm GHC 4101

    Required
    Materials:

    What do I need to take this course?

    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 very new or powerful. We recommend an Apple or Windows laptop, though common distributions of Ubuntu will also work. If you're using a Mac, make sure to upgrade your OS to the most recent version your laptop supports, or at least to macOS 10.15 (Catalina). Chromebooks may work early in the semester while working entirely on the CS Academy website, but may not work for creating standalone graphical applications, which will be necessary for end-of-semester term projects. Please contact us if you cannot reasonably get access to a computer.

    You will need to bring to lecture and recitation an internet-accessable device that is able to, at the very least, access Piazza and Google Forms and respond to poll questions. A laptop will certainly work; a smartphone or tablet should be sufficient also. Please contact us if you cannot reasonably access a device that you can bring to each lecture.

    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.10, which can be freely downloaded from python.org. Note that Python 3.11 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 consists of the following activities:
    • Attending and actively participating in all the lectures, recitations, and required events.
    • Carefully reading the course notes and other assigned readings and completing pre-reading checkpoints.
    • Thoughtfully completing the homework assignments, and the term project with earnest effort.
    • Taking all the required quizzes and exams.
    Attendance is required (even if attendance is not always explicitly recorded).
    • You will be responsible for all materials presented in lectures and recitations (video/audio recordings will generally not be available).
    • 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 instructor Piazza posts carefully. You are responsible for knowing this information, including any changes or additions to policies, deadlines, etc.

    Grading:

    How will my grade be calculated?

    Assessment Weight Notes
    Attendance, Participation, and Pre-reading 10% This grade will be assigned based on completing 80% the following:
    • Participating in polls and activities in lecture
    • Reading notes and completing checkpoints in pre-reading
    • Completing attendance polls at the end of recitation
    Homeworks 20% Lowest 2 are half-weighted
    Quizzes (4) + TP Deliverables 45% Lowest one is dropped and second lowest is half-weighted
    Final Exam 10%
    Term Project (TP) 15%

    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 - 90)
       C: [70 - 80)
       D: [60 - 70)
       R:  [0 - 60)

    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)

    By default, grades do not round up to the next letter (so a 90 is an A, and an 89.9 is a B). 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.

    Assessments:

    What is the assigned work I will have to do?

    Attendance and participation:
    Attendance for recitation and lectures is required. You will have to complete an attendance form at the end of every recitation. You are expected to participate in in-class activities during lecture. This may require completing a poll, talking to a partner, writing reflections, or some other active learning activity.

    To recieve full credit for attendance and participation you need to complete atleast 80% of the in class activities, 80% of recitation polls, and 80% of the pre-reading checkpoints (green checkmarks) across the whole semester. A very small number of unexcused absences and missed in-class polls will not change your grade. However, if you do have an absence that is excusable, you should promptly follow the excused absence policy below. We will not approve late requests.

    Pre-reading and pre-reading checkpoints:
    Each day you will be expected to read a specific set course notes in CMU CS Academy (including code snippets and walk-through videos) as required reading in preparation for the following day's topics. Most of these notes contain checkpoints that must be completed prior to the checkpoint deadline.

    The pre-reading checkpoint assessments will typically be due by the lecture time at 11am each day M/W/T/Th/F. You should regularly read the course schedule and any course announcements, as there will be a few exceptions.

    Homework:
    Homework assignments will be primarily completed on the CMU CS Academy website with few exceptions. These assignments will include code tracing exercises and free response exercises requiring writing code, which are all generally autograded. More information on homework assignments can be found when the assignments are released. The homework allows you to get practice on solving problems in an untimed environment with unlimited tries to automatically check solutions in CS Academy. The lowest two homework grades will be half-weighted.

    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 TAs and course faculty. To get help on the homework assignments, you can go to daily office hours and/or post questions to Piazza.

    Quizzes:
    Quizzes will be given once a week on Mondays. Quizzes will be on paper and will involve writing code and answering written questions about code samples, without the use of other resources. Quizzes may also occasionally have true/false or multiple choice questions. Quizzes generally focus on material from the previous week and the previous homeworks, though any prior material may appear as well. The lowest two quiz grades (including TP deliverables) will be half-weighted.

    While homework is for practice, quizzes are a time to demonstrate your understanding of the material in a timed environment with no ability to check the correctness of your answers using a computer. This gives you the opportunity to demonstrate if you can apply the concepts we learn and practice through homework each week to new problems. In addition to usual course resources, to help you prepare for quizzes, we will offer practice quizzes as well as quiz review sessions.

    • Fix-its: "Fix-Its" allow you to earn back some partial points that you lost on quizzes by submitting fixed versions of portions of them soon after they are graded. More information on how to complete fix-its will be released via Piazza.
    Final Exam:
    The final exam will also be on paper and involve writing code and answering written questions and code samples, without the use of other resources. The final exam is approximately worth the same as a quiz, but is not able to be half-weighted. It will be a similar format as a usual quiz, but it will be cumulative and cover all of the content from the entire course. To help prepare for the final exam, we will review in lecture and we will have a practice final as well as final review session.

    Term Project:
    The Term Project will be the last major course activity of the semester. You will design and build a substantial program of your choice with the guidance of a mentor TA. More information can be found in the Term Project Assignment writeup, once it is released. The Term Project aims to allow you to to express creativity and demonstrate all of the knowledge and skills you’ve learned over the entire course. Your TP will indicate your tremendous growth as an autonomous problem-solver and programmer over the course of the semester.

    The Term Project will have 3 deliverables: TP1, TP2, and TP3. Term project deliverables TP1 and TP2 combined are worth one quiz grade. This is so the earlier deliverables are able to be half-weighted like the quizzes. This allows you to still get credit for the intermediate work, while not penalizing you significantly for struggling at the beginning of TP season. TP3, the final Term Project deliverable, is worth 15%.

    Office Hours
    and Course
    Resources:

    How can I get help?

    15-112 can be an intense course, but it becomes much more manageable if you use the course resources well. These resources include:

    Course Notes:
    The course notes on CS Academy and linked on the schedule, are full of useful information and examples that can help you approach the assignments! When you don't understand a concept, try reading (or re-reading) the notes and watching the associated videos first. We may occasionally provide additional course notes on the course webpage.

    Recitation:
    Recitation are daily 50 minute class sessions led by TAs. TAs will go through solving problems related to the content covered in that day's lecture. Attendance is required.

    Small-Group Sessions:
    Small group sessions are weekly sessions led by a TA during the end of the week. They are an opportunity to review the week's material in preparation for Monday's quiz in a smaller group. More information on how to sign up for small group (which is optional) will be posted on Piazza.

    Large-Group Sessions:
      Session Time Location
      Quiz prep sessionSun, 4:00pm-5:30pmGHC 4401
      Quiz solution sessionTue, 7:30pm-8:30pmGHC 4401
      Spicy/Exploratory sessionTBD weeklyWill be announced on Piazza
    • During quiz prep sessions, TAs will go over the solutions to an optional practice quiz to help prep for the week's quiz.
    • Unless indicated as remote, all of these sessions are in-person, optional, and will not be recorded. If you wish to attend but are unable to, we recommend that you ask any questions you have on Piazza or in OH.
    • If at any point we offer a homework solution session, you may not turn in an assignment after attending/watching any part of its solution session, even with an extension or grace day. Doing so will be considered an academic integrity violation.

    Instructor Open Office Hours:
      Times and locations are subject to change. See Piazza for any changes.
      Day Time Location Instructor
      Mon 1:00pm-2:00pm GHC 4126 Ray
      Tue 3:00pm-5:00pm GHC 4126 Ray
      Wed 1:00pm-2:00pm GHC 4126 Ray
      Fri 1:00pm-2:00pm GHC 4126 Ray
    • During these open OH, you can ask questions about anything, or just listen in and maybe pick up some neat stories. These are open OH, so they are not private.

    TA Office Hours:
      Times and locations are subject to change. See Piazza for any changes.
      Day Time Location
      Mon 8pm-9pm GHC 5th floor commons
      Tue 12:30pm-2:30pm GHC 5th floor commons
      Wed 8pm-9pm GHC 5th floor commons
      Thu 5pm-7pm GHC 5th floor commons
      Fri 7pm-8pm GHC 5th floor commons
      Sat 3pm-4pm GHC 5th floor commons
      Sun 2pm-4pm GHC 5th floor commons
    • TA office hours let you ask questions to a TA directly, and they can help you understand concepts and debug programs that you're struggling with alone. 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, valuable questions. If you need more general guidance than can be provided in 5 minutes, asking questions on Piazza may be a better option.

    Piazza:
    • You are responsible for carefully reading all of the content in all instructor posts on Piazza.
    • You may also use Piazza to ask questions, but you must carefully read our Piazza posts on and guidelines first (for example, any questions related to the homework must be private and addressed to "Instructors").
    • (Note: If you need to get in touch with only Ray, or perhaps a specific TA, email (using your andrewID) is best. Piazza is great for general questions addressed to "Instructors" however, since these are visible to all TAs and you'll get a response relatively quickly.)

    Exploratory/Spicy Sessions:
    • Optional exploratory/spicy sessions will cover topics that are not part of the core 112 material, but which are very interesting nevertheless. They will explore interesting optional topics like topics like bitwise operators, computational biology, computer vision, and more. Additionally, some of these topics will be helpful for your term projects!

    Ray's Private Meetings:
    • To schedule a 1-on-1 meeting with me, you can look to see if there are any appointment slots on my calendar:
    • If no appointments are available, please email me (using your andrewID) and be sure to include the topic you'd like to discuss, along with your full availability over the next few days, along with whether you are able to meet in person at those times or not.
      • Ray: rware@andrew.cmu.edu
    • Meetings are in-person by default. If a remote meeting is necessary, I will send you a link right before our designated time.
    • So that we can spread our limited time as fairly as possible, please keep this in mind these private meetings are specifically and only for issues that are not appropriate for my open OH format, or which cannot be resolved easily through Piazza, TA office hours, or email.

    Student Academic Success Center:
    • Due to the size of the course, we are not able to generally meet requests for one-on-one tutoring. However, the Student Academic Success Center (SASC) offers additional resources and tutoring for 15-112. Virtual appointments for one-on-one tutoring can be booked here.

    Extensions:

    What if I
    can't finish an
    assignment
    on time?

    What if I
    have to miss
    class ?

    Extensions must be requested before the assignment/assessment deadline. Assignment/assessment extension requests must be made at least 24 hours in advance of the activity for non-emergency situations, which we rarely grant. Because of the speed and intensity of this summer course, we will only rarely grant extensions, and only for emergencies. Even falling behind by a day may set you back significantly. If you find yourself unable to complete a homework assignment, it is generally best to complete what you can and move on to the next one so you do not fall behind.

    See the Forms page for this semester's Extension 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 or University-mandated isolation may obtain extensions from the instructors at their discretion, or by request from Student Health Services, any medical professional, or an advisor, housefellow, etc. You must notify your advisor in order to receive an extension, since a medical emergency is likely to impact your academics more broadly. Your advisor can request flexibility from all of your course instructors and can provide additional support during your recovery.
    • 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 resources 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.
    We certainly understand that unfortunate things happen in life. However, not all unfortunate circumstances are valid reasons for an extension. Nearly all situations that make you run late on an assignment homework can be avoided with proper planning - often just starting early. Here are some examples:
    • I have so many deadlines this week: you know your deadlines ahead of time - plan accordingly.
    • It's a minute before the deadline and the network is down: you always have multiple submissions - it's not a good idea to wait for the deadline for your first submission.
    • My computer crashed and I lost everything: Use Google Drive, Dropbox, or similar system to do real-time backup - recover your files and finish your homework from a cluster machine or borrowed computer.

    Late Policy

    In general, all homework is due at the assigned date and time. Without an approved extension as described above, any submissions to CS Academy later than 1 hour will receive 0 points, and submissions late by less than an hour will receive a 50% grade deduction. There are no automatic grace days this semester, only because if you miss a deadline during the fast pace of the summer semester, it will be far better for your semester grade if you stay current with the course material, work with your TAs, and focus on the next day's assignment.

    No late/make-up quizzes or exams will be administered, except in the rare cases covered under the Extensions policy. Approved missed quizzes may be waived entirely or if possible, course faculty may administer a makeup quiz to be taken at the earliest possible time.

    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 instructions found on a relevant Piazza post. Note: regrade requests will result in the entire problem being regraded, not just the possibly-incorrectly-graded part. Regrade requests must be filed no later than one week after the grade has been released.

    Academic
    Integrity

    Philosophy:
    We begin by choosing to trust each of you individually. Do not be one of the few who lose 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.
    • Using any software or service to generate code or algorithms for course assignments or assessments, even small parts, including homework and the term project.
    • Missing or inaccurate citations
    • Discussing any part of assignments or assessments with anyone else (besides current 112 TAs 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 solution(s) to an assignment or assessment, or showing anyone else any part of your solution(s) 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.
    • 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 participating in class.
    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 TAs and course faculty. We strongly encourage you to use this support!
    Note: If at any point we offer a homework solution session, you may not turn in an assignment after attending/watching any part of its solution session, even with an extension.

    Term Project:
    The term project writeup will allow for certain kinds of productive collaboration. Still, you will only be graded on your truly original contributions. Missing, inaccurate, or misleading citations on any assignment or deliverable may result in an academic integrity violation, regardless of intent.

    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 a cheating 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 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). The course penalty for violations will always be more severe than if you were to leave the associated item blank. Possible penalties include:
    • Receiving a 0 or -100 on the assignment/assessment, which cannot be half-weighted
    • Receiving a semester-average deduction, often a full-letter-grade (most common)
    • Automatically failing the course

    Penalties are likely 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, especially for repeated violations. University policy states that you may not drop the course if you have an academic integrity violation (except in rare/unusual cases where you have 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.

    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.

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

    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.