CS/ECE 374 A — Spring 2018
Staff
Instructors
Dakshita Khurana Jeff Erickson

Teaching assistants
Christian Howard Cosmo Viola
David Zheng Eliot Robson
James Hulett Robert Andrews
Shubhang Kulkarni Stav Ashur
Tanvi Bajpai

Course assistants
Angela Zhao Ananya Yammanuru
Aryaman Jain James Wei
Jiasheng Hu Joe Carolan
Kaiyao Ke Lou Zeh
Michael Jiang Noah Watson
Nora Dunleavy Rishub Podar
Samraj Moorjani Shresta Bangaru
Yipeng Yang

PrairieLearn developers
Eliot Robson Jason Xia
Julie Lee Steven Pan
Tomoko Sakurayama

Schedules
Lectures and labs
Coursework
Exam dates Midterm 1: Sep 27, 7:00–9:30pm
Midterm 2: Nov 8, 7:00–9:30pm
Final exam: Dec 15, 8–11am

Calendar of all weekly class events
Office hours
Administrivia
About this course
Prerequisite skills
Policies
Homework • Exams • Grading
Accommodations • Health • Culture
Academic integrity
Zoom links
Lectures
Labs (see calendar for more info) AD0 (9am)
ADA (9am)
ADB (10am)
ADC (11am)
ADD (12pm)
ADF (1pm)
ADH (2pm)
ADK (3pm)
ADE (4pm)
ADG (5pm)
Office hours: Dakshita. Jeff, TAs
Videos
Lectures
Walk-throughs
Office hours
Labs (see calendar for more info) AD0 (9am)
ADA (9am)
ADB (10am)
ADC (11am)
ADD (12pm)
ADF (1pm)
ADH (2pm)
ADK (3pm)
ADE (4pm)
ADG (5pm)
Other Links
Gradescope (N84GEX)
PrairieLearn
Piazza (374A) • DiscordQueue
Other useful resources
Section B (taught by Nickvash Kani)


Announcements

January 23
All final exam regrade requests have been answered, and all resulting grade changes have been submitted to Banner. Here is a final breakdown of letter grades, excluding students who were unable to take the final exam in December:

Letter + · total (%)
A 28 48 55 131 (34.7%)
B 35 36 40 111 (29.4%)
C 44 34 22 100 (26.5%)
D 18 6 6 30 (8.0%)
F 5 5 (1.8%)
January 16
All solutions have been removed from the web site.

As a reminder: Final-exam regrade requests can be submitted until the end of this week.

Thanks everyone for a great semester!

