This is a well established course at Carnegie Mellon University. You can find the course website for previous iterations of this course at the following links. Former course websites can provide excellent sources of old quizzes and exams to study from.
Pittsburgh: F19, S19, F18, S18, F17, S17, F16, S16, F15, S15, F14, S14, F13, S13, F12, M12, S12, F11, S11, F10, S10, F09, APEA-09, S09, F08, APEA-08, S08, F07
Official Course 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. We will also target numerous deployment scenarios, including
standalone programs, shell scripts, and web-based applications. This course
assumes no prior programming experience. Even so, it is a fast-paced and
rigorous preparation for 15-121 or 15-122. Students seeking a more gentle introduction
to computer science should consider first taking 15-110.
Unofficial Course Description
This course is designed to help you learn how to read, write, design, and debug Python programs. Towards that end, you will spend most of the time in the course developing programming as a skill by learning about various programming constructs and techniques and by constantly practicing with code.
Students who take 15-112 generally fall into one of two categories:
In this course, you will primarily do work through completing programming assignments; these assignments will help you develop and practice your coding skills. You will also be assessed with a set of quizzes and exams, to help you measure your understanding of the class's various topics. We will teach you primarily through interactive lectures and recitations, where we will demonstrate how to code using instructions, examples, and live coding. At the end of the semester, you'll demonstrate your mastery of the course's topics by working on a 3-week term project, where you can develop and code a project of your own design, based on your own interests.
Learning Objectives
At the end of the course, students should be able to:
There will be three classes each week:
Sunday, 1:30 pm - 2:50 pm
Tuesday, 1:30 pm - 2:50 pm
Thursday, 1:30 pm - 2:50 pm
Classes on Sundays and Tuesdays will consist of lectures where we learn and practice different concepts. Thursday's class will have a 20 minute quiz at the beginning of the class and then 60 minutes of lecture and exercises. The weekly quizzes will test topics that are covered in the readings, lectures, and exercises.
Grading Policy
Course Component | Points | Notes |
Quizzes | 100 | Lowest quiz grade is dropped. |
Midterm Exam 1 | 100 | |
Midterm Exam 2 | 100 | |
Final Exam | 180 | |
Homeworks | 350 | |
Term Project | 100 | |
Participation | 70 |
Class Participation Breakdown | |
Attendance | 30 - Lose 3 points for every absence or tardy in lecture, attendence is taken at the begining of each class, if you miss your name, you are maked as absent |
CA/Mentor Meetings | 40 - Part of the CA meeting will be an oral quiz. Each quiz is worth 5 points |
Letter Grade Assignment
The course uses the standard grade percentages as follows:
The 55% and 65% Rule
You must receive a 55% or higher (calculating using the appropriate weightings above) on in-class assessments (quizzes, midterm exams, and final exam) in order to receive a D or higher in the course.
You must receive a 65% or higher (calculating using the appropriate weightings above) on in-class assessments (quizzes, midterm exams, and final exam) in order to receive a C or higher in the course.
Video during class policy
In order to better promote both student and faculty engagement during remove lectures, all lecture participants are required to keep their video on throughout the class (unless otherwise instructed). Students who do not have their video on will be marked absent.
Having your video on and participating during live zoom sessions will support your learning in various ways. It may reduce the feeling of isolation and keep you connected with your colleagues and with the professor. It is also important to note that everyone’s remote classroom and learning experience is greatly improved if every student is visible. Maintaining a rich, interactive, and high-quality remote teaching experience will require us to work together. You are also encouraged to follow the same classroom etiquette as you would during normal in-person class sessions when connecting to virtual classes - such as: dressing up appropriately, participating when required (whether by using your audio or the chat feature on Zoom), staying engaged, and avoiding any parallel work irrelevant to the session.
There are legitimate circumstances under which a student may be exempted from this requirement. Students who believe they should be exempted should apply for a waiver. More information about the waiver process is available at the Guidelines for Students on the Use of Video and Audio in Remote Learning page on Scotty.
Video during one-on-one meeting with CA policy
The policy for videos being on during class will be applied to your one-on-one weeekly meetings with the CA's as well. Students without approved waivers and vith videos off, will be makred absent for the oral quiz with the CAs.
Exams
Weekly quizzes and exams will occur during class time and require you to show your workspace using your webcam. For more details, please visit the online exam overview page.
Homework Late Submission Policy
In an ideal world, we would be able to support varying submission schedules so that all students could work at their own pace. Unfortunately, this is impossible. I need you to submit assignments on time so that we can promptly give feedback to all students, to support the learning process.
However, we understand that life can sometimes get in the way. Therefore, we provide 3 grace days for homework assignments. These can be used to submit homeworks up to 24 hours late with no penalty. You may only use one grace day per homework. We strongly urge you not to use these grace days immediately; try to save them for unforeseen events.
Once you run out of grace days, late submissions will receive a score of 0.
Make-up Exams or Quizzes
No late / make-up quizzes or tests will be administered, except in the case of medical or family emergencies or other university-approved absences. For qualifying missed assessments, students must obtain instructor approval and schedule the make-up quiz before missing the quiz.
Homework
Homeworks are due on Tuesdays at 10pm. These assignments generally contain a coding exercises (reading, debugging, and writing code). They generally assess the material taught the week they are released, and take several hours to complete. We strongly encourage you to start the homeworks early- The day they are released is best, and within two days of release at the latest!
Homeworks must be completed individually.
Programming assignments will be graded based on style (modularity, effective use of data abstraction, readability, commenting, etc.) and functionality (correctness and efficiency of the program on all possible test inputs). Your code should be properly annotated with comments that are well-placed, concise, and informative. Your assignments will be graded by your TA, by automated graders, and at times by your instructor.
The Term Project will take place over three weeks at the end of the semester. You will design and build a program of your choosing with the guidance of a mentor TA.
In-Class Assessments
Quizzes will be given weekly at the beginning of lecture on Thursday. Quizzes generally cover material from the previous week and the previous homework. Quizzes are designed to be time-intensive, to test for fluency and demonstrate where additional study is needed.
There will be two exams given in class, as noted in the course schedule. Each exam will cover material presented in the preceding weeks (with Exam 2 focusing mostly on material not covered in Exam 1). Exams also test for fluency, though to a lesser extent than quizzes.
There will be a standard 3-hour final exam during the final exam period at the end of the semester. This exam will cover material from the entire semester. The final exam is built to allow enough time to attempt all problems.
This course has a rigorous academic integrity policy and it is strictly enforced.
Refer to the course academic honesty policy.
Course Resources
Required Software
Every required software package we use is available for free on the web. This includes:
External Resources
Note that all textbooks/resources are optional. There are no required textbooks for this course.
Electronics
Research has shown that devices can greatly detract from student learning. Therefore, students may only use electronic devices in lecture during learning activities which involve those devices.
Outside of these events, students should only use electronic devices with explicit permission from the instructors. Notes may still be taken, of course, but should be done with pen and paper. This policy is meant to help all students focus, as electronic device as distracting not only for the user, but also for the students surrounding them.
Recording
Students may not record audio or video of lectures or recitations without explicit permission in writing from the instructor. Violations will result in your failing the course. Exceptions will be granted in accordance with university guidelines for accessibility concerns, but even then such recordings may not be shared publicly or privately and must be deleted at the end of the semester.
Attendance
Your regular, on-time attendance of class is important for your success. As such, class attendance is mandatory and graded as described in the grading policy. In addition, arriving late is not permitted. If you attempt to enter the classroom after class has started, you will be asked to leave. If you arrive late for a quiz, you will not be permitted to take the quiz or make it up.
Extensions
In general, we cannot give individual extensions on assignments or assessments. However, there are a few exceptions.
Medical Emergencies: If you are sick to the point that you cannot attend class or do work, go to the doctor! If you have a short illness (such as food poisoning or the flu) you should simply use a late day (for homework) or a dropped quiz for a quiz. Students who have prolonged medical emergencies may obtain extensions from the instructors after coordinating with the Office of Health and Wellness. Please see the medical excuse guidelines available on Scotty.
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 immediately! They can help support you in your time of need, and will also reach out to all of your instructors (including me) to request extensions for you.
University-Approved Absences: If you are attending a university-approved 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. You must provide confirmation of your attendance, usually from a faculty or staff organizer of the event.
Please note that extensions must be requested before the assignment/assessment deadline.
Regrade Requests
We occasionally make mistakes while grading (we're only human!). If you find a mistake which you would like us to correct:
In both cases, include all relevant details for your regrade request.
Regrades must be requested within two weeks of the time when the contested grade was released.
Note: Regrade requests will result in the entire problem being regraded, not just the incorrectly graded part.
Diversity
It is my hope that students from a diversity of 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 students bring to this class be viewed as a resource, strength and benefit. It is my intent to present materials and activities that are respectful of diversity: gender, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture. Your suggestions are encouraged and appreciated. Please let me know ways to improve the effectiveness of the course for you personally or for other students or student groups.
Accommodations for Students with Disabilities
Carnegie Mellon University is committed to providing reasonable accommodations for all persons with disabilities. To access accommodation services you are expected to initiate the request and submit a Voluntary Disclosure of Disability Form to the office of Health & Wellness or CaPS-Q. In order to receive services/accommodations, verification of a disability is required as recommended in writing by a doctor, licensed psychologist or psycho-educational specialist. The office of Health & Wellness, CaPS-Q and Office of Disability Resources in Pittsburgh will review the information you provide. All information will be considered confidential and only released to appropriate persons on a need to know basis.
Once the accommodations have been approved, you will be issued a Summary of Accommodations Memorandum documenting the disability and describing the accommodation. You are responsible for providing the Memorandum to your professors at the beginning of each semester.
For more information on policies and procedures, please visit https://scotty.qatar.cmu.edu/qword/student-affairs/office-of-health-and-wellness/assistance-for-individuals-with-disabilities/.
If you have a disability and require accommodations, please contact Amie Rollins, Director of Health and Wellness at amier@andrew.cmu.edu or Dr. Salaha Khan, Psychologist Counseling and Psychological Services at salahak@qatar.cmu.edu. If you have an accommodations letter from the Disability Resources office, you are encouraged to discuss your accommodations and needs with Catherine Getchell getchell@cmu.edu, as early in the semester as possible. She will work with you to ensure that accommodations are provided as appropriate.
Take Care of Yourself
Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.
If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, I strongly encourage you to seek support. Counseling and Psychological Services (CaPS-Q) is here to help: call 4454-8525 (8:30am to 4:30pm, Sunday through Thursday) or email student-counselling@qatar.cmu.edu. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.
If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night at 5554-7913.
If the situation is life threatening, call 999.
Student Wellness
It is important for undergraduates to recognize that university life presents different pressures and stressors, including personal, social, emotional, physical, financial, mental and/or academic. As a student, you may experience a range of challenges that can interfere with your learning such as sleep deprivation, anxiety, feeling down, difficulty concentrating and/or a lack of motivation. I urge you to make health and wellness your priority during your time as a student at CMU-Q. When you take care of yourself via sleep, nutrition, physical activity and stress management, research shows your focus improves and your ability to retain information increases. Contact Student Affairs to learn more about wellbeing initiatives: