Syllabus
Due to the COVID-19 Epidemic, all classes and office hours from 03/16 onwards will be conducted remotely. Please refer to the class Piazza for links to the Zoom class sessions.
Frequently Needed Information
Meeting Times
Session | Instructor(s) | Time | Location |
Lecture 1 | Kelly Rivers (krivers) | MWF 2:30-3:20pm | DH 2210 |
Recitation A | Diaj (dtoussai) and Enock (emaburi) | R 9:30-10:20am | GHC 5207 |
Recitation B | Amanda (lianglij) and Neeraj (neerajsa) | R 10:30-11:20am | GHC 5207 |
Recitation C | Mahima A. (mahimaa) and Rachel (rachelt1) | R 11:30-12:20pm | GHC 5207 |
Recitation D/J | Frank (frankh) and Mahima S. (mshanwar) | R 12:30-1:20pm | GHC 5207 |
Recitation E | Andrea (arestrad) and Emily (eding) | R 1:30-2:20pm | GHC 5207 |
Recitation F | Meghan (mamcgraw) and Rishabh (rishabhc) | R 2:30-3:20pm | GHC 5207 |
Recitation G | Elyana (erhurst) and Iris (ilu1) | R 3:30-4:20pm | GHC 5207 |
Lecture 2 | Margaret Reid-Miller (mr54) | MWF 3:30-4:20pm | DH 2210 |
Recitation H | Jonan (jseeley) and Laura (lkoye) | R 9:30-10:20pm | GHC 5210 |
Recitation I | Lauren (leheller) and Rhea (rkudtar1) | R 10:30-11:20am | GHC 5210 |
Recitation D/J | Frank (frankh) and Mahima S. (mshanwar) | R 12:30-1:20pm | GHC 5207 |
Recitation K | Tara (tarap) | R 1:30-2:20pm | GHC 5210 |
Recitation L | Claudia (cosorio) and Harshini (hmalli) | R 3:30-4:20pm | GHC 5210 |
Office Hours
Piazza is monitored by TAs every day. This is a good place to ask short questions, and to review general questions asked by other students.
TA Hours take place
in the Gates 5th Floor Teaching Commons and clusters on weekdays, and in GHC 5222 on weekends via zoom. 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.
Make sure to include a link to a Zoom meeting in your question.
Instructor Hours take place in
Gates 4109 for Prof. Kelly and GHC 6003 for Prof. Margaret Zoom. 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.
| Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
TA Hours | 6-8pm | 6-8pm | 6-8pm | 6-8pm | 6-8pm | 2-7pm | 2-7pm |
Instructor Hours | 10-11am (Kelly) | 1-2:30pm (Margaret) | 1-2pm (Kelly) | 4-5:30pm (Margaret) | 1-2pm (Kelly) | None | None |
Walk-in Tutoring is available through the CMU peer tutoring program for 15-110 material. This tutoring program is separate from the in-course resources. Tutoring is available at the
this link on Sunday/Tuesday/Thursday 8:30-11pm.
Resources
- 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.
General Policies
Learning Objectives
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
programming portion.
Students are
required to complete a check-in assignment 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 three exams (one during the finals period).
Final Grades will be computed as follows:
- Check-in assignments: 15% (5 x 3% each)
- Homework assignments: 36% (6 x 6% each)
- Exams: 45% (3 x 15% each)
- Participation: 4%
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)
Extensions
Due to the COVID-19 pandemic, we are now allowing much more flexibility with assignment extensions. Please email the professors directly if you need an extension.
In general, due to the scale of the class, 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
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.
Please note that extensions must be requested before the assignment/assessment deadline.
Additionally: if a religious day you observe conflicts with an assignment date/test, or you have previously-scheduled travel that conflicts with a test, 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. We also recommend that you save the grace days for full assignments, as check-ins are worth much less.
If you have run out of grace days and realize that you forgot to submit on time, you may submit your assignment late for a late penalty. A late penalty of 20% will be applied for every hour that you submit late. In practice, this means that any assignment submitted after 4pm on the due date 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
Collaboration
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 with 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, do something else for a while, then write up the 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. To be safe, do not refer to your own code when helping a friend debug.
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
the class.
- 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
very small
- Takes an exam paper out of the lecture and provides it
to students in later lectures
Penalties
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 or negative score on the problem
- Receiving a 0 or negative score 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.
Plagiarism Detection
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.
Grace Period
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!
Required Materials
Required Textbooks
None
Required Software
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
python.org.
- 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
- Past 15-110 Courses
- Official Documentation
- Useful Tools
- Python Shells (in the browser)
- Python Exercises (for a bit more practice)
- Online Learning Resources
- Online Advanced Resourecs
Other Policies
Prerequisites
None
Attendance
Participation in class activities may now occur up to 24 hours after the lecture begins, to accommodate distance learning.
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 take attendance directly, or hold interactive activities that require the use of a laptop or smartphone. Participation will be measured based on whether a student has engaged in at least 80% of these events. Therefore, you do not need to ask permission to miss a few (< 5) classes- 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.
Formatting Errors
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 assign a penalty for every line of code we must edit to make your code run. Please submit your code at least one time before the deadline and check the autograder's feedback to ensure that everything works.
Regrade Requests
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.
Acommodations
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.
Extended time: students who receive extended 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. Extended-time assessments must take place on the same day as the
in-class assessment.
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).
Waitlist
If you are on the waitlist,
don't panic! Most 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.
Auditing
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:
CaPS: 412-268-2922
Re:solve Crisis Network: 888-796-8226
CMU Police: On-Campus 412-268-2323, Off-Campus 911