CS 421: Programming Languages and Compilers
Pinned Announcements
  • 12/07/21 - I am am moving the final exam for the in-class section to online at 1:30pm-4:30pm on Tuesday 14 December, 2021. The online section still has its exam online at 8:00am-11:00am on Tuesday 14 December, 2021. I will set up all the sections in PrairieTest, as was done with the online exam for the second Midterm. Students with verifiable conflicts may request to take the exam in the other exam period by sending me an email with full details of the conflict. There is limited capacity for students to move from one section to the other, so only students with verifiable conflicts as defined by the student code will be allowed to shift their exam period to the other. If a student has a conflict with each exam period, than I will need to be given that student's full exam schedule to enable me to find an exam period that will work. If there are too many students in need of a conflict exam to be handled by shifting sections, I will need to establish one more exam period. If that happens, I will be in contact with the effected students by email. - ELG

  • News for Fall 2021
  • 12/08/21 - A list of topics for the final and a pdf Sample Exam have been posted in exams. A solution will be posted by Saturday evening. - ELG
  • 11/29/21 - I am giving a two day extension for submission of MP9 for full credit. - ELG
  • 11/15/21 - MP9 and WA3 have been posted. I apologize for thier tardiness. The due date is set for Monday, Nov 29, 2021, the Monday after Fall Break. Lecture 23 fro Nov 11 is posted now - ELG
  • 11/3/21 - A practice exam for Midterm 2 is up. - ELG
  • 11/2/21 - To try to avoid some of the problems we had with Midterm1, we will be using a new system, PrairieTest, for managing the test timing this time around. You should go to https://www.prairietest.org/pt/docs/students for instructions in how PrairieTest works from the student viewpoint. I have tentatively assigned each of you to an exam session, mostly based on whether you are registered for the in-class section or the online section, and if online, which proctor you had last time around. You can see your assignment by following the instructions at the link above.

    If you feel you have a need to take Midterm 2 in a different mode or at a different time than that to which you are currently, please go to
    and fill out the form, indicating the change you request, and reason. If you need special accommodations, I think I have done something appropriate for each person who has contacted me about accommodations, but please check how I have set uo your exam and let me know if it is inadequate.
    Right now the class is distributed in a relatively ballanced manner, with enough proctoring resources to cover the need If too many people request to shift all in the same direction, I may have to say no to groups of requests, so please only request a change if you have a clear justification. - ELG
  • 10/31/21 - A pdf solution to the Sample Exam has been posted in exams. - ELG
  • 10/29/21 - A list of topics for Midterm 2 and a pdf Sample Exam have been posted in exams. A solution will be posted on Sunday evening. - ELG
  • 9/28/21 - By default, students who are in the in-class section will be scheduled to take the exam in the classroom during the normal class period, and students in the asynchronous online section will be scheduled to take the exam online with Zoom proctoring (via your cell phone with video) at 8:00pm-9:15pm on Thursday Sep 30.
    I have created a form for students to use to request to take the exam at the other time than when they are assigned and/or in a different mode (in class versus online). There is also a place to register requests for special accommodations , assuming a letter from DRES has been submitted to me. The form is found at:
    It should only be filled out if you are requesting a change in how or when you are taking the exam from the defaults mentioned at the start of this post. - ELG
  • 9/24/21 - A list of topics for Midterm 1 and a pdf Sample Exam have been posted in exams. A solution will be posted on Sunday evening. - ELG
  • 9/4/21 - MP1 has been releases. It is in PrairieLearn MP1 It will be due on Saturday 9/11/21. - ELG
  • 8/31/21 - Office Hours have been added to this page. MPs and WAs are still delayed, but we have made progress with enabling the TAs to help me get these converted. - ELG
  • 8/24/21 - The first class is today at 2:00pm, as prescribed in Course Explorer. However, given the rather high and growing positivity rate here on campus (strikingly more among staff and faculty than students, at least so far) among those testing, I feel that it woud be asking students to put themselves at too great a risk for us to meet in person for the first few classes. Therefore, the class will be delivered in Zoom this week at least and probably a bit more than that until it is clearer what the impact of our gathering back together here on campus with in person return events will be. The Zoom information is as follows:

    Meeting ID: 830 1397 0403
    Passcode: CS421FA21
    URL: https://illinois.zoom.us/j/83013970403?pwd=K1VGKzEzUGhCLzNaeWxUMlZRTXlsUT09

    The classroom for the class in CIF 3039, and students may go there to watch the presentation. I expect to play it on the house computer, but it that fails, the room still can be used by those students needing a place to sit to watch it on their own computer. It will be important for everyone in the room to mute their computer or the feedback may become terrible. If you have an alternate place that is convenient for wathcing, I recommend you watch it there to reduce the risk of coming in contact with COVID in the classroom. - ELG
  • 8/19/21 - Welcome to CS421, Fall 2021. This page will be the main bulletin board for the course, and hence is always under construction. Please check it frequently. Essential notices will be posted here.
    We will also be using PrairieLearn this semester. Please go to https://www.prairielearn.org and add
    CS 421: Programming Languages and Compilers, Fall 2021
    as one of your courses there for this semester. - ELG
    Contacting Staff
    Submitting Assignments
    Regrade Policy
    Policy on Cheating

    Class Schedule
    Tues, Thurs 2:00pm - 3:15pm
    3039 Campus Instructional Facility

    Elsa Gunter
    Email: egunter@illinois.edu
    Office: 2112 SC, and 1234 SC
    Phone: 265-6118
    Zoom Info:Meeting Id: 871 2339 8534
                  Passcode: ugrads
                  URL: https://illinois.zoom.us/j/87123398534?pwd=d1JzUG9NanJHd2hLNjRtYWZybXgwUT09
    Hours: Mon 2:30pm-3:20pm
                  Wed 1:30pm-2:20pm
                 Also by appointment

    Teaching Assistants
    Adithya Chari
    Email: aschari2@illinois.edu
    Office: 0207 SC
    Hours: Mon 11:00am - 12:00pm
                 Wed 11:00am - 12:00pm

    Paul M Krogmeier
    Email: paulmk2@illinois.edu
    Office: 0207 SC
    Hours: Tues 9:00am - 11:00am

    Christopher Lam
    Email: lam30@illinois.edu
    Office: 0207 SC
    Hours: Mon 1:00pm - 2:00pm
                 Fri 1:00pm - 2:00pm

    John J Lee
    Email: jlee170@illinois.edu
    Office: 0207 SC
    Hours: Wed 12:00pm - 1:00am
                 Fri 11:00am - 12:00pm

    Nirmal Arun Prakash
    Email: nirmalp2@illinois.edu
    Office: 0207 SC
    Hours: Tues 12:30pm - 1:30pm
                 Thurs 12:30pm - 1:30pm

    Haoqing Zhu
    Email: haoqing3@illinois.edu
    Office: 0207 SC
    Hours: Thurs 3:30pm - 5:30pm