CSCI 431-- Programming Languages


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.

Instructor: Rebecca Bruce Location: Robinson Hall 217 Time: Tues & Thur, 1:40-2:55pm Text: Programming Languages Design and Implementation, 3rd Edition , by Pratt & Zelkowitz, Prentice Hall, 1996.

Tentative Course Schedule

Week of Lectures & Reading Assignments Exams
Aug 17 Language Design
Chapters 1 & 2
Aug 21 Language History
Compilers and Interpreters (Ch 2)
Assignment 1
Aug 28 Language Syntax, Chapter 3
Formal Models of Syntax, Ch. 3 & Section 9.3
Sep 4 Language Semantics, Section 9.4
Primitive Data Types, Section 4.1 & 4.2
Assignment 2
Sept 11 Scheme, Section 13.1
Structured Data Types, Section 4.3
Assignment 3
Using Scheme in Emacs
Sept 18 Catch up
Review for Exam 1
Exam 1
Sept 25 Encapsulation, Sections 5.1-5.3
Ada, Section 12.1
Assignment 4
Solution to Assignment 4
Oct 2 Object Oriented Design, Ch 8
SmallTalk, Section 12.3
Assignment 5
Solution to Parts 2 & 3
Oct 9 Sequence Control, Ch. 6
Prolog, Ch. 14
Oct 16 (Fall Break: No MT classes)
Catch up
Oct 23 Subprogram Control, Chapter 7 Assignment 6
Oct 30 ML Part I Section 13.2
Storage Management Section 5.4
Assignment 7
Nov 6 ML Part II Section 13.2
Review for Exam 2
Nov 13 Parallel Programming Sections 9.1-9.2 Exam 2 Solution
Nov 20 (Thanksgiving Break: No WRF classes)
Catch up
Assignment 8
Nov 27 Intro. to PHP
Assignment 9: Extra Credit
Dec 4 Review for Final
Dec 7-13 Final Exam Week:
(CSCI 431: Thur, Dec 7, 1:40-4:10pm)
  Final Exam


Exam grades 100 x 2 200
Assignment grades 20 x 8 160
Final Exam grade --- 150
Total Points --- 510

Attendance Policy:

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 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.

Policy on Assignments:

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.

CSCI logo Return to the UNCA Computer Science home page