December 22
  • All final exams (both regular and conflict) have been graded. Graded exams are available on Gradescope.
  • Regrade requests for the final exam may be submitted on Gradescope through January 21, 2022, the first Friday of the Spring 2022 semester. We reserve the right to ignore regrade requests whose positive outcome would not increase any course grade, and we are unlikely to answer any regrade requests before January 10.
  • Course grades have been submitted to Banner. Grades should be visible in your academic history by Friday, December 24. Course grades were computed as described in the grading policies, using the advertised fixed cutoffs, with the following adjustments:
    • All regrade requests submitted before the final exam were answered and closed.
    • All scores for HW3.1 were increased by 1 (because we graded out of 9 points instead of 10)
    • Everyone got 10/10 for HW8.3 (because we didn't grade it in time to matter)
    • Homework and GPS scores at or below 25% were dropped (equivalent to no submission)
    Some course grades may still increase (but not decrease) due to final exam regrades.
December 19
December 6
December 5
Here are links to Homework 10 solutions and Homework 11 solutions.
December 2
The final exam will be held on Wednesday, December 15, from 8am to 11am. We need to schedule a conflict exam for students who cannot attend the regular final exam for any of the reasons outlined in the student code:
  • Another final exam scheduled at the same time
  • Three consecutive final exams in a 24-hour period
  • National or state professional examinations
  • Sickness, regular employment, or other extenuating circumstances
  • Religious accommodations
If you need to take a conflict final exam, please fill out this web form no later than next Wednesday, December 8. We will announce the time and date of the conflict exam on Thursday, December 9. (We will hold conlifct exams on Friday, December 10 only if absolutely necessary.)

Please note that travel constraints do not qualify as "extenuating circumstances"; the time and date of the final exam were announced on the course web site in August. (Also, because the exam is online, you should be able to take it from wherever you are, unless you are actually in the air Wendesday morning.)

The final exam (both regular and conflict) will be offered online with Zoom proctoring, Just like Midterms 1 and 2. To stay within the 3-hour time window allocated for finals, students without time accommodations will have 2½ hours to take the exam, plus 30 minutes to scan and upload.

November 30
"Homework 12" is now available. This homework is for practice only, not for submission; we would not be able to grade your solutions before the final exam. Nevertheless, we recommend attempting these problems as if they were homework; the final exam may contain (very simple) questions about undecidability. We will release solutions next Monday, December 6.
November 29
  • Evaluation forms are available at ICES Online through Thursday, December 9 (reading day). Your feedback is extremely important, especially critical narrative feedback. We are particularly interested in feedback about this semester's exapanded use of PrairieLearn. (Please submit evaluations for all your other courses as well!)
  • Grades for Midterm 2 have been released on Gradescope.

    Regrade requests can be submitted until two weeks from today: Monday, December 13.)

    Here is the distribution of midterm grades and computed course averages. The orange curve shows computed course averages (36% Homeworks 1–9 and GPS 1–10 + 64% Midterms 1 and 2) for all students who took both regular exams, sorted in decresaing order. These averages were used to define the vertical letter-grade boundaries. The blue dots show the sum of both midterm scores for each student. Dots that are further above the orange curve indicate students with lower homework averages. Notice that the vertical scales do not have the same range.

    Assuming a HW+GPS average of 90% (the class median), a total midterm score of at least 82 is consistent with an A, a total midterm score between 58 and 81 is consistent with a B, and a total midterm score between 35 and 58 is consistent with a C.

    Please keep in mind that this is an extremely rough prediction of your final course grades, based on roughly 60% of the overall work. In particular, these estimates were computed without dropping any homework or GPS scores, so they should be considered slightly conservative. Past experience suggests that most students‘ final course grades will be within half a letter grade of these estimates, but differences of a full letter grade (in either direction) are quite common every semester.

    Here is a scatterplot showing Midterm 1 scores (x-axis) versus Midterm 2 scores (y-axis):

November 16
  • Guided Problem Set 11 is due (on PrairieLearn) Monday, November 29, at 8pm.
  • Homework 11 is due (on Gradescope) Tuesday, November 30, at 8pm. This is the last graded homework before the final exam.
November 11
Solutions for Conflict Midterm 2 are available.
November 10
Solutions for Midterm 2 are available.
November 9
  • Guided Problem Set 10 will be out tonight and will be due (on PrairieLearn) Tuesday, November 16, at 8pm.
  • Homework 10 is due (on Gradescope) Tuesday, November 16, at 8pm.
November 4
At the review session tomorrow, Jeff will walk through a sample midterm, which collects several problems from past 374 exams. We strongly encourage everyone to work through this sample midterm themselves before the review session!
November 3
  • Homework 9 solutions are available.
  • In addition to the paper fodder, another large collection of study problems for Midterm 2 is available on PrairieLearn. Some of these are variants of past guided problems; others are simple multiple-choice questions; still others are Pythonic free-response problems. All the advice from page 1 of the fodder applies to these problems as well.
