15-110: Principles of Computing (Summer 2026)

Schedule

Class Schedule

Lectures: Monday, Tuesday, Thursday, Friday at 11:00am - 12:20am in TEP 3500

Recitations: Tuesday, Friday at 3:00pm - 3:50pm or 4:00pm - 4:50pm in TEP 2400

Class Calendar

MONTHMondayTuesdayWednesdayThursdayFridayWeek
JUNE 22Lecture: Introduction, Algorithms & Abstraction 23Lecture: Programming Basics 24 25Lecture: Functions & Libraries 26Lecture: Conditionals and Loops 1
Recitation 1 Check 1 due Recitation 2
29Lecture: Strings & Lists 30Lecture: Objects, References, and Mutation 2 3Lecture: Data representation & circuits 3Independence Day (University closed) 2
Recitation 4
Homework 1 due Recitation 3 Check 2 due
JULY 6Lecture: Tuples & Classes 7Lecture: Dictionaries 8 9Lecture: Efficient Algorithms: Linear vs Binary Search, and Complexity 10Lecture: Efficient Data Structures: Hashtables 3
Homework 2 due Recitation 5 Check 3 due Recitation 6
13Lecture: Recursion 14Lecture: Graphs & Graph Algorithms 15Midterm Exam 16Lecture: Code Organization and Top-Down Design 17Lecture: Working with Real-World Data 4
Homework 3 due Recitation 7 Recitation 8
20Lecture: Data Analysis and Visualization 21Lecture: Animation, Interaction, and Simulation 22 23Lecture: Artificial Intelligence and Machine Learning I 24Lecture: Artificial Intelligence and Machine Learning II 5
Homework 4 due Recitation 9 Check 4 due Recitation 10
27Lecture: Parallel Computing 28Lecture: Computing History 29 30Lecture: P vs NP, Intractability and Incomputability 31Final Exam 6
Check 5 due Recitation 11 Homework 5 (Project) due

Recitations

Recitations are every Tuesday and Friday.

Section Staff Time Location
A/EMadison, Victoria, Amy, Max3:00pm - 3:50pmTEP 2400
B/FGrey, Stella4:00pm - 4:50pmTEP 2400

Office Hours

Office hours are held every day. Specific times and locations will be posted here. Check Ed for updates as they may sometimes be rescheduled!

Instructor Office Hours

Day Time Staff Location
Monday2:00pm - 3:00pmDanielGHC 4124
Tuesday1:00pm - 2:00pmDanielGHC 4124
Thursday2:00pm - 3:00pmDanielGHC 4124
Friday1:00pm - 2:00pmDanielGHC 4124

TA Office Hours

Day Time Staff Location
Monday5pm - 7pmMax, VictoriaNSH 3002
Tuesday5pm - 7pmMadison, StellaNSH 3002
Wednesday5pm - 7pmGrey, VictoriaNSH 3002
Thursday5:30pm - 7pmAmy, MaxNSH 3002
Friday5pm - 7pmMax, StellaNSH 3002
Saturday1pm - 4pmVictoria, Grey, StellaGHC 4215
Sunday1pm - 4pmAmy, MadisonGHC 4215

Staff

Daniel Anderson
Instructor
dlanders at andrew.cmu.edu
Madison England
Head TA
madisone at andrew.cmu.edu
Amy Hu
TA
amyh2 at andrew.cmu.edu
Victoria Cabrera
TA
mcabrera at andrew.cmu.edu
Grey O'Hara
TA
sydneyo at andrew.cmu.edu
Max Chandar-Kouba
TA
mchanda2 at andrew.cmu.edu
Stella Chen
TA
yaxinc at andrew.cmu.edu

Syllabus

Grading

Final grades will be computed with the following weighting:

Component Weight
Post-lecture Exercises (average) 5%
Check assignments 15% (5 × 3% each)
Homework assignments (1–4) 20% (4 × 5% each)
Final project (Homework 5) 10%
Recitations 10% (10 × 1% each)
Midterm Exam 15%
Final Exam 25%

Assessments

This class will have five types of assessments: exercises, check-ins, homeworks, recitation problems, and exams.

Exercises: short (1-3 problem) Gradescope online assessments released with each lecture. Assesses whether the student has introductory knowledge of the lecture's content (have you started learning the material, by attending class or reviewing on your own). Can be retaken as many times as necessary until the desired score is reached. Exercises are due 1 hour before the next lecture

Checks: short assignments that cover the material learned in the past few lectures. Usually composed of a written part and a programming part. These assignments can be completed collaboratively, but you must write up the solutions yourself; see more information in the Collaboration section. Written assignments can be completed by printing the assignment, writing answers by hand, and scanning the result; alternatively, you can type answers in the fillable PDF electronically by using Adobe Reader (Windows/Macs), Preview (Macs), or Microsoft Edge (Windows). Programming assignments can be completed by editing the starter file in an IDE. Both parts should be submitted to Gradescope for grading and feedback. Checks will be posted in the resources page on Ed and are due at 11:59pm EST on the stated date (usually Thursdays, except the final Check).

