Start here!

This assignment is due Thursday, August 24, 2023 at 23:59 CDT. See the syllabus for our late policy.

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 applicable, submit your accomodations letter to the CBTF.
  • 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 discussion 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 Monday, August 21, 2023. 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 the weekly machine problem each week. 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, August 24 (this week!).
  • The first quiz window is August 30, 2023 through September 1; CBTF self-reserve for the first quiz will open on Monday, August 21 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 Sunday, August 27.
  • Office hours begin on the first day of class (i.e., August 21).
  • In-person recitation/discussion begins on Friday, August 25.
    • During the first recitation/discussion section meeting, we will review the first week's content and help you with set up your CS 128 development environment.
  • We will release the first true 100 pt bi-weekly machine problem on September 8.
    • This assignment will be a pre-flight machine problem worth fewer points than an actual machine problem.
  • Assignments will be released and due on the schedule described in the syllabus.

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!


  • Complete Wednesday's daily lesson!


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


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


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


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


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.