| Week | Start Date | Module | Topic |
|---|---|---|---|
| 1 | Aug 24 | Module 1 | Python Basics (constants, variables, comments, strings, print) |
| 2 | Aug 31 | Module 2 | Operators and Expressions, functions |
| 3 | Sep 07 | Module 3 | Functions, decomposition |
| 4 | Sep 14 | Module 4 | Functions, input from user, decomposition |
| 5 | Sep 21 | Module 5 | Control Flow (if statements) |
| 6 | Sep 28 | Module 6 | Control Flow (while) |
| 7 | Oct 05 | Module 7 | Data Structures (lists) |
| 8 | Oct 12 | Module 8 | Control Flow (for loops), mutability, random |
| 9 | Oct 19 | Module 9 | Control Flow (for loops), Dictionaries |
| 10 | Oct 26 | Module 10 | Files and strings |
| 11 | Nov 02 | Module 11 | Data Structures (tuples) |
| 12 | Nov 09 | Module 12 | 2D lists, nested for loops |
| 13 | Nov 16 | Module 13 | Data Structures (sets) |
| 14 | Nov 23 | Module 14 | Mutability |
| 15 | Nov 30 | Module 15 | Control Flow + Data Structures |
| 16 | Dec 07 | Module 16 | Review, Final Exam |
Syllabus
CSc 110 Computer Programming I
Location and Times
This course is scheduled to be an in-person course, meeting in-person two times a week. Your meeting time should be:
- Gittings Room 129b, 3:30-4:45pm, Tuesday and Thursday
In addition to the lectures, you will attend one weekly in-person lab session (discussion section). This is the discussion section you selected when you enrolled in the course. The available sections are:
- Section 002A: Gould-Simpson Room 930, 3:00-3:50pm, Monday
- Section 002B: Gould-Simpson Room 930, 2:00-2:50pm, Friday
- Section 002C: Gould-Simpson Room 930, 3:00-3:50pm, Friday
If you need an exception due to a medical or visa issue, please reach out to the DRC or instructor.
Description of Course
An introduction to programming with an emphasis on solving problems drawn from a variety of domains. Topics include basic control and data structures, problem solving strategies, and software development tools and techniques. Specifically, the Python programming language will be taught.
Course Prerequisites
The prerequisite is a C or better in College Algebra or CSc 101 or appropriate math placement score.
Instructor, Teaching Staff, and Contact Information
- Instructor:
- Xinchen Yu
- Office: Gould-Simpson 829
- Email: xinchenyu@arizona.edu
- Instructor Website: xinchenyu.github.io
- Office hours (open door, drop in, my office GS 829):
Thursday 12:00pm-2:00pm.- You are welcome to drop in at any time during this period. However, students in this course will be given priority from
12:00pm-1:00pm. If you arrive outside of this priority window, please understand that wait times may vary depending on whether students from another course are being helped.
- Xinchen Yu
There will also be many undergraduate TAs. See TAs and Office Hours!
Course Format and Teaching Methods
The course will have three required meeting times per-week. The in-class experience will consist of a combination of lecture, programming demonstrations (live coding), and in-class activities. This course will use active learning, peer-teaching, and flipped-classroom teaching techniques.
Each student must attend a weekly 50-minute discussion session that gives students the opportunity to practice additional problems in a smaller group setting of approximately 35 students. Guidance will be provided by the TAs. In addition, the students will be able to collaborate with neighboring students. Discussion sections are held in-person as a separate class meeting. Discussion section attendance is mandatory. The discussion section activities/problems will be graded for correctness.
By active learning, I mean that class time won’t be just 50 minutes of me talking. Instead, class meetings will include a number of in-class activities (ICAs) for you to work on individually and/or in a group. Thus, you can spend some time actively learning (instead of passively listening to the instructor).
By peer-teaching, I mean that you will have opportunities to learn from your classmates, and vice-versa. In many of the in-class activities, you will be able to work on groups and help each-other when necessary.
By flipped-classroom, I mean that you will often be assigned reading or other material to complete before attending each class meeting time. By doing this, you will come to class with (at least some) preparation. This will hopefully result in more class time allocated towards active learning!
Obtaining Help
- Academic advising: If you have questions about your academic progress this semester, or your chosen degree program, consider contacting your department’s academic advisor(s). Your academic advisor and the Advising Resource Center can guide you toward university resources to help you succeed. Computer Science major students are encouraged to visit https://www.cs.arizona.edu/undergraduate/advising for advisor contact information.
- CS Help Desk: The Computer Science IT team can help students with department technology issues including logging into/resetting your Lectura account, printing in the 930 lab, etc. You can submit a ticket for help by visiting the Computer Science Lab Helpdesk (note, requires UA login).
- Life challenges: If you are experiencing unexpected barriers to your success in your courses, please note the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office can be reached at 520-621-7057 or DOS-deanofstudents@email.arizona.edu.
- Physical and mental-health challenges: If you are facing physical or mental health challenges this semester, please note that Campus Health provides quality medical and mental health care. For medical appointments, call (520-621-9202. For After Hours care, call (520) 570-7898. For the Counseling & Psych Services (CAPS) 24/7 hotline, call (520) 621-3334.
- UA Ombuds: The UA Ombuds Office (https://ombuds.arizona.edu/) helps with a wide variety of issues, concerns, questions, conflicts, and challenges. The primary mission of the Ombuds Program is to assist individuals in resolving conflict, facilitating communication, and assisting the University by surfacing issues and providing feedback on emerging or systemic concerns. Communications with the Ombuds Committee are informal and off-the-record. The Ombuds Committee is governed by the following standards: (1) Confidentiality; (2) Impartiality: (3) Informality; and (4) Independence.
Course Objectives
By the end of the semester, you should be able to write complete, well-structured programs in python.
Expected Learning Outcomes
This successful CSc 110 student will be able to:
- Use variables, control structures, basic data types, lists, dictionaries, file I/O, and functions to write correct 100 - 200 line programs.
- Decompose a problem into an appropriate set of functions, loops, conditionals, and/or other control flow.
- Find bugs when code is not working as expected using print statements and computational thinking skills, and will be able to understand and resolve errors.
- Write clean, well-structured, and readable code.
- Follow a provided style guide to write clean, well-structured, and readable code.
- Explain the conceptual memory model underlying the data types covered in class.
(These learning outcomes are derived from ones developed by Allison Obourn, Ben Dicken, Adriana Picoral and other faculty at the UA).
Absence and Class Participation Policy
Participating in the course and attending lectures and other course events are vital to the learning process. As such, attendance is required at all lectures.
Absences may affect a student’s final course grade. If you anticipate being absent, are unexpectedly absent, or are unable to participate in class online activities, please contact me as soon as possible. To request a disability-related accommodation to this attendance policy, please contact the Disability Resource Center at (520) 621-3268 or drc-info@email.arizona.edu. If you are experiencing unexpected barriers to your success in your courses, the Dean of Students Office is a central support resource for all students and may be helpful. The Dean of Students Office is located in the Robert L. Nugent Building, room 100, or call 520-621-7057.
If you have any problems coming to class and decide to drop this course, see an advisor if it is after the drop period. Advisors will provide options and alternatives as appropriate for individual student situations.
The UA’s policy concerning Class Attendance, Participation, and Administrative Drops is available at https://catalog.arizona.edu/policy/courses-credit/courses/class-attendance-participation.
The UA policy regarding absences for any sincerely held religious belief, observance or practice will be accommodated where reasonable: [http://policy.arizona.edu/human-resources/religious-accommodation-policy](http://policy.arizona.edu/human-resources/religious-accommodation-policy.
Absences pre-approved by the UA Dean of Students (or dean’s designee) will be honored. See https://deanofstudents.arizona.edu/policies/attendance-policies-and-practices.
Administrative Drops
Every semester, students enroll in introductory CS classes but do not submit any work, resulting in a grade of E at the end of the term. To prevent this, at the end of the second week, all students who have not submitted/completed three or more of the following will be administratively dropped:
- Quiz 01
- Quiz 02
- Module 1 Programming Problem 1
- Module 1 Programming Problem 2
Nov 1 is the last day instructors may administratively drop students. Check more important dates here.
Illnesses and Emergencies
- If you feel sick, or may have been in contact with someone who is infectious, stay home. Except for seeking medical care, avoid contact with others and do not travel.
- Notify your instructor if you will be missing up to one week of course meetings and/or assignment deadlines.
- If you must miss the equivalent of more than one week of class and have an emergency, the Dean of Students is the proper office to contact (DOS-deanofstudents@email.arizona.edu). The Dean of Students considers the following as qualified emergencies: the birth of a child, mental health hospitalization, domestic violence matter, house fire, hospitalization for physical health (concussion/emergency surgery/coma/COVID-19 complications/ICU), death of immediate family, Title IX matters, etc.
- Please understand that there is no guarantee of an extension when you are absent from class and/or miss a deadline.
Statement on compliance with COVID-19 mitigation guidelines: As we enter the semester, our health and safety remain the university’s highest priority. To protect the health of everyone in this class, students are required to follow the university guidelines on COVID-19 mitigation. Please visit www.covid19.arizona.edu.
Makeup Policy for Students Who Register Late
If you register after the first class meeting you may make up missed assignments within your first week of attendance.
Course Communications
All online communication will be conducted through my official UA e-mail address (xinchenyu@arizona.edu), D2L, and Piazza. Ask questions on Piazza when you have questions about assignments, quizzes, and exams (has private options). Email the instructor only when you have logistics-related questions.
Required Texts or Readings
All readings, videos, and assignment instructions will be available in the course website.
- Course D2L: https://d2l.arizona.edu/d2l/home/1795127
- Course Gradescope: https://www.gradescope.com/courses/1343427
- Course website: https://xinchenyu.github.io/csc110/
- Piazza: https://piazza.com/arizona/fall2026/csc110002/home (Access code: wildcats)
Assignments and Examinations: Schedule/Due Dates
The breakdown of grades in this course is as follows:
- 45% exams
- 20% weekly quizzes
- 10% programming problems
- 10% short programming projects (Discussion section activities)
- 15% programming projects
There will be three exams (each 15%) throughout the course (including two midterms and one final exam), for a total of 45%. These exams may cover material from class, the programming assignments, the projects, and the readings. If you score higher on Midterm 2 than on Midterm 1, we will use your Midterm 2 grade for both. However, we will not do the reverse — a higher Midterm 1 grade will not replace a lower Midterm 2 grade. If you would like an exam regraded, we reserve the right to regrade the entire exam, not only the parts you might question.
The midterm exams will be on:
- Midterm Exam 1 - Tue, Oct 06
- Midterm Exam 2 - Tue, Nov 03
You must keep theses dates available. Do not schedule any flights, travel plans, or other conflicts with these exams.
Weekly quizzes will usually be held every Tuesday (unless otherwise noted). There will be a total of 12 quizzes. Make-up quizzes will not be offered, however, your 2 lowest quiz scores will be dropped when calculating your final grade.
Students must complete programming projects using only the concepts and materials covered in class or assigned readings. Using external or advanced code beyond this scope is not permitted unless explicitly approved by the instructor or teaching assistants.
Both an autograder and manual review will be used to detect unauthorized advanced content. Deductions will be applied accordingly. In cases where these deductions result in a negative score, the project grade will be adjusted to zero. Otherwise, your Gradescope score will be your final grade.
Please note that you should wait for the autograder to display your score, as only the points reported by the autograder will be used as your grade.
Late Work
For programming problems, short projects and long projects, late work is NOT accepted.
Extra Credit
Up to 1 point of extra credit will be awarded to students who come to office hours in person. Check our office hours schedule on the website TAs and Office Hours and ask the TA or instructor to submit your points to gradescope.
You are required to ask a question and/or work on an assignment or practice problem with the TA or instructor to receive 0.5 points for each office hour attendance. It is your responsibility to ensure the TA or instructor enter your 0.5 points on gradescope during the session. Instructors will not award you these points at a later date, do not email instructors about getting points at a later date (for example, if you forget to ask the TA to enter your office hour points on Gradescope).
Your first TA office visit should take place before the Midterm 1 date, and the second visit should take place before the Midterm 2 date.
Final Examination
The final exam is worth 15%.
The final exam date and time is: Fri, Dec 11 – 3:30-5:30pm.
You must keep this time available. Do not schedule any flights, travel plans, or other conflicts with this exam.
See also Final Exam Regulations and Schedule: https://registrar.arizona.edu/finals
Grading Scale and Policies
The instructor and teaching staff will do their best to have grades back to students within 1 week. This includes, but is not limited to, grades for exams, projects, programming assignments, attendance, and quizzes. Once a grade has been entered for a particular item on the digital grade-book, students have at most 5 days to dispute the grade. This includes disputes related to excuses such as sickness, personal matters, dean’s excuses, etc. If 5 days pass and there has not been such a request, the grade is final. Appeals submitted after this period will not be considered by the instructor or teaching staff under any circumstances. Please review your grades promptly and plan accordingly.
The correspondence between percentage grade and numeric grade is as follows:
- Greater or equal to 90% at least an A
- Greater or equal to 80% at least a B
- Greater or equal to 70% at least a C
- Greater or equal to 60% at least a D
- Anything less, at least an E / F
Department of Computer Science Grading Policy:
- Instructors will explicitly promise when every assignment and exam will be graded and returned to students. These promised dates will appear in the syllabus, associated with the corresponding due dates and exam dates.
- Graded homework will be returned before the next homework is due.
- Exams will be returned “promptly”, as defined by the instructor (and as promised in the syllabus).
- Grading delays beyond promised return-by dates will be announced as soon as possible with an explanation for the delay.
Incomplete (I) or Withdrawal (W):
Requests for incomplete (I) or withdrawal (W) must be made in accordance with University policies, which are available at https://catalog.arizona.edu/policy/courses-credit/grading/grading-system.
Honors Credit
Students wishing to contract this course for Honors Credit should e-mail me to set up an appointment to discuss the terms of the contact and to sign the Honors Course Contract Request Form. The form is available at http://www.honors.arizona.edu/honors-contracts.
Scheduled Topics/Activities
List topics in logical units in a weekly/daily schedule, including assignment due dates and exam dates can be found on the course website.
Holidays
We won’t have classes due to university-wide holidays on the following dates:
| Week | Date | Holiday |
|---|---|---|
| 3 | Tue, Sep 01 | Labor Day |
| 12 | Wed, Nov 11 | Veterans Day |
| 14 | Thu, Nov 26 | Thanksgiving Recess |
Assignment due dates
| Assessment | Date | Time/Location |
|---|---|---|
| Quiz 01 | Tuesday, August 25, 2026 | in class |
| Quiz 02 | Tuesday, September 01, 2026 | in class |
| Module 1 Programming Problems | Wednesday, September 02, 2026 | 9pm |
| Quiz 03 | Tuesday, September 08, 2026 | in class |
| Module 2 Programming Problems | Wednesday, September 09, 2026 | 9pm |
| Short Programming Project 1 | Wednesday, September 09, 2026 | 9pm |
| Programming Project 1 | Friday, September 11, 2026 | 9pm |
| Quiz 04 | Tuesday, September 15, 2026 | in class |
| Module 3 Programming Problems | Wednesday, September 16, 2026 | 9pm |
| Short Programming Project 2 | Wednesday, September 16, 2026 | 9pm |
| Programming Project 2 | Friday, September 18, 2026 | 9pm |
| Quiz 05 | Tuesday, September 22, 2026 | in class |
| Module 4 Programming Problems | Wednesday, September 23, 2026 | 9pm |
| Short Programming Project 3 | Wednesday, September 23, 2026 | 9pm |
| Programming Project 3 | Friday, September 25, 2026 | 9pm |
| Quiz 06 | Tuesday, September 30, 2025 | in class |
| Module 5 Programming Problems | Wednesday, September 30, 2026 | 9pm |
| Short Programming Project 4 | Wednesday, September 30, 2026 | 9pm |
| Programming Project 4 | Friday, October 02, 2026 | 9pm |
| Midterm 1 | Tuesday, October 06, 2026 | in class |
| Module 6 Programming Problems | Friday, October 09, 2026 | 9pm |
| Short Programming Project 5 | Friday, October 09, 2026 | 9pm |
| Programming Project 5 | Monday, October 12, 2026 | 9pm |
| Quiz 07 | Tuesday, October 13, 2026 | in class |
| Module 7 Programming Problems | Wednesday, October 14, 2026 | 9pm |
| Short Programming Project 6 | Wednesday, October 14, 2026 | 9pm |
| Programming Project 6 | Friday, October 16, 2026 | 9pm |
| Quiz 08 | Tuesday, October 20, 2026 | in class |
| Module 8 Programming Problems | Wednesday, October 21, 2026 | 9pm |
| Short Programming Project 7 | Wednesday, October 21, 2026 | 9pm |
| Programming Project 7 | Friday, October 23, 2026 | 9pm |
| Quiz 09 | Tuesday, October 27, 2026 | in class |
| Module 9 Programming Problems | Wednesday, October 28, 2026 | 9pm |
| Midterm 2 | Tuesday, November 03, 2026 | in class |
| Module 10 Programming Problems | Wednesday, November 04, 2026 | 9pm |
| Short Programming Project 8 | Wednesday, November 04, 2026 | 9pm |
| Programming Project 8 | Friday, November 06, 2026 | 9pm |
| Module 11 Programming Problems | Wednesday, November 11, 2026 | 9pm |
| Short Programming Project 9 | Wednesday, November 11, 2026 | 9pm |
| Programming Project 9 | Friday, November 13, 2026 | 9pm |
| Quiz 10 | Tuesday, November 17, 2026 | in class |
| Module 12 Programming Problems | Wednesday, November 18, 2026 | 9pm |
| Short Programming Project 10 | Wednesday, November 18, 2026 | 9pm |
| Programming Project 10 | Friday, November 20, 2026 | 9pm |
| Quiz 11 | Tuesday, November 24, 2026 | in class |
| Module 13 Programming Problems | Wednesday, November 25, 2026 | 9pm |
| Short Programming Project 11 | Wednesday, November 25, 2026 | 9pm |
| Programming Project 11 | Tuesday, December 01, 2026 | 9pm |
| Quiz 12 | Tuesday, December 01, 2026 | in class |
| Module 14 Programming Problems | Friday, December 04, 2026 | 9pm |
| Short Programming Project 12 | Friday, December 04, 2026 | 9pm |
| Programming Project 12 | Monday, December 07, 2026 | 9pm |
| Final Exam | Friday, December 11, 2026 | 3:30-5:30pm |
Transferable Career Skills
In this course, we will focus on the following competencies:
- Technology: Students will use technology to design and write complete, well-structured programs in Python.
- Teamwork: The course will include lectures, in-class discussions, and activities, with a strong emphasis on teamwork through group work that requires collaboration with other students during class.
- Communication: Students are encouraged to emphasize communication by interacting with teaching assistants and using various channels, such as office hours, Gradescope, class discussions, and Piazza, to stay updated on course materials.
Classroom Behavior Policy
To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.).
Students are asked to refrain from disruptive conversations with people sitting around them during lecture. Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.
Class Participation Policies
Participation is required and is an important part of the learning experience in this course. Students are expected to arrive prepared, engage actively in lectures, contribute to discussions and in-class activities, and collaborate respectfully with their peers. While participation itself is not graded, consistent engagement is expected and is essential for success in the course.
Class Absence Policies
Attendance is required because lectures include quizzes, active learning activities, and collaborative exercises that support your learning and cannot be fully replicated outside of class.
If you must miss class due to illness, a university-approved activity, or other legitimate circumstance, please notify the instructor in advance whenever possible. In general, missed quizzes cannot be made up. To accommodate occasional absences, the two lowest quiz scores will be dropped automatically. No additional make-up quizzes or extensions will be provided except in cases approved through the Dean of Students or as otherwise required by University policy.
In-class activities are designed to support engagement and record attendance. They do not contribute to your final course grade and cannot be made up if missed.
Accessibility and Accommodations
At the University of Arizona, we strive to make learning experiences as accessible as possible. If you anticipate or experience barriers based on disability or pregnancy, please contact the Disability Resource Center (520-621-3268, https://drc.arizona.edu/) to establish reasonable accommodations.
Safety on Campus and in the Classroom
For a list of emergency procedures for all types of incidents, please visit the website of the Critical Incident Response Team (CIRT): https://cirt.arizona.edu/case-emergency/overview
Also watch the video available at https://arizona.sabacloud.com/Saba/Web_spf/NA7P1PRD161/app/me/ledetail;spf-url=common%2Flearningeventdetail%2Fcrtfy000000000003841
Confidentiality of Student Records
Student education records are considered confidential and may not be released without the written consent of the student. For more information visit http://www.registrar.arizona.edu/ferpa.
University-wide Policies link
All students must familiarize themselves with the policies and resources at the following link: https://catalog.arizona.edu/syllabus-policies
- Threatening Behavior Policy
- Student Code of Academic Integrity
- Nondiscrimination and Anti-Harassment Policy
- Disability Syllabus Statement
- Religious Accommodation Policy
- Absences pre-approved by the University Dean of Students (or dean’s designee) will be honored.
Subject to Change Statement
Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.