Announcements

Thu Feb 19
Mon Feb 16

Practice exams for Midterm 1 are available. We strongly recommend attempting each of these practice exams under exam conditions—two hours alone in a quiet space with a one-page cheat sheet but no other notes or internet—before discussing them with others or looking at any solutions. There will be an opportunity to work with course staff and other students on part of each exam (preferably after you attempt the exam alone) in place of lecture, lab, or a homework party. Handwritten solutions and walkthrough videos for each practice exam will be posted late in the evening the same day as that event.

The format of the actual exam will match these practice exams. At the actual exam, we will pass out the question sheet, give everyone a few minutes to read the questions, pass out the answer booklets, and then start the clock.

In addition to the practice exams, there are a collection of practice problems available on PrairieLearn. Completion of these problems will not be considered when determining your overall course grade.

Sat Feb 14

The standard grading rubrics have been updated to include a rubric for describing context-free grammars (CFGs). We highly recommend checking it as you prepare your solutions to Homework 4 Problem 2.

Also, submissions are open on Gradescope for both Homework 4 problems.

Thu Feb 12
  • Midterm 1 will be held on Monday, February 23, from 7pm to 9pm.
    • The exam will cover all material covered in Homeworks 1, 2, 3, and 4: induction on strings and languages, regular languages, regular expressions, DFAs, NFAs, fooling sets, regular language transformations, and context-free languages and grammars.

    • The exam will be split across multiple rooms throughout the Campus Instructional Facility (CIF). Please go the room that matches the start of your last name.

    • Please read and understand the exam policies. In particular, you are allowed to bring one double-sided 8½"×11" handwritten cheat sheet to the exam.

    • We are offered multiple optional review sessions next week:

      • Thursday, February 19, in place of the usual lecture
      • Friday, February 20, in place of the usual labs
      • Saturday, February 21, in place of the usual homework party
      • Sunday, February 22, in place of the usual homework party

      ACM is also planning to offer an independent review session; stay tuned for more details. There will no homework party on Monday, February 23 (as you'll be taking the exam!)

    • We will post multiple practice exams early next week, which will have the same format as (but different questions than!) the actual midterm. We will cover these practice exams in the review sessions. Solutions and walkthrough videos will be released for each practice exam after the corresponding review session.

    • We are offering a conflict exam on Tuesday, February 24. If you cannot attend the regular midterm for any of the reasons outlined in the student code, please fill out this registration form no later than Friday, February 20. On Monday, February 23, we will email the precise time and location of the conflict exam to students who have filled out the registration form.

    • If you have a DRES accommodation, you are welcome to take the exam at the DRES Testing Accommodation Center either Monday or Tuesday. We strongly recommend scheduling your exam at TAC immediately if you have not done so already.

  • Homework 3 solutions are available.
Mon Feb 09

Two sets of additional notes are available with links next to their relevant lecture on the Course Calendar page.

  1. Infinte Fooling Set Review Guide written by former 374 TA Eric Huber
  2. Notes on Regular Language Transformations written by current 374 CA Pranay Midha

The latter gives detailed coverage of material we'll go over in lecture tomorrow Tue Feb 10. You may find it helpful in preparing for Homework 4 and the first midterm exam.

Thu Feb 05

Homework 2 solutions are available (along with with solutions for Lab 3a.)

Older announcements

Wed Feb 04

Homework 1 Problem 2 has been graded. As stated for Problem 1 in yesterday's announcements, a large number of submissions either did not include a (possibly empty) list of sources and collaborators; explain LLM usage; or have all group members declared within the Gradescope interface. You can fix all of these issues without penalty by submitting a regrade request by 9pm on Wed Feb 18.

Of course, you can also request a regrade for an actual grading error, but you must offer a brief written justification for why the grading was incorrect, and the final grade will still be based on what was actually submitted and not new info presented within the request itself.

Finally, we are unlikely to post announcements about individual homework grades from here on, so please check Gradescope regularly.

Tue Feb 03
  • Homework 3 asks you to prove several languages nonregular, and we believe the best way to do so is the use of fooling sets. Unfortunately, due to semester-by-semester schedule changes, fooling sets do not appear in the upcoming Guided problem set 3, and it is too late to change it. We recommend completing Zone 1 of Guided problem set 4 (still due Mon Feb 16) before attempting Homework 3. You'll also get to practice fooling set proofs (and reduction arguments) during lab on Wed Feb 4.

  • Grades have been released for Homework 1 Problem 1. Grading for Homework 1 Problem 2 is nearly complete (our typical goal is to have grades released within a week of submission for homework, but course staff pushed hard this time to have feedback available before Homework 2 was due.)

    Check your scores as soon as possible, and be mindful of the feedback left by the graders as you work on future assignments. You may submit regrade requests that include a brief written justification for why the problem was graded incorrectly until 9pm on Tue Feb 17.

    Two things stood out in particular for this homework:

    • A very large number of submissions either did not include a list of sources and collaborators or an explanation of how an LLM was used. Per course policy (which was repeated on the cover page for Homework 1), every part of every problem must include a list of collaborators and, when applicable, an explanation of LLM usage even if the list is empty (if the list is empty, you should write "Sources and collaborators: None" or similar; otherwise, we can only assume you forgot to cite your source.) Please remember there is no penalty for using outside sources including LLMs as long as you cite them and write your solutions in your own words. (Of course, if you rely on them too much, you won't get the experience of solving the problems, and that will be reflected in your exam performance.)

      Graders removed all points for problem parts that did not follow the above policy. However, you may submit regrade requests with your list of sources and LLM explanation to remove the penalties (if a penalty was applied in error, please point out where the sources are listed like you would when requesting a regrade for any other kind of grader error.) This opportunity to have the citation penalty removed will only be provided for the first three written homeworks.

    • You may not have received a score at all for Homework 1.1 if you're in a group and the assignment was submitted without listing all group members in Gradescope. If you're missing a score, please ask the submitting group member to add your name to the group (from Emily's end, this is done by pulling up the problem submission and clicking the "View or edit group" link under HW 1.1 in the upper right corner of the page.)

  • In case there's any confusion of where to look, all recent announcements will appear on the course website index page with older announcements available as well on the Announcements page. Some particularly timely announcements like the above (it should be useful for Homework 2) will be posted on Ed and Discord as well.

Thu Jan 29
  • Homework 1 solutions are available (along with with solutions for Lab 2a.)
  • Regular expression writing tips:
    • If you need to concatenate $n$ strings matching a regular expression $R$ where $n$ is a fixed non-negative integer, you can write it more concisely as $R^n$. For example, $(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})^3$ is equivalent to $(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})$.
    • Acceptable but not recommended: If you need to concatenate one or more strings matching a regular expression $R$, you might want to use the so-called "Kleene plus" notation $R^+$. For example, $(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})^+$ is equivalent to $(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})(\texttt{\color{BrickRed}0} + \texttt{\color{BrickRed}1}\texttt{\color{BrickRed}0})^*$. However, you need to be careful to distinguish between the superscript Kleene plus and a standard $+$ used for unions. As always, graders cannot and should not try to guess what you meant when it is unclear.
