CS216 Introduction to Programming Languages
-- Spring 2000

Contents

General Information

Instructor:
Jiang B. Liu, jiangbo@bradley.edu
Professor of Computer Science & Information Systems; (309)6772386
Lecture Times:
1:30-2:45pm, Tu Th, in BR116
Prerequisites:
CS121 Introduction to Data Structures
CS206 Assembler Language
Office Hours:
Mon,Wed 3:15-4:30am; Tue, Thu 2:45-4:00pm at BR103b.

Course Materials:

Required:

Topics & Schedules

This is a programming languages course for computer science and computer information systems majors and minors. The goals of the course are to provide general knowledge of existing and future programming languages and constructs, and prepare for the future study of compiler design and construction. The assignments will be in relatively small program projects in a variety of programming languages. The prerequisites for the course are CS121 and CS206. You need some programming experiences to do the homework assignments.
 
Unit 1 
Introduction
Major Programming Languages: 
Programming Language Fundamentals 
Language Evaluation 
Language Design
Ch. 1
Unit 2 
Major Programming Languages
Evolution Ch. 2
Unit 3 
Syntax and Semantics
Describing Syntax 
Context-Free Grammars 
BNF Form 
Parse Tree 
Axiomatic Semantics
Ch. 3
Unit 4 
Program Features
Names, Binding, Type Checking, and Scopes Ch 4.
Unit 5 
Data Types
Scale Data Types 
Structured Data Types 
Pointers
Ch 5.
Unit 6 
Expressions and Statements
Arithmetic Expressions 
Relational & Boolean Expressions 
Assignment Statements
Ch 6.
Unit 7 
Control Structures
Sequential, Selection, and Iteration Ch 7.
Unit 8 
Subprograms
Structures 
Parameter-passing 
Separate and Independent Compilation
Ch. 8
Unit 9 
Abstract Data Types 
Abstraction and Encapsulation Ch. 10
Unit 10 
Object-oriented Programming
OOP features 
OOP languages
Ch. 11
Unit 11 
Concurrency
Semaphores, Monitors, and Message Passing 
Java Threads
Ch. 12
Unit 12
Exception Handling
Exception Handling Concepts
Exception Handling in different languages
Ch. 13
Unit 13
Functional Programming Languages
Fundamentals
LISP
Ch. 14
Unit 14
Logic Programming Languages
Predicate Calculus
Prolog
Ch. 15

Assignments

All assignments are due in class on the due day.

Grading

- Class attendance: 150 pts
- Assignment 1: 100 pts
- Assignment 2: 100 pts
- Assignment 3: 100 pts
- Assignment 4: 100 pts
- Test 1: 100 pts
- Test 2: 100 pts
- Final:   250 pts
(900-1000 A; 800-900 B; 700-800 C; 600-700 D; below 600 F)

Communication

This class home page is posted at "http://hilltop.bradley.edu/~jiangbo/" and will be used to post the assignments and other class information. You are also encouraged to send me email about your questions related to the course or share related information with the class.