Start here!

Welcome to CS 128

What you need to do, now!

  • Carefully, read the course syllabus.
  • Read the course syllabus a second time.
  • For good measure, read the course syllabus a third time.
  • We will likely include general questions about the syllabus on the first quiz, so ensure you've read the course syllabus a fourth time!
  • Introduce yourself to your colleagues and us on the course fourm.
  • If you do not already have a GitHub account, please create one at
  • Link your GitHub account by going to My.CS128.
  • If you have DRES accomodations, you must:
  • Log-in to PrairieTest and accept your invitation to this course and reserve a seat for the first quiz.
    • Note: We have to upload rosters manually to PrairieTest, so if you don't see the invitation, try again tomorrow: we will synchronize rosters once per day through the add/drop period.
  • Start setting up our development envrionment on your machine. If you have trouble, part of the first recitation section meeting will be dedicated to assisting you with the setup.
  • Begin watching the daily lessons and completing associated programming exercises and questions!
  • Note: there is no "syllabus week" in CS 128; we hit the ground running on the first day of instruction.

Course commencement

CS 128 begins on Tuesday, Jan. 16, 2024. This class breaks from traditional collegiate lectures by delivering course content through a series of asynchronous daily lessons available on-demand through our course website. Each workday (Monday through Friday), you will complete a daily lesson. Each lesson introduces new material through text, video, and interactive walkthroughs. You will also be responsible for completing a bi-weekly machine problem. Assignments will be released and due on the schedule described in the syllabus. Due to our regular release schedule, we do not provide reminders when an assessment is released nor when it is due. The syllabus specifies all this clearly, along with our policies for late work. Here are some important dates to help you get started:

  • The Preflight MP (10 pts) is due on Thursday, Jan. 18 (this week!).
    • This assignment will be a pre-flight machine problem worth fewer points than an actual machine problem.
  • The first quiz window is Jan. 25 through Jan. 28; CBTF self-reserve for the first quiz will open on Tuesday, Jan. 16 at 09:00 AM Champaign local time via PrairieTest. If you haven't already, make sure you reserve a spot through the CBTF to take your quiz. You will need to schedule every quiz in this course during the reservation period (self-reserve time through end date).
  • This week's graded lessons are due by 23:59 Champaign local time on Monday, Jan. 29. All lessons assigned on or after the add drop date will follow the schedule in the syllabus.
  • Office hours begin on the first day of class (i.e., Jan. 16).
  • In-person recitation begin this Friday, Jan. 19 and is required.
  • We will release the first true 100 pt bi-weekly machine problem this Friday, Jan. 19.
  • Assignments will be released and due on the schedule described in the syllabus.
  • Familiarize yourself with the quiz environment that you'll use in the CBTF.

A typical week

Please review the course syllabus to ensure that you understand the bi-weekly nature of the machine problems and quizzes. For important dates, kindly consult the course calendar. Here's what a typical week will look like in CS 128:


  • Daily lessons for the week are released at 05:00 AM Champaign, IL local time.
  • Complete Monday's daily lesson!


  • Complete Tuesday's daily lesson!


  • Come hang out with Prof. Schatz and Prof. Nowak during Meet the Prof
  • Complete Wednesday's daily lesson!


  • Complete Thursday's daily lesson!
  • Bi-weekly: MP deadline, 23:59.
  • Bi-weekly: quiz window opens


  • Complete Friday's daily lesson!
  • Bi-weekly: MP extra credit deadline, 23:59.
  • Bi-weekly: new MP released, 05:00 AM.


  • Finish up any work from the week. Or take a break!


  • Previous lesson week's graded lessons are due by 23:59.
  • If applicable, Thursday's quiz window closes.

Even More Practice (EMP)

EMP (Even More Practice) is a 1-credit 199 course that you take with CS 128. It is designed to help students get more practice with the fundamentals of the course. It is an in-person 2 hour class from 3-5pm on Mondays. Please see the EMP syllabus for the details!

Reasons to sign up and attend EMP
  • You received below an A- in CS 124 and/or want extra support transitioning to CS 128.
  • You struggle with the first week of CS 128 lessons (these are review of CS 124 material).
  • You struggle with quizzes, MPs, or lessons in general this semester.
  • You enjoy learning in an in-person collaborative environment.

Please contact Professor Schatz with any questions or comments!


If you are interested in additional programming enrichment opportunities, we will encourage you to consider "enrolling" in CS 128 Honors. To learn more about CS 128 Honors, watch this video!

If you are a James Scholar and want to earn honors credit, you will have an HCLA agreement with Prof. Nowak. When submitting your HCLA, the work description must be "Satisfactory completion of the coursework associated with CS 199 128." James scholars must refrain from enrolling formally in CS 199 128: James Scholars will earn a +H on their grade for 128 but no extra semester hours provided that they satisfactorily complete the CS 199 128 enrichment work and this course. The +H doesn't appear if a James scholar completes the extra work.

For students who are not James Scholars, CS 199 128 is the extra work option for those interested in taking the honors course. CS 199 128 is a zero credit, satisfactory/unsatisfactory graded course, ending up as close as possible to the low-stress +H option, should you determine that you're unable to complete the extra work: a zero-credit unsatisfactory grade will not impact your GPA.

The big goal of the honors course structure (as described above) is to make the whole experience about doing fun stuff and learning rather than a way for students to improve their GPA or worry about the honors experience adversely affecting their GPA.

Interested in taking CS 128 Honors?

Be sure to complete the CS 128 Honors onboarding form here. If you're filling out an HCLA, please list Prof. Nowak as the instructor.