Homeworks: like checks in format, but longer and covering material both from more lectures. Homeworks will be posted in the resources page on Ed and are due at 11:59pm EST on the stated date (usually Mondays, except the final Homework).

Recitations: you should hand in your answers written on the paper handout at the end of each recitation.

Midterm Exam: paper exam taken in class and completed individually. Takes place during an entire lecture (80min). Covers material from the lectures that preceeded it. You may bring one handwritten double-sided letter-size sheet of paper notes. The midterm exam is scheduled for 11:00am on Wednesday the 15th of July.

Final exam: There will be a final exam, which will take place during the final exam day (July 31st). The time will be set by the university some time in July. This will cover material from the entire course and will be similar in format to the midterm exam, but longer. You may bring three handwritten double-sided US letter-size or A4 sheets of paper notes.

Formatting Errors

Make sure that your submitted assignments do not have any formatting errors! Written assignments must be submitted in PDF format (unless otherwise specified) and code assignments must be submitted in .py format and must not have any syntax errors.

Resources

Gradescope: exercises and assignments are submitted here. Programming assignments are usually autograded; refresh the submission page after submitting to see your score (you may resubmit as many times as you want). Feedback is also visible for both written and programming assignments once manual grading has been done. To view your feedback, open your assignment in Gradescope, then click on the question name on the right sidebar that you want to see feedback for. Note that all rubric items are displayed; the rubric items applied to your submission should be highlighted.

EdStem: announcements will be made via Ed, and it will be used for discussion and questions as well. You should set your preferences to send you an email whenever an announcement is made. It is your responsibility to be up to date with all announcements. Please follow these guidelines when posting on Ed:

One-on-one tutoring: the Student Academic Success Center will have tutoring for this course. Virtual appointments for one-on-one tutoring can be booked here.

Optional Resources

Here are a few other resources that may prove useful. Note that you may use these resources to look things up and learn, but you should never just copy-paste code and use it in your assignments! That would be plagiarism.

Required Software

Every required software package we use is available for free on the web, and also installed on all cluster computers in GHC. You will need to install Thonny, a free IDE (Interactive Development Environment) that is designed for introductory courses. To set up Thonny on a personal computer, go to thonny.org and click on the download link at the top of your page that matches your computer. (You may use another IDE of your choice, but we will not support it if you have any IDE questions or if it breaks.)

Once you've installed Thonny, open the application and run a simple test in the Shell to ensure it works. Enter the text 2 + 2 in the Shell (next to >>>), then press Enter. Thonny should display 4 on the following line. If this doesn't work, go to office hours to get help from a TA or professor.

Note: Thonny comes with Python 3.10 pre-installed. If you would like to download a different verison of Python, you can download it from python.org.

Excused Absences and Extensions

If you cannot complete an assignment by the regular deadline or cannot attend a recitation/exam, check whether your situation falls into one of the following categories. If it does, contact the instructor via email before the deadline so that we can arrange an extension or makeup time. Start your work early to avoid last-minute crises!

If you miss class on a recitation day for a reason not in the approved list, don't panic; we automatically drop your lowest recitation score.

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 by clicking the 'Request Regrade' button. Note: regrade requests will result in the entire problem being regraded, not just the incorrectly graded part. This means that your total score may decrease as the result of a regrade request.

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.

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. In general, all collaborators must contribute intellectually and understand the material they produce, and each student must write up their own assignment submission individually. If you submit work that you have not contributed intellectually to, or support another student in submitting work they do not fully understand, this counts as an academic integrity violation.

The following actions are considered academic integrity offenses on the homework assignment:

Academic Integrity in Exams

Exams must be taken individually to accurately assess student knowledge. It will be considered an academic integrity offense if a student:

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:

Penalties may be accompanied by a letter to the Office of Community Responsibility, to be officially filed as an academic integrity offense. A first offense usually leads to a discussion with the office about academic integrity at the university, so that you can better understand how to approach academic integrity in the future. Two or more offenses usually lead to university-level penalties, such as being suspended or, in extreme cases, 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

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 submission was made 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.

Diversity and Inclusion

If something happens that makes you feel unsafe, unwelcome, or discriminated against, please let us know. You are always encouraged to reach out to the course instructors; we will listen and support you. You can email the professors directly if you feel comfortable doing so. You are also encouraged to reach out to the Center for Student Diversity and Inclusion here if you wish to report concerns anonymously; they will then be able to take appropriate actions to support you.

Accommodations

We gladly accommodate students with accommodations that have been 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 promptly. If you need to acquire the form, contact ODR using these instructions.

Additional time: students who receive additional time on assessments will need to request proctoring from the ODR for each exam. When making proctoring requests, note that additional-time assessments must take place on the same day as the exam. You may attend the normal-duration exams in the regular classroom if you want to, but then you will have to complete exams in the assigned time (without additional time).