Previous
|
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
|
At the end of the course, students should be able to:
|
||||||||||||||||||||||||||||||||||||||||
Topic List |
See the topic list and schedule here (includes schedule, homeworks, quizzes, and exams). | ||||||||||||||||||||||||||||||||||||||||
Schedule |
Important notes:
|
||||||||||||||||||||||||||||||||||||||||
Office Hours
|
15-112 can be intense at times, but it is much more manageable if you use the course resources well. These resources include: Course Notes:
Large-Group Sessions: 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.
Prof. Taylor's Open Office Hours:
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.
Ed-Discussion (the class Q&A forum):
Instructor Private Meetings:
Student Academic Success Center:
|
||||||||||||||||||||||||||||||||||||||||
Required
|
There is no required textbook for this course! We will primarily use the course notes on CMU CS Academy instead.
You should have a computer (ideally a laptop), however, it does not need to be new or powerful. We recommend an Apple or Windows laptop, though Linux will also work. On a Mac, upgrade your OS to macOS 10.15 (Catalina) or later. Chromebooks may work on the CS Academy website, but may not work for creating graphical apps. Please contact us if you cannot reasonably access a computer. Every required software package we use is available for free on the web. This includes:
|
||||||||||||||||||||||||||||||||||||||||
Course |
Participation is required and includes:
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:
|
||||||||||||||||||||||||||||||||||||||||
Grading |
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
|
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:
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:
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
|
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:
Examples of cheating on assessments (such as Quizzes, Writing Sessions, and Exams) include but are not limited to:
If you are repeating 112, your prior work in this course is treated just as anyone else's work. 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:
Honesty: To end this section on a more positive note, you should know that we put a high premium on honesty. If you get into an Academic Integrity situation, then the sooner and more completely you tell the entire truth, by far the better it is for you and for everyone else involved. The bottom line: If you regret a lapse in judgment, it is always better to let us know right away, to come clean, and be honest and truthful. You will feel better about it, as will we, and it will probably result in a better outcome for you as well. |
||||||||||||||||||||||||||||||||||||||||
Extensions |
Notes:
That said, here are the types of generally accepted reasons for approved extensions and excused absences.
| ||||||||||||||||||||||||||||||||||||||||
Late Policy |
|
||||||||||||||||||||||||||||||||||||||||
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:
|
||||||||||||||||||||||||||||||||||||||||
Submission, |
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 |
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:
|
||||||||||||||||||||||||||||||||||||||||
Devices |
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 & |
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. |