Previous
Versions
|
Previous Fall and Spring Semesters:
S26,
F25,
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 Summer Semesters:
N25,
N24,
N23,
N22,
N21,
M20,
N19,
M19,
N18,
M18,
M12,
APEA-09,
APEA-08
|
Waitlist |
If you are on the waitlist, we hope to eventually get you
enrolled, typically in the first week of the semester. Until
then, you should 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 instructor via email.
|
Description |
A technical introduction to the fundamentals of programming
with an emphasis on producing clear, robust, and reasonably
efficient code using top-down design, informal analysis, and
effective testing and debugging. Starting from first
principles, we will cover a large subset of the Python
programming language, including its standard libraries and
programming paradigms.
This course assumes no prior programming experience. Even so,
it is a fast-paced and rigorous preparation for 15-122.
Students seeking a more gentle introduction to computer
science should consider first taking 15-110.
NOTE: Undergraduate students must achieve a C or better in
order to use this course to satisfy the pre-requisite for any
subsequent Computer Science course.
|
Learning Objectives |
At the end of the course, students should be able to:
- Computationally solve problems in Python using:
- sequential, conditional, and loop statements
- strings, lists, tuples, sets, and dictionaries
- objects and classes
- recursion
- interactive graphics
- Analyze code through code tracing to deduce the output of small programs
- Recognize patterns to identify possible solutions to a given problem
- Construct code using top-down design by breaking problems into smaller steps
- Apply debugging techniques to find and fix errors
- Design and implement a substantial program in Python with minimal guidance
|
Topic List and Schedule |
See the topic list and schedule here
(includes schedule, homeworks, quizzes, and exams).
|
Schedule of Classes
|
General notes:
-
Unless otherwise stated, course events are in-person only and not recorded.
-
All times will be in Pittsburgh time (ET).
Cohorts:
-
We will NOT follow the recitation sessions assigned in
SIO. For a more personalized experience, all students
will instead be assigned to a cohort consisting of 3-6
students and one TA. Cohorts will meet for 1 hour per day
in lieu of recitation.
-
During the first week of the course, cohorts will be
assigned randomly based on student availability. After the
first quiz, students will complete a preference form and
permanent cohorts will be assigned for the rest of the
semester.
-
Attendance is required in your assigned cohort. If
you need to attend a different group for a day, please
fill out the excused absences form on the
resources page.
| Cohort |
Lecturer / TAs |
Time |
Room |
| Lecture |
Lauren Sands (lsands) |
11:00am - 12:20pm |
PH 100 |
| A |
Harrison (hezhang) + Caroline (cswanton) |
2:00pm - 2:50pm |
WEH 5415 |
| B |
Elaine (meit) + Sussi (sussiz) |
2:00pm - 2:50pm |
GHC 5208 |
| C |
Veronica (vpak) + Shreya (shreyay) |
2:00pm - 2:50pm |
GHC 4007 |
| D |
Nick (nbutler2) + Chris (cowad) |
3:00pm - 3:50pm |
GHC 5208 |
| E |
Jack (jackmaro) + Chris (cowad) |
3:00pm - 3:50pm |
GHC 5210 |
| F |
Ahaan (ahaant) + Stella (stellali) |
3:00pm - 3:50pm |
WEH 5415 |
| G |
Vyju (vyjayanv) + Stella (stellali) |
4:00pm - 4:50pm |
WEH 5415 |
| H |
Martin (mbaker2) + Shreya (shreyay) |
4:00pm - 4:50pm |
GHC 4007 |
| I |
Yudh (hshukla) |
5:00pm - 5:50pm |
SH 238 |
| J |
Eddie (eddieliu) |
5:30pm - 6:20pm |
GHC 5208 |
|
Office Hours and Course Resources
|
15-112 can be intense at times, but it is much more manageable
if you use the course resources well. These resources
include:
Course Notes:
-
The course notes are on the CMU CS Academy webpage, linked
from the schedule. You are required to know the material
in the course notes, and to carefully complete the
checkpoints in them.
Office Hours:
-
OH times are shown below. These times are subject to
change, and any changes will be announced on
Ed-Discussion.
-
Discussions may be one-on-one or group-based depending on
attendance and what questions people have.
-
TA office hours will be held at a table in the
GHC 5th
floor commons.
| Instructor |
Day |
Time |
Location |
| Lauren |
Mon |
3:30pm - 5:30pm |
GHC 5001 |
| Lauren |
Tue |
1:00pm - 3:00pm |
GHC 5001 |
| TAs |
Wed |
6:00pm - 8:00pm |
GHC 5th Floor Commons, Table 1 |
| Lauren |
Thu |
3:30pm - 5:30pm |
GHC 5001 |
| Lauren |
Fri |
1:00pm - 2:30pm |
GHC 5001 |
| TAs |
Fri |
5:00pm - 8:00pm |
GHC 5th Floor Commons, Table 1 |
| TAs |
Sat |
2:00pm - 4:00pm |
GHC 5th Floor Commons, Table 6 |
| TAs |
Sun |
2:00pm - 4:00pm |
GHC 5th Floor Commons, Table 6 |
Ed-Discussion (the class Q&A forum):
-
You are responsible for carefully reading all of the
content in all instructor posts on
Ed-Discussion.
-
You may also use Ed-Discussion to ask questions, but you
must carefully read our Ed-Discussion posts and guidelines
first.
-
Note: If you need to get in touch with only the
faculty, or a specific TA, email (using your andrew id)
is best. Ed-Discussion is great for questions that are
visible to all TAs since you will get the fastest response
that way.
Instructor Private Meetings:
-
To schedule a 1-on-1 meeting with Lauren, please email
lsands@andrew.cmu.edu
with your full availability over the next few days. The
more times you provide, the more likely you can be
accommodated.
|
Required Materials |
There is no required textbook for this course! We will
primarily use the course notes on CMU CS Academy instead. You
should also have a computer (ideally a laptop), running a
recent version of Python. Please contact us if you cannot
reasonably access a computer.
|
Responsiveness |
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 24
hours.
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.
|
Grading
|
| Course Component |
Weight |
Notes
|
| Attendance (about 55 events) |
10% |
See grading notes below. |
| Homeworks (about 11) |
10% |
None are dropped, lowest is half-weighted. |
| Homework Checks (about 8) |
15% |
None are dropped, lowest is half-weighted. |
| Quizzes (about 8) |
30% |
Lowest is dropped, second-lowest is half-weighted. You may not drop the last quiz if you don't take it. |
| Term Project |
10% |
|
| Final Exam |
25% |
|
Midsemester and Semester grades will be assigned using a
standard scale, as such:
- A: [89.5 - 100]
- B: [79.5 - 89.5)
- C: [69.5 - 79.5)
- D: [59.5 - 69.5)
- R: [0 - 59.5)
Note that graduate students will be assigned +'s and -'s
according to the following scale (generalized across letter grades):
- B+: [87-89.5)
- B: [83-87)
- B-: [79.5-83)
Attendance:
-
Attendance is required at all lecture and cohort sessions.
-
Your first two unexcused absences do not affect your
attendance grade. Each unexcused absence after that loses
10% of your attendance grade.
-
Missing TP Showcase (during the assigned final exam
slot) will immediately make your attendance grade 0
.
-
The above rules only consider unexcused
absences. Excused absences will never affect your
attendance grade. To request an excused absence, please
fill out the form on the resources page.
|
Homework |
The 112 Homework Collaboration Policy: This policy is
only for homework, and not for homework checks, projects,
quizzes, or exams. For all homework problems, you may
collaborate with anyone, and even use AI tools like ChatGPT,
so long as you follow these rules:
- No-Copying Rule
At no time can you copy code from any source. We take this
very broadly. Not only does this mean you cannot copy-paste
code from anywhere, it also means that you cannot manually
type code that you are looking at, nor can you manually type
code that someone is telling you to type. In addition, you
cannot copy code even if you then edit it, even a lot. You
simply cannot copy code, full stop.
- 5-Minute Rule
To help prevent code copying, we have a simple rule: any time
you look at 5 or more lines of code (or pseudocode or anything
code-like) from external resources, then you must wait 5
minutes before you can edit your own code. This will prevent
most cases of code copying, and is better for your learning.
- Debugging Rule
You are allowed to help debug other students' code, and you
are allowed to have other students help debug your code.
However, all the rules above apply. You are allowed to make
live edits with the debugging help of a friend, but you can't
look at their code and directly copy it.
- Please keep in mind:
-
Homework may be graded at times against the 112 style
guide. AI tools often violate these rules. You should
expect that code derived from AI tools would often receive
very low homework grades.
-
You will not have access to AI tools on homework checks,
quizzes, or exams. These are worth much more of your grade
than homework assignments.
-
If you rely too heavily on AI tools to complete your
homework, you will not learn the material well. This will
result in lower scores on quizzes and exams, and in an
overall worse learning and grade outcome for you in the
course.
-
The bottom line: while you may use AI tools, it is your
responsibility to use them appropriately and effectively,
and in a way that does not compromise your learning
experience. If you are unsure if you are compromising
your learning, it is best to simply avoid using them.
Other important homework notes
- CS Academy
Homework exercises will typically be hosted in CMU CS
Academy. A green checkmark next to a problem (in CS Academy)
means it has autograded correctly and that you will receive
credit for it. No green checkmark means it's not done yet.
There is no partial credit for autograded homework problems.
-
Unlocking Homework
You must read the notes for the corresponding sections
(including completing all checkpoints) to unlock the
homework. While there is no official deadline for reading
notes apart from the homework deadline, we strongly
recommend reading the notes the same day as lecture
(before or after is fine).
-
Style and Code Reviews
Some HWs will include style grading, or a "code review"
between you and a TA, potentially also including other
students. In these sessions, you will discuss the quality
of your code regarding its design, algorithms, style, user
interface, and perhaps more.
-
Late Homework Policy
-
Students receive full credit for all assigned
exercises that are completed by the HW deadline.
Students receive 80% credit for all non-bonus
exercises that are completed after the HW deadline but
prior to the next course deadline (quiz, HW deadline,
or first oral HW session).
-
Bonus exercises will only receive credit if they are
completed by the HW deadline.
-
Regarding approved HW extensions: Students receive
full credit for all assigned exercises that are
completed by the extended deadline, but the late HW
deadline is always 11am on quiz day.
HW Checks
-
HW Checks are intended to help you assess whether you
fully understood the work you did on homework. These are
low-stakes, and should be straightforward if you do your
homework with minimal assistance and understand your work.
-
Some HW Checks will be oral check-ins with a TA. During
orals, you will re-solve parts of the homework with a TA,
explaining your algorithms and thought process as you go.
-
Some HW Checks will be Parson's problems that are
administered at the start of your quizzes.
|
Extensions and Excused Absences |
Notes:
-
1-2 day extensions are granted for HW, but this does not
change the late HW deadline. 2 day extensions are rare
given the pace of the summer. Extensions of longer than
2 days may be granted in extreme cases, but must be
discussed with faculty.
-
Extensions are not generally granted for quizzes.
Instead:
-
For excused absences on quiz days, the student is
entirely excused from that day's quiz, so the quiz
does not factor into the student's semester grade.
-
For unexcused absences, the student receives a 0 on
that quiz.
-
Extensions are not granted for projects, except in
extreme extenuating circumstances. Please start early.
-
Exams may be rescheduled to the earliest possible date
when there is a qualifying reason on the date of the
exam (see below).
-
See the resources page
for this semester's Extension Request Form.
In general, we may request some kind of confirmation for
extension or excused absence requests, though we are very
flexible in what that means (for example, if you are ill, we
would accept any reasonable confirmation, including your
Housefellow, RA, or academic advisor confirming this).
Here are the types of generally accepted reasons
for approved extensions and excused absences:
- Illness or Medical Emergencies. This includes
mental health.
- Family or Personal Emergencies.
- University-Related Absences.
This includes multi-day athletic/academic trips organized
by the university, in which case you may request an
extension for the duration of the trip. Note that we will
consider most job interview trips to fall in this
category.
-
Other Valid Reasons.
There are too many to list here, of course, but other
reasons include religious observations among others. If
you are unsure, talk to the course faculty. We are here
to help.
Here are some requests that would not be accepted:
- Busy week (academically or otherwise)
- Computer or network issues
- Non-approved travel
|
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 form on the
resources page.
Notes:
-
You cannot request a regrade request simply because you do
not like your grade, or you want us to follow a different
rubric. Regrade requests must include the specific grading
error(s) that you believe you found based on the rubric that
was used.
-
Regrade requests will result in the entire problem being
regraded, not just the possibly-incorrectly-graded part.
Thus, it is possible that your grade goes down as a result
of a regrade.
-
Regrade requests must be filed no later than one week after
the grade has been released.
|
Academic Integrity |
Philosophy:
We begin by choosing to trust each of you individually.
However, if you cheat, expect to be caught, and expect
significant consequences.
These rules are meant to convey the spirit of our academic
integrity expectations. For example, when we say "do not copy"
we always mean visually, verbally, electronically, or in any
other way, even if you copy and modify it. We additionally
require you to understand and uphold CMU's more general
academic integrity standards. If you are unsure of something,
just ask us beforehand. If you do this and strive to
understand the intent of this policy and exercise common
sense, you have nothing to worry about.
Examples of academic integrity violations include
but are not limited to:
-
Copying materials (from any source) in violation of the
No-Copying Rule and/or the 5-Minute Rule.
-
Posting homework, quiz, or exam problem statements or
solutions online. This is strictly forbidden, regardless
of if or how anyone potentially uses your posted problem
statements or solutions. Do not post problem statements or
solutions online.
-
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.
-
Intentionally misrepresenting your work, your effort, your
participation, or any other aspect of your involvement in
the course, especially if this was intended to inflate
your grade.
Homeworks:
-
For non-solo exercises, any violation of the No-Copying
Rule, the 5-Minute Rule, the Citation Rule, or the Debugging
Rule (see above) will be considered an Academic Integrity
Violation.
-
Before you might consider any such violation, we ask that you
please consider:
-
Each homework is only worth about 2% of your semester
grade. Each exercise is only worth a fraction of even
that. That's just not much, certainly not enough to risk
such major consequences.
-
You are allowed to collaborate extensively. Just follow
the rules when you are doing so.
-
You always have ready access to wonderful support by our
amazing TAs as well as the course faculty. We are here
for you.
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,
exams, or other assessments to anyone else.
-
Saving or copying any assessment materials so they are
available outside of the online quiz/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.
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.
The course penalty for violations will always be more
severe than if you were to leave the associated item
blank. Possible penalties include but are not limited
to:
- Receiving a 0 or -100 on the assignment or assessment
- Receiving a semester grade deduction, often a full-letter-grade
- Failing the course
Penalties are often accompanied by a report to the Dean of
Student Affairs and/or the Office of Community
Responsibility. This may lead to additional university-level
consequences, such as being suspended or expelled,
especially for repeated violations. University policy states
that you may not drop the course if you have an academic
integrity violation (except in rare cases where you are
granted faculty approval).
Honesty:
To end this section on a more positive note, you should know
that we put a high premium on honesty. If you get into an
Academic Integrity situation, then the sooner and more
completely you tell the entire truth, by far the better it is
for you and for everyone else involved. The bottom line: If
you regret a lapse in judgment, it is always better to let us
know right away, to come clean, and be honest and truthful.
You will feel better about it, as will we, and it will
probably result in a better outcome for you as well.
|
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. 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.
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, including but not limited to:
gender, ethnicity, race, sexuality, disability, age,
religion, socioeconomic status, and culture. Whether in
education or industry, inclusive representation creates
richer experiences and equips us to solve new and exciting
challenges. Please join us in our commitment to a more
welcoming and equitable community.
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. 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.
|
Recording |
Students may not record audio or video of lectures, small
groups, 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.
|
Well-being & Happiness |
We care very much about your well-being and happiness. CMU
students (and faculty) work very hard, but we must keep our
balance and always attend to our well-being and happiness
first. Achieving a better grade is almost never a matter of
putting in more time! So be sure to get enough sleep, eat
right, exercise regularly, and attend to your well-being and
happiness.
Also, please know that we do care about you and take your
well-being seriously. We want to help you learn while
minimizing stress. Meeting the learning goals of 15-112
necessitates significant effort and a fast pace, but do not
fall into the trap of working endlessly, as this will only
reduce your efficiency (and more importantly, your happiness
and well-being). It is not necessary, expected, or something
to be proud of. We can help you improve your efficiency and
work less, not more. We also seek to minimize the workload
as much as is possible, while still meeting the learning
goals of the course.
Finally, if you are feeling overly stressed, anxious, or
unhappy about your performance or your general experience in
this course: please come talk to us. We will listen.
We are here for you and we will try to help.
Addendum: Here is a great summary of many
CMU Student Support Services.
|