Syllabus
Programming Languages, CPSC 340
Spring,  2001

Overview
This course in programming languages has several objectives, but the central theme is to introduce you to the concepts underlying the design and development of computer languages.  Course activities will include classroom and laboratory exercises.  The instructor for the course has arranged a number of resources, which include computer systems, computer software, as well as a text.  The grading will be based on both computer-based assignments and examinations.  The schedule for the semester contains 10 assignments, 2 hour exams, and a final exam.


Objectives

Instructor

    Professor Ralph G. Hollingsworth, 225 Boyd Science Center, 826-8307
        e-mail address: ralph@muskingum.edu
        office hours

Course Resources

Textbook:   Programming Language Pragmatics,
       by Michael L. Scott (Morgan Kaufmann, 2000)

 Principal Computer Languages Used:  C++, Java, Scheme, Prolog, and Perl (under W2K and Linux)


Grading

 Your final grade will be determined based on the components below: Grade ranges: Exercises will be handed-in as indicated on the following schedule.  The exercises are due at the beginning of class on Thursdays, and you are required to complete the out-of-class work using only your own efforts, as described when each exercise is assigned. You may work on some parts of your assignments on equipment outside the W2K/Linux laboratory, but whatever you do must work correctly in that laboratory for credit.

Assignments or exams missed due to illness, extracurricular events, etc. can only be submitted or taken after providing the instructor with written and signed notes from physicians, coaches, etc.  In the case of absences as a result of college events, you must give the instructor the note at least one week prior to the event.


Schedule

Week Of ...
Topics
Readings
Exercises
January 16
Introduction and Language Syntax
1, 2
*
January 23
Syntax
2
1 due
January 30
Scope, and Binding
3
2 due
February 6
Semantic Analysis
4
3 due
February 13
Control Flow and Structures
6
4 due
February 20
Data Typing
7
*
>>>>>>>>>>
Exam #1, Thursday, February 22
*
* 
February 27
Data Typing (continued) and Modular Control Abstraction
7, 8
*
March 6
Data Abstraction and Object-Oriented Approaches
 10 
5 due
March 12-16
Spring Break
*
*
March 20
Languages for Concurrency
12
6 due 
March 27
 Language Tools, Implementation & Runnable Programs
 9, 13 
7 due
April 3
 Language Tools, Implementation & Runnable Programs (continued)
9, 13
*
>>>>>>>>>>
Exam #2, Thursday, April 5
*
*
April 10
Functional Languages, Scheme
 11 
*
>>>>>>>>>>
No Class, April 12
*
*
April 17
Logic Languges, Prolog
 11 
8 due
April 24
Scripting languages, Perl
 web
9 due
May 1
Visual and Auditory Languages
web
10 due
 >>>>>>>>>>
Final Exam: Friday, May 11 at 8:30 a.m.
  *
*