Frequently Needed Information
|Lecture 1||Kelly Rivers (krivers)||MWF 2:30-3:20pm||DH 2315|
|Recitation A||Jonan (jseeley) and Tara (tarap)||R 9:30-10:20am||GHC 5208|
|Recitation B||Diaj (dtoussai) and Emily (eding)||R 10:30-11:20am||GHC 5208|
|Recitation C||Enock (emaburi) and Tina (cchou1)||R 11:30-12:20pm||GHC 5208|
|Recitation D||Andrea (arestrad) and Connor (cclancy)||R 12:30-1:20pm||GHC 5208|
|Recitation E||Lauren (leheller) and Mahima (mshanwar)||R 1:30-2:20pm||GHC 5208|
|Recitation F||Neeraj (neerajsa) and Simran (skhunger)||R 2:30-3:20pm||GHC 5208|
|Recitation G||Daniel (seungwom) and Iris (ilu1)||R 3:30-4:20pm||GHC 5208|
|Recitation H||Claudia (cosorio) and Harshini (hmalli)||R 4:30-5:20pm||GHC 5208|
|Lecture 2||Stephanie Rosenthal (srosenth)||MWF 3:30-4:20pm||DH 2315|
|Recitation I||Claire (ccheongu) and Jeff (jiaxix1)||R 9:30-10:20am||GHC 5210|
|Recitation J||Brittney (bsidwell) and William (wxl)||R 10:30-11:20am||GHC 5210|
|Recitation K||Alyssa (akbrandt) and Vaheeshta (vmehrsha)||R 11:30-12:20pm||GHC 5210|
|Recitation L||Rachel (rachelt1) and Tate (tmauzy)||R 12:30-1:20pm||GHC 5210|
|Recitation M||Pam (phyang) and Trevor (tarussel)||R 1:30-2:20pm||GHC 5210|
|Recitation N||Rhea (rkudtar1)||R 2:30-3:20pm||GHC 5210|
|Recitation O||Elyana (erhurst) and Phil (xiangheh)||R 3:30-4:20pm||GHC 5210|
|Recitation P||Amanda (lianglij) and Rishabh (rishabhc)||R 4:30-5:20pm||GHC 5210|
is monitored by TAs every day. This is a good place to ask short questions, and to review general questions asked by other students.
take place in the Gates 5th Floor Teaching Commons and clusters on weekdays, and in Gates 4303 on weekends
. These are a good place to get help with the course material or homework assignments. When you have a question, sign up on the OH Queue
and a TA will come find you to help.
take place in Gates 4109 for Prof. Kelly
and Gates 6019 for Prof. Stephanie
. This is a good place to ask questions directly of the instructor, or to get general course material help. Meetings with the instructors are also available by appointment.
|Instructor Hours||9-10:30am (Stephanie)||1-2pm (Kelly)||1-2pm (Kelly)||2:30-4pm (Stephanie)||1-2pm (Kelly)||None||None|
- Piazza: Announcements will be made via Piazza, and it will be used for discussion and questions as well. Visit it frequently or set your preferences to send you an email whenever an announcement is made.
- OH Queue: TA Office Hours will use the OH Queue to organize student questions.
- Gradescope: Assignments will be completed and submitted through Gradescope, and feedback will be displayed there.
- Canvas: Grades will be posted on Canvas.
By the end of this course, students should be able to:
- Read and write programs using basic Python syntax
- Recognize how computers represent concepts with abstraction
- Identify which data structures can be used to represent different kinds of data
- Recognize that efficiency can affect the practical use of a program
- Identify different techniques for running programs at scale
- Use computer science and computational thinking as tools in other domains
- Identify how computer science affects the world in the past, present, and future
Assignment Format and Grading
Students will complete six homework assignments over the course of the semester.
Each homework assignment will take 2-3 weeks to complete and will consist of a written portion and a
Students are required
to complete a check-in demonstrating their completion of a
portion of the assignment in the weeks before the assignments are due. In addition to homework assignments,
students will also be graded on participation, and will take two midterms and a final exam.
Final Grades will be computed as follows:
- Homework check-ins: 16% (8 x 2% each)
- Homework assignments: 36% (6 x 6% each)
- Exams: 45% (3 x 15% each)
- Participation: 3%
Midsemester and Final grades will be assigned using a standard scale:
- A: [90 - 100]
- B: [80 - 90)
- C: [70 - 80)
- D: [60 - 70)
- R: [00 - 60)
In general, due to the scale of the class, we cannot give individual extensions on
assignments or assessments. However, there are a few exceptions.
Please note that extensions must be requested before the assignment/assessment deadline.
- Medical Emergencies: if you are sick to the point that you cannot attend class or do work, go to
Student Health Services! Students who have medical emergencies may obtain extensions from the
instructors if you let us know as soon as possible.
- Family/Personal Emergencies: if you are having a family or personal emergency (such as a death in the family or a mental health crisis), reach out to your academic advisor or housefellow immediately! These people will help support you in your time of need, and will also reach out to all of your instructors (including the 15-110 instructors) 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.
Additionally: if a religious day you observe conflicts with an assignment date/test, or you have previously-scheduled travel that conflicts with a test or other previously scheduled travel, let the course instructors know before the add deadline; we may be able to provide extensions or move assignment dates in some cases.
Late Policy and Grace Days
In an ideal world, we would be able to support varying submission schedules so that all students could work at their own pace. Unfortunately, given the scale of the course, this is impossible. We 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. Note that grace days may not be used on check-ins.
Once you run out of grace days, a late penalty of 20% will be applied for every hour that you submit late. In practice, this means that any assignment submitted after 5pm on Mondays will automatically get a 0. Submit your work on time, even if it isn't complete!
No late/make-up exams will be administered, except in the cases covered under the Extensions policy. Approved missed exams will be taken in the following week.
Collaboration and Academic Integrity
Students are encouraged to collaborate when learning the material and working on assignments. Here are a list of examples on how to collaborate well within this class.
- Work on practice problems together will any level of collaboration.
- Discuss which general concepts might be useful in solving a problem (loops, data representation, etc.)
- Sketch out solutions on a whiteboard together.
- You should sketch out the solution together, discuss it, then erase the solution, wait a few minutes, and write up solutions individually. Don't just copy the solution directly from the whiteboard!
- For programming problems, review test cases together and discuss why the inputs result in specific outputs.
- For programming problems, help each other debug specific parts of assignment code.
- NOTE: do not 'debug' by telling a friend to try your approach instead! Help them figure out what is actually going wrong.
Academic Integrity in Assignments
We encourage students to collaborate on assignments, as collaboration leads to good learning. However, there are certain restrictions on how much collaboration is allowed, to ensure that all students understand the material they submit on homework assignments and exams.
In general, all collaborators
must contribute intellectually and understand the material they produce, and each student
must write up their own assignment submission individually. The following actions are considered academic integrity offenses on the homework assignment:
- Copying or stealing any amount of written text or code from someone currently in the
class or someone who has taken the class before.
- Copying is never okay, whether the solution is provided electronically, visually, audibly, or on paper.
- Providing text or code you have written for an assignment to anyone else in
- Again: never share your solution with others in the class,
including electronic sharing, showing someone the solution on your computer,
verbally speaking the solution, or writing down the solution on paper.
- Finding answers or code online and using it in the assignment
- Exception: you may use code from the course website or the Official Python
Documentation. Please include a citation with a link when you do this.
- Posting solutions from the course assignments online in public view
- Getting someone else to write the assignment for you
- Asking questions about the assignments on any online services outside
of the course office hours and course Piazza
- Attempting to 'hack' or decompile Gradescope or the autograder to produce solutions
Academic Integrity in Exams
Exams must be taken individually and with no access to external materials. It will be considered an academic integrity offense if a student:
- Refers to any external resources while completing an exam
(phones, notes, etc.)
- Copies part of an answer off of another student's paper, even if it is
- Takes an exam paper out of the lecture and provides it
to students in later lectures
Academic Integrity Violations result in a penalty on the first offense, and failing the course
on the second offense. Penalties depend on the severity of the violation and can include:
- Receiving a 0 on the problem
- Receiving a 0 on the assignment
- Receiving a full letter grade deduction in the course
- Automatically failing the course
Penalties may also be accompanied by a letter to the Dean of Student Affairs,
again at the instructors' discretion. This can lead to university-level penalties,
such as being suspended or expelled.
Programs are naturally structured, which makes them much easier to compare than
hand-written work, and easier to compare than typed essays. We run an
automated plagiarism detection system on all assignments to detect copied code. We will notice if you copy code. Don't do it.
Your first year of college is a time when you do a lot of learning. Sometimes,
you might make bad decisions or mistakes. The most important thing for you to do
is to learn from your mistakes, to constantly grow and become a better person.
Sometimes, students panic and copy code right before the deadline, then regret what
they did afterwards. Therefore, you may rescind any homework submission up to
24 hours after the grace-day deadline with no questions asked
. Simply email the course
instructors and ask us to delete the submission in question, and we will do so.
Deleted submissions will not be considered during plagiarism detection, though
of course they will also not be graded. However, it will always be better to get a 0 (or partial
credit) on an assignment than to get a cheating violation!
Every required software package we use is available for free on the web. This includes:
- Python version 3.x (3.6 or later), which can be freely downloaded and installed from
- We will use Pyzo, a free IDE (Interactive Development Environment) that is very well-suited for an introductory CS course.
We strongly suggest you download and use Pyzo for this class.
You may use another IDE of your choice but we will not support it if you have any IDE questions or if it breaks.
Pyzo is installed on all the computers in the GHC and other campus clusters.
To set up Pyzo on a personal computer, follow these instructions:
- Download and install Pyzo from the appropriate link.
- Launch Pyzo.
- Setup your shell configuration for Python 3
- On the top menu, click Shell->Edit Shell Configurations
- Click the dropdown labeled exe, and choose Python 3.x
- Under "gui", select "None no gui support" (otherwise you may have
problems when we do graphics).
- Press done.
- Restart Pyzo and you're ready to go!
- For a simple Python3 test, type this line of code in the shell/interpreter (with ">>>"): print(5/3), then press Enter. You should not get 1 (which you would get if you are using Python2) but instead should get 1.666666667.
Optional Textbooks and Online Resources
- Official Documentation
- Python Shells (in the browser)
- Past 15-110 Courses
- Online Learning Resources
- Python Exercises (for a bit more practice)
- Online Advanced Resourecs
We strongly encourage all students to attend class.
Of course, you should also be engaging with the material and focusing on learning!
During some classes we will hold interactive activities that require the use of a laptop or smartphone. Participation will be measured based on whether a student has engaged in a majority of these activities. Don't worry if you have to miss a few lectures or recitations- as long as you attend most classes, you'll be fine.
If you do not have a laptop, tablet, or internet-accessible phone, please contact the course instructors so
that you can continue to participate in activities and also get participation points. If you are missing your laptop/phone on a specific lecture day, or if the form does not load for you, you may approach the instructor personally at the end of class to be marked as attending.
Make sure that your submitted assignments do not have any formatting errors! Written assignments must be submitted in a universally readable format, and code assignments must not have any syntax errors. We will take off 5% of the problem's points for every line of code we must edit to make your code run. Please submit your code at least one time before the deadline to ensure that our
autograder can run it.
We occasionally make mistakes while grading (we're only human!). If you find a mistake which you would like us to correct, please submit a regrade request on Gradescope within one week
of the time when the contested grade was released. Note- regrade requests will result in the entire problem being regraded, not just the incorrectly graded part.
We gladly accommodate students with special needs (as approved by the Office of Disability Resources (ODR),
as explained here
). If you are eligible for accommodations, please submit the appropriate form to the instructors in the first two weeks
of the semester. If you need to acquire the form, contact Catherine Getchell, Director of Disability Resources.
: students who receive extra time on assessments will need to request proctoring from the ODR for
each exam. The course instructors will send you a list of examination days at the beginning of the semester
so that you can request proctoring in bulk. Extra-time assessments must take place on the same day as the
To use extended-time, you must attend the ODR-proctored exam and not the normal-duration exam.
You do have the option of attending the normal-duration exam, but then you will have to complete it in the assigned time (without extended-time).
If you are on the waitlist, don't panic!
Many waitlisted students get into the course eventually. Attend lecture and recitation, submit the assignments, and stay involved. If you are still not enrolled at the beginning of the third week, contact the course instructors and they will try to help you find a section with open seats.
We have found that students who audit 15-110 do not tend to succeed, as they generally cannot dedicate the
needed time to the course. Therefore, auditing will only be allowed in exceptional circumstances, and must be
approved by the course instructors first.
If you wish to take 15-110 but don't want or need a full letter grade for it, you may take the course as Pass/Fail instead. This is a great option for graduate students who want to learn how to program but don't want to risk their GPAs! (Note: you may not take the course Pass/Fail if you plan to use 15-110 as a prereq).
Health and Wellness
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. All of us benefit from support during times of struggle. If you or anyone you know experiences any academic stress, difficult life events, or feelings of anxiety or depression, we strongly encourage you to seek support. Contact the Counseling and Psychological Services (CaPS) office at 412-268-2922 and visit their website at http://www.cmu.edu/counseling
for more information.
If you or someone you know is in danger of self-harm, please call someone immediately, day or night:
Re:solve Crisis Network: 888-796-8226
CMU Police: On-Campus 412-268-2323, Off-Campus 911