|
Week
(Assignments)
|
Period
|
Topic
|
Textbook Reading
|
|
|
Week 1
|
1
|
Introduction and Course
Overview
Introduction
for Distance Learning Students
Brief
History of Programming Languages
Preliminaries
|
Syllabus / Web Site
1.1 – 1.8
|
|
|
2
|
Syntax
and Semantics
Lexical
Analysis
|
3.1 – 3.3
4.1 - 4.3
|
|
|
3
|
Names,
Binding, Type Checking, and Scopes
|
5.1 – 5.12
|
|
|
Week 2
|
4
|
Data Types
|
6.1 – 6.9
|
|
|
5
|
Expressions and
Assignment Statements
|
7.1 – 7.8
|
|
|
6
|
Statement-Level Control
Structures
|
8.1 - 8.6
|
|
|
7
|
Subprograms
Implementing Subprograms
|
9.1 - 9.8
10.1 - 10.3, 10.5
|
|
|
Week 3
|
8
|
Introduction
to FORTRAN
Using
the GNU f77 Compiler
|
2.3
|
|
|
9
|
FORTRAN
Sequence Control & Subprograms
Bubble
Sort Algorithm (an example)
|
--
|
|
|
Week 4
|
10
|
Introduction
to C & Data Types
Using
the GNU gcc Compiler
|
--
|
|
|
11
|
Sequence Control &
Subprograms in C
C's
Branching & Looping Statements
|
--
|
|
|
Week 5
|
|
|
|
|
|
12
|
Introduction to Pascal
An
Overview of the Pascal Language
Sample
Pascal Programs
|
|
|
|
13
|
Pascal Sequence &
Subprogram Control
Translating
and Compiling Pascal Programs
Pascal's
Branching & Looping Statements
|
--
|
|
|
Week 6
|
14
|
Object-Oriented Programming
Abstract Data Types
|
12.1 - 12.3
11.1 - 11.4
|
|
|
15
|
Introduction to Smalltalk
Overview
of Smalltalk
A
Smalltalk Tutorial
Sample
Smalltalk Programs
|
2.15
12.4
|
|
|
16
|
Smalltalk Sequence
Control & Subprograms
GNU Smalltalk
User's Guide
|
|
|
|
17
|
Introduction to C++
C++
Introduction, Classes
|
2.16, 12.5
|
|
|
18
|
C++ Sequence Control
& Subprograms
C++
Functions, Function overloading, Inheritance & Operator overloading
|
--
|
|
|
Week 8
|
19
|
MIDTERM
|
|
|
|
|
|
|
|
20
|
Introduction to Java
An
Overview of the Java Language
Compiling
& Running Java Programs
Glossary
of Java-Related Terms
Sample
Java Programs
|
2.17, 12.6
|
|
|
21
|
Java Sequence Control
& Subprograms
Java's
Branching & Looping Statements
|
--
|
|
|
Week 9
|
|
|
|
|
|
22
|
Introduction to Ada
An
Overview of the Ada Language
Translating
and Compiling Ada Programs
GNAT
User's Guide
GNAT
Reference Manual
|
2.14, 12.8
|
|
|
23
|
Ada Sequence Control
Ada's
Branching & Looping Statements
Sample
Ada Programs
|
--
|
|
|
24
|
Functional Programming
|
15.1 - 15.6
15.9 - 15.10
|
|
|
Week
10
|
25
|
Introduction to LISP
Overview
of LISP
|
2.4, 15.6
|
|
|
26
|
LISP Sequence Control
& Subprograms
LISP
Execution Control
|
--
|
|
|
27
|
Introduction to ML
Overview
of Standard ML
|
15.7
|
|
|
28
|
ML Sequence Control &
Subprograms
Standard
ML Vectors and Arrays
Standard
ML Basis Library
|
--
|
|
|
29
|
Logic Programming
|
16.1 - 16.4
|
|
|
30
|
Introduction to Prolog
Overview
of Prolog
|
2.13
16.5 – 16.7
|
|
|
|
31
|
FINAL
EXAM
Dec 9th 2008, 7:00 – 8:00 PM
|
|