A comparative study of programming languages designed to provide the following: (1) An understanding of language features and limitations; (2) An increased ability to learn new languages; (3) An understanding of the theoretical foundations of languages and the significance of implementation, and (4) An improved background for choosing and using different programming languages.
Week of | Lectures & Reading | Assignments | Exams |
Aug 16 | Language Design Chapters 1 & 2 Supplement to Chap 1 |
||
Aug 23 | Language Design Chapters 1 & 2 Supplement to Chap 2 |
Assign 1: WWW Search | |
Aug 30 | Syntax Chapter 3 & 9.3 Supplement to Chap 3 |
||
Sep 6 | Semantics and Primitive Data Section 9.4 , Section 4.1 Supplement to Section 9.4 |
Assign 2 | |
Sept 13 | Data Types Chapter 4 Review for exam |
||
Sept 20 | Encapsulation and Types Sections 5.1-5.3 |
Exam 1 | |
Sept 27 | Smalltalk & Object Oriented Design Chapter 8 & Section 12.3 Smalltalk Tutorial |
Assign 3 (Ada) | |
Oct 4 | C++ & Object Oriented Design Chapter 8 & Section 12.2 |
||
Oct 11 | (Fall Break: No MT classes) Storage Management Section 5.4 |
Assign 4 | |
Oct 18 | ML Section 13.2 |
||
Oct 25 | Expressions Section 6.1-6.2 |
Assign 5 | |
Nov 1 | Pattern Matching (Prolog) and Control
Structures Chapter 14 & Section 6.3 |
||
Nov 8 | Control Structures & Prime Programs Section 6.4 |
Exam 2 | |
Nov 15 | Activation Record Structures Sections 7.1-7.2 |
||
Nov 22 | (Thanksgiving Break: No WRF classes) C++ Storage Structures Section 12.2 |
Assign 6 | |
Nov 29 | Parameter Passing & Exceptions Section 7.3 , Section 9.1.1 |
||
Dec 6 | Review | ||
Dec 9-15 | Final Exam Week: (CSCI 431: Tues, Dec 14, 3:05-5:35pm) |
Final Exam |
Exam grades | 100 x 2 | 200 |
Assignment grades | 30 x 6 | 180 |
Final Exam grade | --- | 150 |
Total Points | --- | 530 |
Lectures: A roll is not taken. Students are expected to attend all class lectures. Failure to do so will be considered a lack of interest in success on the part of the student.
Exams: If you must miss an exam or quiz due to illness you must telephone or send email before the scheduled time and perhaps something can be arranged to avoid a zero for this exam. Failure to notify me prior to the scheduled time will produce an automatic zero for the exam.
Hand out sheets with instructions will be given in class for each assignment. These assignments will involve:
The program writing projects are your way of telling me about your mastery of this course. Because this is a course about writing programs you are expected to take these assignments very seriously. Your programs must be clearly different than those turned in by others in the class and represent a unique and special effort on your part.