November 1
Midterm 2 will be held next Monday, November 8, from 7:00pm to 9:30pm.
  • The exam will cover all material from Homeworks 5 through 9 and the corresponding labs and Guided Problem Sets—recursion (divide-and-conquer, backtracking, and dynamic programming) and graph algorithms (traversal, conectivity, topological sort, and shortest paths), but not greedy algorithms or strong components.
  • A large collection of study problems is available. Please take the first page seriously. You can also find exams from past semesters either on past semesters' course web sites, or in Jeff's exam archive.
  • There will be no lecture this Thursday and no labs this Friday. However, there will be optional review sessions during the usual Thursday lecture time and Friday lab times (streamed and recorded as usual). In particular, Jeff will walk through a practice midterm on Thursday; we will post the sample midterm here soon.
  • The exam will be held synchronously online, with Zoom proctoring, following the protocols recommended by CBTF Online. We will post Zoom links on Piazza later this week. Please log into your Zoom room at least 15 minutes before the exam begins (6:45pm). Please read and understand the exam policies, especially with respect to exam logistics.
  • The exam will follow the same protocols as Midterm 1, with the following adjustments:
    • We will only accept PDF files, not individual images, with solutions to each numbered problem starting on a new page. Submissions consisting of raw photos or low-quality scans will be penalized.
    • All work on the exam must stop after two hours. The last 30 minutes is to be used only for scanning and uploading.
    • You do not need to scan and submit your cheat sheets. (However, your proctor may still ask you to show your cheat sheet to the camrea during the exam.)
  • The conflict exam will be held on Tuesday, November 9, either 9:30–12 or 11–1:30. (Tuesday's lecture will be recorded as usual, so that is not a conflict.)
    • If you need to take the conflict exam, please fill out the registration form no later than Friday, November 5.
    • If you need to take the conflict exam but you have additional conflicts both immediately before and immediately after the 374 lecture on November 9, please fill out the registration form no later than Wednesday, November 3.
    • The conflict exam will also be held online with Zoom proctoring. On Monday we will email Zoom link(s) to students registered for the conflict exam.
  • If you have a DRES accommodation, you are welcome to take the exam at the DRES Testing Accommodation Center or Tuesday morning. We strongly recommend scheduling your exam at TAC immediately. If you are not taking the exam at TAC and you have an accommodation for extra time, please take the conflict exam.
October 27
Homework 8 solutions are available.
October 25
  • Guided Problem Set 9 is due (on PrairieLearn) Monday, November 1, at 8pm.
  • Homework 9 is due (on Gradescope) Tuesday, November 2, at 8pm. This is the last homework before Midterm 2.
October 21
Homework 7 solutions are available.
October 19
October 13
Homework 6 solutions are available.
October 12
Grades for Midterm 1 have been released on Gradescope.
  • Regrade requests can be submitted until two weeks from today: Tuesday, October 26.
  • Here is the distribution of midterm grades and computed course averages that I showed in class today:

    The orange curve shows computed course averages (36% Homeworks 1–4 and GPS 1–4 + 64% Midterm 1) for all students who took the regular exam, in sorted order. These averages were used to define the vertical letter-grade boundaries. The blue dots show the corresponding midterm scores for each student. Dots that are further above the orange curve indicate students with lower homework averages. Assuming a HW+GPS average of 95% (the class median), a midterm score of at least 40 is consistent with an A, a midterm score between 28 and 40 is consistent with a B, and a midterm score between 16 and 28 is consistent with a C.

    Please keep in mind that this is an extremely rough prediction of your final course grades, based on roughly 30% of the overall work. Past experience suggests that most students‘ final course grades will be within one letter grade of these estimates, but differences of a full letter grade (in either direction) are quite common, and there are a few differences of two letter grades or more (in either directions) every semester.

    Students are strongly encouraged to talk with Jeff or Dakshita before dropping the class. In addition to his usual Friday office hours, Jeff will be available Friday 11-1 and 3-5, specifically for students who are thinking of dropping the class and/or are seriously concerned about their midterm performance.

October 11
  • Guided Problem Set 7 (available soon) is due (on PrairieLearn) Monday, October 18, at 8pm.
  • Homework 7 is due (on Gradescope) Tuesday, October 19, at 8pm.
  • Homework 6 has been revised to update the standard dynamic programming rubric. Specifically, two new penalties have been added.
    • –1 for naming your recursive function (or memoization structure) "OPT" or "DP" or any single letter.
    • –2 for any greedy optimization in your recurrence, without a proof that your optimization is correct. (See Chapter 4 of Jeff's textbook for examples of greedy proofs; we won't cover these in class.)
    The actual problems in Homework 6 are unchanged.
October 8
Solutions for Conflict Midterm 1 are finally available. (Sorry for the delay.)
October 6
  • Homework 5 solutions are available.
  • Starting on Wednesday, October 13, students who are not in compliance with COVID-19 testing requirements will lose access to certain university computing resources, including Media­Space and Prarie­Learn (but not Zoom, Grade­scope, Piazza, Discord, or these web pages). Please see the official announcements to students and to instructors for more information. Questions about this policy should be directed to covid­wellness@illinois.edu.
October 4
  • Guided Problem Set 6 (available soon) is due (on PrairieLearn) Monday, October 11, at 8pm.
  • Homework 6 is due (on Gradescope) Tuesday, October 12, at 8pm.
September 28
September 22
Homework 4 solutions are available.
September 21
  • In addition to the paper fodder, another large collection of study problems for Midterm 1 is available on PrairieLearn. Some of these are variants of past guided problems; others are simple multiple-choice questions; still others are Pythonic free-response problems. All the advice from page 1 of the fodder applies to these problems as well.
  • At the review session on Thursday, Dakshita will walk through a sample midterm, which collects several problems from past 374 exams. We strongly encourage everyone to work through this sample midterm themselves before the review session!
  • One of the language transformation problems on Guided Problem Set 4 turns out to have multiple correct solutions, based on subtly different interpretations of the proposed states. Here is an explanation of three of these solutions. We will adjust everyone's scores on PL to give everyone full credit for that problem.
September 20
Midterm 1 will be held next Monday, September 27, from 7:00pm to 9:30pm.
  • The exam will cover all material from Homeworks 1 through 4 and the corresponding Guided Problem Sets—string induction, regular expressions, DFAs, product constructions, fooling sets, NFAs, closure properties of regular languages, language transformations, and (very lightly) context-free languages, but not Turing machines.
  • A large collection of study problems is available. Please take the first page seriously. You can also find exams from past semesters either on past semesters' course web sites, or in Jeff's exam archive.
  • This Thursday's lecture and Friday's labs are cancelled. However, there will be an optional review sessions during the usual Thursday lecture time and Friday lab times (streamed and recorded as usual). In particular, Dakshita and/or Jeff will walk through a sample midterm on Thursday; we will post the sample midterm here shortly.
  • The exam will be held synchronously online, with Zoom proctoring, following the protocols recommended by CBTF Online. We will post Zoom links later this week. Please log into your Zoom room at least 15 minutes before the exam begins (6:45pm). Please read and understand the exam policies, especially with respect to exam logistics.
  • The conflict exam will be held on Tuesday, September 28, either 9:30–12 or 11–1:30. (Tuesday's lecture will be recorded as usual, and it should be mostly review, so that is not a conflict.)
    • If you need to take the conflict exam, please fill out the registration form no later than Friday, September 24.
    • If you need to take the conflict exam but you have additional conflicts both immediately before and immediately after the 374 lecture on September 28, please fill out the registration form no later than Wednesday, September 22.
    • The conflict exam will also be held online with Zoom proctoring. On Monday we will email Zoom link(s) to students registered for the conflict exam.
  • If you have a DRES accommodation, you are welcome to take the exam at the DRES Testing Accommodation Center or Tuesday morning. We strongly recommend scheduling your exam at TAC immediately. If you are not taking the exam at TAC and you have an accommodation for extra time, please take the conflict exam.
September 15
  • Homework 3 solutions are available.
  • Homeworks 1 and 2 have been graded on Gradescope. The long delay for Homework 1 was caused by some administrative bottlenecks in hiring the CAs; we plan to have future homeworks graded within one week of the submission deadline.
  • Regrade requests can be submitted directly on Gradescope up to two weeks after grades are released. All regrade requests require a brief written justification (not an explanation of what you meant). Please see the regrade request policies for more information.
September 14
Homework 4 is due (on Gradescope) Tuesday, September 21, at 8pm. This is the last homework before Midterm 1.
September 13
Guided Problem Set 4 is due (on PrairieLearn) Monday, September 20 at 8pm. This is the last guided problem set before Midterm 1, but we do plan to post some practice exercises (which won't count toward course grades).
September 8
  • Homework 2 solutions are available.
  • The course staff is producing a series of walk-through videos showing the solution process for some lab problems, or explaining some key concepts in more detail. We have been slow getting started, but at steady state, we hope to publish two or three of these videos per week.
September 7
  • Guided Problem Set 3 is due (on PrairieLearn) Monday, September 13 at 8pm.
  • Homework 3 is due (on Gradescope) Tuesday, September 14, at 8pm.
  • When you submit solutions to Gradescope, please remember to select which pages of your submission correspond to each graded part, as described here.
September 1
August 30
  • The weekly office hours schedule is now available.
  • Guided Problem Set 2 is due (on PrairieLearn) Monday, September 6 Tuesday, September 7 at 8pm.
  • Homework 2 is due (on Gradescope) Tuesday, September 7, at 8pm.
  • A LaTeX solution template is available for students who want to typeset their homework.
  • If you are not using your real name and university email on Gradescope, please fill out this form to register your Gradescope alias. If you are using your real name and university email on Gradescope, you do not need to fill out this form.
August 25
Zoom links for each lab section are listed in the weekly calendar at the bottom of this page.
August 24
  • Guided Problem Set 1 is due (on PrairieLearn) Monday, August 30, at 8pm.
  • Homework 1 is due (on Gradescope) Tuesday, August 31, at 8pm.
  • The web form to register your Gradescope identity should be available in a day or two Real Soon Now.
August 23
Thanks to the ongoing COVID pandemic, we are running a hybrid class this semester, which supports both both in-person and online participation.
  • Lectures will be given in person in 1002 ECE Building ("Grainger Auditorium") and streamed live over Zoom at this link. Any student registered for section AL1 or AL2 is welcome to attend either in person or remotely.
  • All students attending lectures and labs in person must be able to verify their building access through either the Safer Illinois app or the COVID-19 Boarding Pass, and must wear a mask or other face covering while inside any university building. Make sure your phone is charged before you come to class! Students who violate these policies will be asked to comply, and if they refuse, will be asked to leave. See our health-related policies for more information.
  • Remote students should ask questions during lecture on Discord; there will be a dedicated channel for each lecture. For example, questions about the August 24 lecture should be asked in the channel #08-24. In-person students are welcome to use Discord, especially if you are uncomfortable asking questions out loud. (Audio, video, and chat will be disabled on Zoom, except from the lecturer.)

    All students are encouraged to answer each other's questions directly in Discord, or to upvote (via reactions) questions they woudl like the lecturer to answer. Another member of the course staff will monitor Discord form the lectuer hall, answer simple questions directly, and forward interesting/upvoted questions to the lecturer. All Discord questions and answers will remain on that day's lecture channel through the end of the semester.

  • Similarly, lab sections (except for AD0) will meet in person in 1302 Siebel and will be streamed online; the Zoom links will be available soon at the bottom of this page. We will use Zoom chat and breakout rooms to facilitate group discussion.
  • All lectures and labs will be recorded. Lecture videos will be publicly available on MediaSpace. (This is one reason we are disabling student questions on Zoom.) Lab videos will be available on MediaSpace, but only to registered students. Watch for MediaSpace links at the bottom of this page.
  • Most office hours will be held entirelyonline, using a combination of Zoom, Discord, and Quque. Details will be posted soon; stay tuned!
  • Finally, given the distributed nature of the class, it is absoutely vital that that all online communication remain professional, courteous, and relevant to the course. Jokes are fine; jerks are not. Please review our cultural expectations.
August 17
  • Welcome! We're working hard to get everything set up here before the semester begins. Meanwhile, you may notice several broken links, pages that refer to previous courses, and inaccurate dates.
  • There are two independent sections of CS/ECE 374 this semester. This is the web site for Section A (formally: lecture section AL1 and lab sections AY*). Section B, taught by Nickvash Kani, has a separate site on Canvas.
  • The class is full! There is no waiting list this semester.

study po

Lectures
Tuesdays and Thursdays at 11:00–12:15
1002 ECE Building • Zoom • Videos
Labs
Wednesdays and Fridays in 1302 Siebel (except for AD0). Yes, the section labels are out of order.

AD0: James and Robert 9:00–9:50 (online only) [Zoom] [Videos]
ADA: Eliot 9:00–9:50 [Zoom] [Videos]
ADB: Shubhang 10:00–10:50 [Zoom] [Videos]
ADC: Christian 11:00–11:50 [Zoom] [Videos]
ADD: James 12:00–12:50 [Zoom] [Videos]
ADF: Stav 1:00–2:00 [Zoom] [Videos]
ADH: Cosmo 2:00–2:50 [Zoom] [Videos]
ADK: David 3:00–3:50 [Zoom] [Videos]
ADE: Tanvi 4:00–4:50 [Zoom] [Videos]
ADG: Tanvi 5:00–5:50 [Zoom] [Videos]
Office hours
Weekly deadlines
Guided problem sets on PrairieLearn are due Mondays at 8pm
Written homeworks are due Tuesdays at 8pm, uploaded to Gradescope
GPS and homeworks are released at least one week before the due date.
Under normal circumstances, graded homeworks should be returned within 10 days of submission.

Si maintenant vous me donnez une équation que vous aurez choisie à votre gré, et que vous desirez connaître si elle est ou non soluble par radicaux, je n’aurai rien à y faire que de vous indiquer le moyen de répondre à votre question, sans vouloir charger ni moi ni personne de la faire. En un mot les calculs sont impracticables.
Évariste Galois
For every polynomial-time algorithm you have, there is an exponential algorithm that I would rather run.
Alan Perlis
Algorithms are for people who don't know how to buy RAM.
Clay Shirky