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 |
|
Week 2
|
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 3
|
4 |
Data Types |
6.1 – 6.10
|
| 5 |
Expressions and Assignment Statements |
7.1 – 7.8
|
|
Week 4
|
6 |
Statement-Level Control Structures |
8.1 - 8.7
|
| 7 |
Subprograms Implementing Subprograms |
9.1 - 9.8 10.1 - 10.3.3, 10.5 |
|
Week 5
|
8 |
Introduction to FORTRAN
Using the GNU g77 Compiler |
2.3 |
| 9 |
FORTRAN Sequence Control & Subprograms
Bubble Sort Algorithm (an example) |
-- |
|
Week 6
|
10 |
Introduction to C & Data Types
Using the GNU gcc Compiler |
-- |
| 11 |
Sequence Control & Subprograms in C
C's Branching & Looping Statements |
-- |
|
Week 7
|
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 8
|
14 |
MIDTERM EXAMINATION |
| 15 |
Object-Oriented Programming
Abstract Data Types
|
12.1 - 12.3
11.1 - 11.4 |
|
Week 9
|
16 |
Introduction to Smalltalk
Overview of Smalltalk
A Smalltalk Tutorial
Sample Smalltalk Programs |
2.15
12.4 - 12.5 |
| 17 |
Smalltalk Sequence Control & Subprograms
GNU Smalltalk User's Guide |
12.6 - 12.8 |
|
Week 10
|
18 |
Introduction to C++
C++ Introduction, Classes
|
2.16, 12.9 |
| 19 |
C++ Sequence Control & Subprograms
C++ Functions, Function overloading, Inheritance & Operator overloading |
-- |
|
Week 11
|
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.10 |
|
Week 12
|
21 |
Java Sequence Control & Subprograms
Java's Branching & Looping Statements |
-- |
| 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.11 |
|
Week 13
|
23 |
Ada Sequence Control
Ada's Branching & Looping Statements
Sample Ada Programs |
-- |
| 24 |
Functional Programming
|
15.1 - 15.6
15.9 - 15.10 |
|
Week 14
|
25 |
Introduction to LISP
Overview of LISP |
2.4, 15.6 |
| 26 |
LISP Sequence Control & Subprograms
LISP Execution Control |
-- |
|
Week 15
|
27 |
Introduction to ML
Overview of Standard ML |
15.7 |
| 28 |
ML Sequence Control & Subprograms
Standard ML Vectors and Arrays
Standard ML Basis Library |
-- |
|
Week 16
|
29 |
Logic Programming |
16.1 - 16.4 |
| 30 |
Introduction to Prolog
Overview of Prolog |
2.13
16.5 – 16.9 |