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: Rhodes Hall 110

Time: Tues & Thur, 3:05-4:20 pm

Text: Programming Languages Design and Implementation, 3rd Edition , by Pratt & Zelkowitz, Prentice Hall, 1996.

Tentative Course Schedule

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

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

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