15-110: Principles of Computing (Summer 2025)

Schedule

Class Schedule

Lectures: Monday, Tuesday, Thursday, Friday at 9:30am - 10:50am in Baker Hall A36

Recitations: Tuesday, Friday

Class Calendar

MONTHMondayTuesdayWednesdayThursdayFridayWeek
JUNE 23Lecture: Introduction, Algorithms & Abstraction 24Lecture: Programming Basics 25 26Lecture: Functions & Libraries 27Lecture: Conditionals and Loops 1
Recitation 1 Check 1 due Recitation 2
30Lecture: Strings & Lists 1Lecture: Lists & Mutation vs Immutability 2 3Lecture: Data representation & circuits 4Independence Day (University closed) 2
Recitation 4
Homework 1 due Recitation 3 Check 2 due
JULY 7Lecture: Dictionaries & Sets 8Lecture: Classes & Objects 9 10Lecture: Efficient Algorithms: Linear vs Binary Search, and Complexity 11Lecture: Efficient Data Structures: Hashtables 3
Homework 2 due Recitation 5 Check 3 due Recitation 6
14Lecture: Recursion 15Lecture: Graphs & Graph Algorithms 16Midterm Exam 17Lecture: More Libraries & Files in Python 18Lecture: The Internet, Cryptography and Security 4
Homework 3 due Recitation 7 Check 4 due Recitation 8
21Lecture: Code organization & Top-down Design 22Lecture: Data Analysis and Visualization 23 24Lecture: Machine Learning, Supervised, Unsupervised, and Reinforcement Learning 25Lecture: Machine Learning, Generative AI 5
Homework 4 due Recitation 9 Check 5a due Recitation 10
28Lecture: Parallel Computing 29Lecture: Computing History 30 31Lecture: P vs NP, Intractability and Incomputability 1Final Exam 6
Check 5b due Recitation 11 Homework 5 (Project) due

Recitations

Recitations are every Tuesday and Friday.

Section Staff Time Location
AZoe and Michelle2:00pm -2:50pmDH 1117
BCyrus and Katherine3:30pm-4:20pmGHC 5207
CGrey and Jenny3:30pm-4:20pmGHC 5208
DSohum and Jess3:30pm-4:20pmGHC 5210

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
Monday11:30am - 1:30pmDanielGHC 4124
Thursday11:30am - 1:30pmDanielGHC 4124

TA Office Hours

Day Time Staff Location
Monday5pm - 7pmMichelle, GreyTBD
Tuesday5pm - 7pmSohum, Cyrus, ZoeTBD
Wednesday5pm - 7pmSohum, Cyrus, ZoeTBD
Thursday5pm - 7pmZoe, CyrusTBD
Friday5pm - 7pmMichelle, GreyTBD
Saturday1pm - 4pmJess, Jenny, KatherineTBD
Sunday1pm - 4pmJess, Jenny, KatherineTBD

Staff

Daniel Anderson
Instructor
dlanders at andrew.cmu.edu
Zoe Hausner
Head TA
zhausner at andrew.cmu.edu
Michelle Chen
TA
mchen7 at andrew.cmu.edu
Cyrus Castellanos
TA
cyrusc at andrew.cmu.edu
Grey O'Hara
TA
sydneyo at andrew.cmu.edu
Katherine Geng
TA
kgeng2 at andrew.cmu.edu
Jenny Wang
TA
jiaqiwa4 at andrew.cmu.edu
Sohum Walavalkar
TA
swalaval at andrew.cmu.edu
Jess Tomasic
TA
jatomasi 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 9:30am on Wednesday the 16th of July.

Final exam: There will be a final exam, which will take place during the final exam day (August 1st). This will cover material from the entire course and will be similar in format to the midterm exam, but longer. You may bring two handwritten double-sided letter-size 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. If you need help finding collaborators, fill out the collaboration form for the next assignment on the assignments page, and we'll match you with other students.

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).