Let’s Get Seated
This course includes frequent collaborative activities. Please choose seats at the center tables and leave tables along the walls empty. When possible, sit with others rather than alone.
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 or your solutions
. . . 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
In-class activity 1
👥 Pair with a partner at your table
🧩 Share something you enjoy figuring out and building toward
🔄 What have you tried, failed at, and eventually succeeded in?
💬 Be ready to share your partner’s story!
What do you need to succeed in this class?
- Curiosity: HOW does this work?
- Persistence: Let me try AGAIN.
- Independence: Let ME figure this out.
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, come to class (twice a week), lab sessions (once a week), and 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
Exams and quizzes are on paper.
Programming Problems
Short Projects (to be completed in the lab sessions)
Projects
Weekly Quizzes (on paper)
Midterms and Final Exam (on paper)
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 to add yourselves to a course using UAccess is Aug 31
- Last day to drop without a grade of W (withdraw) is Sep 6
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)
- Ask on Piazza
- ask on Piazza: questions about in-class activities, assignments, quizzes, and exams (has private options)
- email me: only logistics-related questions