Jessica's Information for PLC

Last updated: Fall 2004

This page contains information about the PLC (0603-450-01/0603-709-01) sections that I teach.

Course Information




Flex and Bison

C Tutorial


Schedule and Lecture Notes

Disclaimer: This schedule is given to you "as is". Due to various circumstances, the schedule may change. If such is the case, then you will be notified in class of the changes. You are responsible for obtaining any information given out in class.

Week 1

Monday: Course introduction and language comparison with 99 bottles of beer on the wall. Updated
Monday and Wednesday: Perl and Regular expressions Updated


  1. Homework #1 - This homework will be due next Wednesday.
  2. Decide what language you want to do for your poster presentation and email me. This part of the poster presentation is due next Friday (Friday of week 2). If I receive your response after next Friday, you will receive half credit for it.

Week 2
Monday: Perl lab in ICL's 1&2
The regular expression exercise answers are available. Note that there are other ways to create the regular expressions. Wednesday: Perl - design issues and strengths
Names, scope, and bindings in the context of Perl. The weaknesses of Perl


  1. Project I "Perl for parsing SIS course files" - due Mon. September 27
  2. Homework #1 due on Wednesday
  3. Tell me the language for your poster
  4. Learn perl
  5. Read handouts on Perl, Regular Expressions, and the binding definitions

Week 3
Monday: Context Free Grammars
Context Free Grammars
Wednesday: Flex and regular expressions
Bison and C


  1. Learn a little Flex, Bison, and C
  2. Read the regular expression handout for flex.

Week 4
Monday: Lab on Flex and Bison in ICL's 1&2
Wednesday: Test. Example test (in msword format)


  1. Read Lisp: Good News, Bad News, How to Win Big and Worse is Better is Worse
  2. Lab is due on thursday

Week 5
Monday: An introduction to Lisp and functional languages
Wednesday: Lisp and recursion along with a discussion on the reading.


  1. Project II given out - flex, bison and C
  2. Learn lisp

Week 6
Monday: Lisp lab in ICL's 1&2
Wednesday: Design issues with functional languages, positives and drawbacks, higher order functions, closure, dynamic scope, lexical scope


  1. Learn lisp

Week 7
Monday: Logical Languages
Predicate calculus review
Wednesday: Prolog intro.


  1. Project II due

Week 8
Monday: Logical language lab in ICL's 1&2
Wednesday: Test. The test will cover:
  • Grammars
  • Flex
  • Bison
  • Lisp
  • Concepts like higher order functions, lazy evaluation, closure, dynamic scoping, etc. from lecture

There is no complete sample second test, since last year's class was based off of more quizzes than tests. The closest I can come is a final from last year.


  1. Logical language lab due Thur. night
  2. Reading due for next Monday: My Programming Language Crisis
  3. Project III

Week 9
Monday: Discussion of reading, Specialty languages
Wednesday: Specialty Languages
The future and your opinions


  1. Project III due
  2. You must have seen me about your poster presentation by Friday of this week.

Week 10
Monday: Poster session
Tuesday: Poster session
Wednesday: Poster session
Thursday: Poster session


  1. Critique posters and present your own. Due end of Thur.

Week 11 Finals: 11/15 at 6pm. Note that the final does not appear on the finals schedule because this is a night class. The final will be a two hour final.

Contact Information

The easiest way to contact me is through email. I read email several times a day and will get your message. My email address is:

You may also see me during the office hours that are posted on my main web site or by appointment.

To the RIT CS Home Page

To Jessica's Home Page