Prerequisites: Graduate standing in CACS and knowledge of programming.
Instructor: Dr. Anthony Maida.
| Teaching assistant: | Padraic Edgington | |
| Email: | padraic@louisiana.edu | |
| Phone: | (337) 482-1696 | |
| Office: | ACTR, Room 331 | |
| Office hours: | Mon. | 2pm-3:15pm |
| Tues. | 2pm-3:15pm | |
| Wed. | 2pm-3:15pm |
Grading and requirements 2009:
| October 8: | 1st Midterm, | 25% |
| November 19: | 2nd Midterm, | 25% |
| December 1: | Programming project due, | 20% |
| Exam week: | Final exam | 30% |
| Textbooks: |
| Concepts in Programming Languages (9th edition) |
| by Robert W. Sebesta |
| Addison-Wesley 2009 |
| ISBN: 0-534-95341-7 |
| The Java Programming Language (4th Ed) |
| by Ken Arnold, James Gosling, and David Holmes |
| Addison-Wesley, 2006 |
| ISBN: 0-321-34980-6 |
| On reserve in Dupré Library: |
| A Little Book on Perl |
| by Robert W. Sebesta |
| Prentice Hall, 2000 |
| ISBN: 978-0-13-607347-5 |
2nd Midterm Exam on November 19, 2009:
Sample 2nd midterm exams for the last four years are given here, here, here, and here. They are listed in order of recency. The syllabus for the Fall 2009 first midterm is based on chapters 2, 3, 4, 7, 9, 10, 12, and 14 of the Java Programming Language (4th Ed) text (by Arnold, Gosling, and Holmes). In case you are using the 3rd edition, the chapters are: 2, 3, 4, 6, 7, 8, and 10.
This year's exam will be worth 71 raw points. More emphasis is on long questions than in previous years. There are five long questions, each worth 10 points. The remaining questions are short questions that total to 21 points.
Updated Nov 16, 2009
The output specification for the project is here. It has been updated to remove inconsistencies.
3rd Draft of Project Specification:
The third draft of the project specification is here. This is essentially to the final draft. Further changes will be to correct errors and to provide instructions to hand in and demo the project.
Source code to implement the environment data structure is given here and here.
Skeleton code for the abstract syntax trees is here. An example program from the object-oriented language is here.
1st Midterm Exam on October 8, 2009:
Sample 1st midterm exams are given here, here, here, and here. The syllabus for the Fall 2009 first midterm is based on lectures and three texts. Use the lecture material to guide you when reading the textbooks.
The main text is by Sebesta Concepts of Programming Languages (9th Ed). Points to emphasize are: Implementation methods in section 1.7; all of chapter 2; sections 3.1, 3.2, and 3.3 of chapter 3. All of chapter 4.
The second text is also by Sebesta A Little Book on Perl. It is on reserve in the library. You are responsible for sections 7.1 and 7.2 on regular expressions and pattern matching.
The third text is by Louden Programming Languages: Principles and Practice. This text is also on reserve in the library. You are responsible for sections sections 4.4, 4.5, and 4.6.
Java Lecture Notes: Compressed files of my scanned lecture notes can be downloaded here. When uncompressed they are jpeg files. Topics follow:
| Java primitive types |
| Example of a simple class |
| The Object class |
| Java control flow |
| Extending classes |
| Exceptions |
| Interfaces |
| Threads |
Old stuff begins here:
Important: Project hand-in instructions:
The programming project is due in class on December 2. You will demo your project to one of the TA's on either December 2 or on December 3. Instructions on how to hand in the project are given here, with the corrected email address.Project specifications updated November 9, 2008:
Please download the latest specification here. This revision corrects some inconsistencies and CHANGES the output specification for parse trees.
2nd Midterm Exam on November 25, 2008:
Sample 2nd midterm exams are given here, here, and here. The syllabus for the Fall 2007 first midterm is based on Chapter 5 of the Louden text and chapters 2, 3, 4, 7, 9, 10, 12, and 14 of the Java Programming Language (4th Ed) text (by Arnold, Gosling, and Holmes).
1st Midterm Exam on October 9, 2008:
Sample 1st midterm exams are given here, here, and here. The syllabus for the Fall 2007 first midterm is based on Chapters 1, 2, 3, and 4 of the Louden text and chapter 7 (sections 7.1 to 7.3.1) of the Perl text (by Sebesta). The Sebesta text is on reserve in the library.
Very old stuff begins here:
1st Midterm Exam on September 20, 2007:
A sample 1st midterm exam is given here. The syllabus for the Fall 2007 first midterm is based on Chapters 1, 2, 3, and 4 of the Louden text and chapter 7 of the Perl text (by Sebesta). The Sebesta text is on reserve in the library.
The input file is here and the desired output is here.
As a study aid, the Java midterms for the previous two years are here and here. Please be aware that the syllabus for this year's exam on November 14 will cover only Java and the material covered in the lectures.
The write-up is here. Starter code is on the following three files: StatementParser.java, GlobalEnv.java, and BinNonTermNd.java.
The input file is here. The desired output for this input is here.
| Java on the web: |
| The Java Virtual Machine Specification (2nd Ed) |
| by Tim Lindholm and Frank Yellin |
| Addison-Wesley, 1999 |
| ISBN: 0201432943 |
Chapter 2 provides a synopsis of the Java language. An html version of the book is here.
| Python on the web: |
| Dive into Python: Python for Experienced Programmers |
| by Mark Pilgrim |
| This electronic book is available here. |
The main source of information on Python is here.