COP4020/CGS5426: Programming Languages


Lecture slides are mostly adopted from Robert van Engelen's COP4020 class.


Course Syllabus, Carlos's COP4020 site



Lecture 1/2
Lectures 3
Announcement: Jeifei Cai's office hours: W and F 1:00pm - 2:30pm. Carlos Sanchez's office hours: M 9:00am - 11:00am and 1:30pm - 2:30pm.

Announcement: Please select your potential presentation topics from the topic list and turn-in your selection in next Tuesday class.

Lectures 4

Announcement: Presentation information and oral presentation schedule (see your topic and time here).

Note: To get a good grade for the oral presentation, you must (1) be familiar with the presentation equipment BEFORE your presentation (if the figures in your slides do not display correctly on the equipment, YOU have a problem) and be ready to start on time, (2) give presentation within the 10 to 15 minutes time limit, (3) speak clearly, (4) use visual aid appropriately that enhances the presentation (e.g. figures must be readable by the audience), (5) have a good flow in the presentation (good organization), (6) go into sufficient and appropriate depth (audience must have some idea about the technical details in the topic that you present; at the same time, you should not bore the audience with unnecessary details).

Lectures 5
Lectures 6
Lectures 7
Project No.1 Lexical analyzer with Lex, Project description, Project 1 package. Due date: Feb. 6.

Lectures 8
Lectures 9

Lectures 10
Lectures 11
Lectures 12 Project No.2 A CALC translator/interpreter, Project description, Project 2 package. Due dates: Feb. 25 (Phase 1), March 4 (Phase 2).

Announcement: Midterm to be held on March 6 (The Thursday before spring break). Midterm will cover materials from Lecture 1 to Lecture 2 (Chapters 1, 2, and Chapter 4). Here is the reading list for the midterm. You are allowed to bring one piece of 11"x8.5" "cheat sheet" to the exam. Sample Midterm.

Lectures 13

Lectures 14

Lectures 15

Lecture 16
Lecture 17 Homework 4, due March 20 before class.

Lecture 18

Homework 5, due date: April 1, before class.

Lecture 19
Lecture 20

Programming assignment 3: Course roster management in Scheme, Due April 14.

The written presentation is due on April 24. Please make sure that you cover all of the grading rubrics. Here is a sample written presentation.

Extra point opportunity: Please participate in the ACM programming contest on April 5. You will get 1 (final overall grade) point for showing up, 2 points for solving 1 problem, and 3 points for winning for contest (top X finishing recognized by the contest organizer). The extra points will apply to wherever you need the most with respect to the thresholds in the course.

Lecture 21

Homework 6, due April 8.

Lecture 22

Lecture 23
Lecture 24

Programming assignment 4: Course roster management in Prolog, due date: April 24.

Homework 7, due April 17.

Lecture 25

Lecture 26

Final exam will be held on Tuesday (April 29) 10:00-12:00 in the classroom. Reading list for the final exam. You are allowed to bring a 11"x8" cheat sheet to the final.

Midterm answer keys, Homework 6 answer keys Homework 7 answer keys