| Instructor | Phil Hutto | pwh@cc.gatech.edu | 119 CCB | T/Th 3-4 |
| TA | Brian McNamara | lorgon@cc.gatech.edu | 148A CCB | MWF 1-2 |
| TA | Dan Singhal | death@cc.gatech.edu | MWF 11-12 | |
| TA | Shanda Harper | shanda@cc.gatech.edu | MWF 2-3 |
The TAs will hold office hours in the common area on the first floor of the College of Computing Building (CCB). Look for us at the tables/benches, or in one of the nearby labs.
Lecture meets T/Th 1:30-3pm in IC 205. The class newsgroup is
git.cc.class.3411;
you are required to be aware of any information posted there by the instructor
or TA.
Programming languages have been an important area of study in computer
science for many years. Although most programming is done in a relatively
small number of languages, many very important software development concepts
and other key ideas in computer science have been incorporated into programming
languages over the last 30 years. The primary goal of this course is to
enable you to develop a well-organized conceptual understanding of programming
languages, building on your prior concrete experience with several diverse
languages.
| Component | Normal Weighting | Graduating Seniors |
| Homeworks (5) | 25% | 35% |
| Programs (2) | 20% | 30% |
| Midterm | 20% | 35% |
| Final | 35% | N/A |
Programs are to be turned in electronically (details to be provided later). Programs will be accepted up to three days late, with a penalty of 10 points for each day. On-time submissions are strongly encouraged, but getting the programs working is obviously important.
In addition to the programs, there will be five written homework assignments. They will involve questions pertinent to material covered in class and in the readings. They will be assigned in class and due at the beginning of class on their due dates.
Graduating seniors will have an additional homework assignment due during
the last week of class that may result in modification of the grade computed
by the formula given above.
The lecture schedule is tentative and subject to change.
| Date | Reading | Topic | Other | Lecture Notes |
| Th Sept 24 | Chapters 1-2 | Programming Language Landscape | ||
| Tu Sept 29 | handout: Sebesta Ch 2 | Brief History of Language Design | ||
| Th Oct 1 | Chapter 3 | Language Translation - Syntax (pdf) | ||
| Tu Oct 6 | Chapter 3 | Language Translation - Semantics (pdf) | ||
| Th Oct 8 | Chapter 14 | Prolog -- Logical Basis (pdf) | ||
| Tu Oct 13 | Chapter 14 | Prolog -- Getting Things Done (pdf) | ||
| Th Oct 15 | Chapter 14 | Prolog -- Adv Techniques/Difficulties (pdf) | ||
| Tu Oct 20 | Chapter 4 | Types
1 (pdf)
Types 2 (pdf) |
||
| Th Oct 22 | MIDTERM | |||
| Tu Oct 27 | Chapter 5 | Structured Types (pdf) | ||
| Th Oct 29 | Chapter 5 | Encapsulation
Abstract Data Types (pdf) ADT Examples (pdf) |
||
| F Oct 30 | DROP DAY | |||
| Tu Nov 3 | Chapter 6 | Expressions, Assignment (pdf) | ||
| Th Nov 5 | Chapter 6 | Control Flow (pdf) | ||
| Tu Nov 10 | Chapter 7 | Procedures (pdf) | ||
| Th Nov 12 | Chapter 7 | Procedures | ||
| Tu Nov 17 | C++ Notes 1 | |||
| Th Nov 19 | C++ Notes 2 | |||
| Tu Nov 24 | C++
Notes 3
C++ Notes 4 |
|||
| Th Nov 26 | HOLIDAY | |||
| Tu Dec 1 | Java | |||
| Th Dec 3 | Exceptions, Concurrency | |||
| F Dec 11 | FINAL EXAM | 11:30-2:20 |