- The
marked
up PDF file of last year's midterm (from lecture)
on Google Drive.
-
The past attendance quizzes are now
available again. Some students requested this as a study aid. (Btw, I
never made Attendance Quiz #8 because I forgot to take attendance that
day.)
-
Here's a list of topics that are "fair game" for the midterm. The main
difference between this and last year's midterm is that we did a lot
more on lex and yacc. So, more LR parsing than the sample exam.
Be ready to:
- convert arithmetic expression to RPN
- write regular expressions using PCRE syntax
- draw a DFA for a set of strings
- interpret a context-free grammar
- give a derivation for a sentence for a CFG
- draw a parse tree for a sentence for a CFG
- write a CFG for a set of strings
- step through an LR parser processing a
token stream (like in HW6)
Topics that you should be familiar with
- categories of PL: functional, imperative, OOP, logic
- Prolog, Forth (no need to remember syntax)
- phases of compilation: scanning, parsing, code generation
- regular expressions & DFAs
- context-free grammars: derivations, parse trees
- recursive descent parsing
- predictive parsing
- bottom-up parsing
- lex and yacc
- early vs late binding
- lexical vs dynamic scoping
- [Wed Oct 25 14:00 2023]
Homework 8
posted.
Due Thu 11/02/23
Submit on GL only.
- [Tue Oct 24 12:50 2023]
Attendance Quiz for
Tue 10/24
posted.
Due Mon 10/30/23, 9:00am
- [Mon Oct 23 10:05 2023]
Reminder:
Haskell Quiz 2 will be given on Thursday, Oct 26 (last 20min of class).
The Midterm Exam will be given on Tuesday, Oct 31.
Samples from last Fall have been posted in the shared folder on Google
Drive.
- [Fri Oct 20 10:45 2023]
Here's an edited transcript of the PCRE in Haskell demo from Thursday's
class: pcre-demo.txt.
- [Fri Oct 20 01:30 2023]
Homework 7
posted.
Due Thu 10/26/23
Submit on GL only.
- [Tue Oct 17 12:50 2023]
Attendance Quiz for
Thu 10/19
posted.
Due Mon 10/23/23, 9:00am
- [Tue Oct 17 12:50 2023]
Attendance Quiz for
Tue 10/17
posted.
Due Mon 10/23/23, 9:00am
- [Thu Oct 12 17:30 2023]
Attendance Quiz for
Thu 10/12
posted.
Due Mon 10/16/23, 9:00am
- [Thu Oct 12 01:35 2023]
Homework 6
posted.
Due Thu 10/19/23
[Submit on Google]
and on GL.
- [Tue Oct 10 11:30 2023]
No attendance quiz for today, October 10. Forgot to take attendance, so
everyone will be marked present.
- [Thu Oct 05 13:45 2023]
Attendance Quiz for
Thu 10/05
posted.
Due Mon 10/09/23, 9:00am
- [Thu Oct 05 12:10 2023]
There's a new folder on Google Drive with
past quizzes & exams. It has an example of Haskell Quiz 1, now.
- [Wed Oct 04 17:20 2023]
Homework 5
posted.
Due Thu 10/12/23
[Submit on Google]
and on GL.
- [Tue Oct 03 22:45 2023]
Reminder: according to our schedule,
we will have Haskell Quiz #1 Thursday, Oct 12.
You must take this quiz in-person during the last 20 minutes of the class period.
You will write some small Haskell programs using pen/pencil & paper.
- [Tue Oct 03 22:40 2023]
Attendance Quiz for
Tue 10/03
posted.
Due Mon 10/09/23, 9:00am
- [Thu Sep 28 17:00 2023]
Attendance Quiz for
Thu 09/28
posted.
Due Mon 10/02/23, 9:00am
- [Thu Sep 28 11:55 2023]
Here's the example shown in class today of a recursive descent parser written with Haskell's
pattern guards:
rdparser.hs.
(Also available on GL in the usual place.)
You can compare that to an equivalent Haskell program that uses
conditionals instead:
rd1.hs.
- [Wed Sep 27 14:20 2023]
Homework 4
posted.
Due Thu 10/05/23
[Submit on Google]
and on GL.
- [Tue Sep 26 16:20 2023]
Attendance Quiz for
Tue 09/26
posted.
Due Mon 10/02/23, 9:00am
- [Thu Sep 21 17:10 2023]
Attendance Quiz for
Thu 09/21
posted.
Due Mon 09/25/23, 9:00am
- [Wed Sep 20 15:30 2023]
Homework 3
posted.
Due Thu 09/28/23
[Submit on Google]
- [Tue Sep 19 16:10 2023]
Attendance Quiz for
Tue 09/19
posted.
Due Mon 09/25/23, 9:00am
- [Thu Sep 14 12:10 2023]
Attendance Quiz for
Thu 09/14
posted.
Due Mon 09/18/23, 9:00am.
- [Wed Sep 13 18:15 2023]
Homework 2
posted.
Due Thu 09/22/22
Submit on GL only.
- [Wed Sep 06 22:45 2023]
Homework 1,
Due Thu 09/14/23
[Submit on Google]
and on GL.
- [Mon Sep 04 09:55 2023]
Updated instructions for
submitting on GL.
- [Fri Sep 01 16:45 2023]
Our TA Saiteja Peddi will hold in-person office hours on Mondays and
Thursdays 2pm – 3pm. This information is on the contacts page and
the class calendar.
- [Wed Aug 30 17:40 2023]
Updated syllabus
and contacts page with grader information.
- [Sun Aug 27 12:48 2023]
Updated Haskell installation instructions for MacOS and Android.
- [Sat Aug 26 10:30 2023]
The course description and schedule is also available in
PDF.
- [Fri Aug 25 19:00 2023]
If you add this class, email Prof. Chang right away. You have to be
added to the Google group for this class. Also, submissions directories
on GL have to be created for your username.
- [Fri Aug 25 17:45 2023]
Web page up.