CS3304 Fall 1999: Syllabus

Comparative Languages
TTh 11:00am-12:15 am, Der 3076

Course Information

Instructor: Stephen Edwards
Office: 641 McBryde Hall
Office Hours: Tuesday 9:30-10:30 am
Friday 1:00-2:00 pm
Wednesday, on-line, 8:00-9:00 pm
Office Phone: 231-5723
E-Mail: edwards@cs.vt.edu
 
GTA: Ryan Richardson
E-Mail: wiricha2@vt.edu
Office Hours: TBA
 
Prerequisite: CS 2604 and programming experience
Text: Concepts of Programming Languages, 4th Ed.,
Robert W. Sebesta, Addison-Wesley, 1999.
 
Web Information: http://ei.cs.vt.edu/~cs3304
 
Final Exam: Wednesday, Dec 15, 2:05 pm-4:05 pm


Course Description:

This course provides an in-depth study of current and historical issues in the design, implementation, and application of programming languages. Topics will vary from basic to advanced in areas such as syntax, semantics, binding, data abstraction, exception handling, concurrency, and functional, logic and object-oriented programming. Some programming will be required to help you get the feel for different types of languages. In particular, you will be expected to develop programs in two new paradigms with which you may not be familiar.

Among the primary goals of this course are (1) to give you the background to be able to evaluate the appropriateness of a programming language to an application, (2) exposure to different types of languages, and (3) to get you to the point where learning a new programming language is not an effort to be feared.

Grading Policy:

Activity Number of points
Programming Assignments 30 %
Homework Assignments 35 %
Midterm 15 %
Final Exam 20 %
Total 100 %


Late Policy:

Late programs or homework assignments will only be accepted if the student has made prior arrangements with the instructor before the due date and time. Typically, late submissions will only be considered when personal catastrophes or medical emergencies warrant. Work is late if it is not turned in at the beginning of class. Never slide work under my door, expect to turn it into a secretary, or expect to bring it by my office after class; I will not accept it. Make-ups for exams will only be given when prior arrangements have been made with the instructor.

Class Attendance:

You are expected to attend class always. If you miss a class, it is your responsibility to find out what was discussed, what assignments were made, or what handouts were given. Note that job interviews are not considered an acceptable reason to miss class.

The Honor Code:

All graded assignments must be your own work. When writing up homework or programming assignments, you may seek help during office hours from the GTA or the instructor. You should also feel free to raise questions during class. Any other assistance in writing up an assignment is a violation of the honor code, i.e., you cannot work with anyone else.

Because you are expected to learn new programming languages outside of class, I encourage student interaction regarding the understanding of a programming language and the system under which it operates, so long as there is no direct help in completing an assignment. If you want to form groups in order to help each other learn a language, I have no objection.

Special Accomodations:

If any student needs special accommodations because of a disability, please contact the instructor during the first week of classes.

Tentative Topics:

WeekTopic(s)Chapter
1 Introduction and History Chapters 1 & 2
2 Syntax and Semantics Chapter 3
3 Names and Typing Chapter 4
4 Data Types Chapter 5
5 Expressions and Assignment Chapter 6
6 Control Structures Chapter 7
7-8 Subprograms Chapter 8
9 Implementing Subprograms Chapter 9
10 Abstract Data Types (ADTs) Chapter 10
11 Object-Oriented Programming Chapter 11
12 Concurrency and Exception Handling Chapter 12 & 13
13 Functional Programming Chapter 14
14 Logic Programming Chapter 15




Stephen Edwards <edwards@cs.vt.edu>
Last modified: Tue Aug 24 13:20:42 EDT 1999