Mon Jan 26
  • As a reminder, Guided Problem Set 1 is due today Mon Jan 26 and Homework 1 is due tomorrow Tue Jan 27. We won't generally announce reminders about individual assignment deadlines, because they're listed at the top of the course web page.
  • In accordance with the already posted homework policies, the Homework 1 handout has been updated with a reminder to post the (possibly empty) list of sources and collaborators at the end of each lettered problem part.
Sat Jan 24

The homework party for tomorrow, Sunday Jan 25th is canceled due to the incoming winter storm. We are still planning to hold homework parties today (Saturday Jan 24th) in Siebel 0216 and Monday Jan 26th in Siebel 1404.

Fri Jan 23

Starting tomorrow, we will be holding homework parties

  • Saturdays 2pm–4pm in 0216 Siebel Center
  • Sundays 2pm–4pm in 0216 Siebel Center
  • Mondays 6pm–8pm in 1404 Siebel Center

Borrowing text from the weekly events page: Homework parties are dedicated times for students to work together on the current week's CS 374 homework. Students are expected to help each other; course staff are also present to answer questions and offer assistance. This is a great opportunity to meet other people to form homework groups. In weeks with no homework, some homework parties will turn into review sessions. (That said, the normal time for the Monday homework party coincides with the time for the midterm exams.)

That said, this Sunday's party may have to be cancelled if the weather demands it.

Thu Jan 22

Ruta will be holding general office hours starting today (Thursday) from 1:30pm–2:30pm in the Siebel basement.

Wed Jan 21
  • Emily is holding conceptual office hours tomorrow (Thursday) from 4–5pm in the Siebel basement along with general (conceptual or homework) office hours from 11am–noon on Friday. Please visit the weekly events page for the most up-to-date information on her and everyone else's office hours.

  • We just added everybody currently registered for the course to PrairieLearn (for guided problem sets) and Gradescope (for written homework submission).

    Those registering later should visit the above links and enroll themselves. The self-enrollment code for Gradescope is 8DXWD7. Even if you plan to enroll next week, submit GPS 1 and Homework 1 as if you are already registered. We cannot delay the release of homework solutions beyond the 24-hour late submission period.

    Note that we had to split up "Last Name, First Name" entries from the roster automatically to prepare the cvs file for Gradescope. If your name does not appear correctly, feel free to edit it or let us know if you cannot!

Sat Jan 17
  • Welcome! We’re working hard to get everything set up here before the semester begins. Meanwhile, you may notice several inconsistencies, broken links, and inaccurate dates.
  • As in past semesters, there are two independent sections of CS/ECE 374.  This is the web site for Section A, or more formally: lecture section AL1 and lab sections AY*. Section B, taught by Abhishek Umrawal and Daniel Alabi, has a separate site.