CSc 110 Computer Programming I – Course Intro
Welcome to CSc 110
- This is CSc 110, Introduction to Computer Programming I
- Want to learn how to program? . . . You’re in the right class!
Who am I?
- Xinchen Yu (you can call me Xinchen or Dr. Yu)
- Office: Gould-Simpson 829
- Office hours: Thursday 12:00pm - 2:00pm
- Priority window: 12:00pm - 1:00pm
Who are the teaching assistants? (TAs)
The TAs are responsible for:
- Helping you on office hours
- Grading assignments, quizzes, and exams
- Giving you feedback on grading
. . . So get to know them!
What is this class, anyways?
- You will learn how to program in Python (version 3)
- Will cover many of the basic principles and concepts, such as
- input/output
- conditionals and loops (control flow)
- functions and decomposition
- data structures and more!
- Prerequisites: College Algebra or CSc 101 or appropriate math placement score
The intro sequence
This is the intro course sequence for the CS department:
CSc 101 - Intro to Computer Science

CSc 110 - Intro to Computer Programming I

CSc 120 - Intro to Computer Programming II
In-class activity 1
👥 Pair with a partner at your table
🔄 Share one thing you’re willing to try, fail at, and eventually succeed in
💬 Be ready to share your partner’s story!
What do you need to succeed in this class?
A willingness to:
- be curious about how things work
- try and fail
What do you need to succeed in this class?
- Access to a computer with internet (you can get one from the library)
- Install Python and an IDE/editor (Visual Studio Code is recommended)
- Do the readings, watch the videos, come to class, come to lab sessions, come to office hours, do the assignments yourself
How is the structure of this class designed to help you succeed?
- Active learning – you are expected to engage in the in-class activities
- Small sequential steps – each week we build on top of the content of the previous week, make sure you are following along
- Spaced repetition – this is not the type of course you can cram for 2 hours before the exam
- Mastery checks – frequent assessment
Assessment structure
Programming Problems
Short Projects (to be completed in the lab sessions)
Projects
Weekly Quizzes on Tuesday (on paper)
Midterms and Final Exam (on paper)
Exams and Quizzes
Exams are on paper. Why?
- Important skill to develop: whiteboard coding interviews are common
- Gives you the chance to see for yourself what you have or haven’t learned
In-class activity 2
Course website: xinchenyu.github.io/csc110
Access gradescope, discuss with your group members and work on quiz 01. Answers can be found at:
- Syllabus
- TAs and Office Hours
- Online discussion and office hours
Other Important Dates
- Last day for students to add themselves to a course using UAccess is Sep 1
- Last day for students to drop without a grade of W (withdraw) is Sep 21
Academic integrity
You yourself do the work.
Examples of breaches of academic integrity:
- Having a friend do the assignments for you
- Using generative AI (for example, ChatGPT) solve the assignments for you
- Copying a solution from the internet
- Sharing code is cheating
Materials
- Readings, videos, exercises, slides, assignment instructions will be available on the website
- HOWEVER, you are still responsible for things said/announced in class
How to get help?
Before you ask for help: try rubber duck debugging.
Describe the problem aloud, explaining it line-by-line, to a rubber duck or another person (who might not have any experience with programming). This is also a good preparation step to asking other people for help (see next).
How to get help?
Come to office hours but come prepared!
👍 start early, check typo, rubber duck, provide enough context
👎 start late, ask vague questions, ask TA to debug for you
How to get help?
- Come to office hours!
- 1 point of extra credit if you show up to office hours (read the syllabus for specifics on this)
- Join Piazza
- ask on Piazza: questions about assignments, quizzes, and exams (has private options)
- email me: only logistics-related questions