course introduction (slides)

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 duck

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

  • TAs help answer clarification questions

  • TAs do not debug for you (you wouldn’t learn to solve them yourself if you are always asking other people to do it 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

Creating a Supportive Classroom

In this class, I want us to build a supportive and inclusive environment where everyone feels valued. That means being thoughtful and respectful toward classmates, TAs, and the instructor.

This is a difficult course, but we are here to help you succeed