CS 1621 Structure of Program
Course Syllabus
This page will be updated frequently
throughout the term. Check it often.
Class # |
Date |
References |
Topics/Other Info |
|
1 |
Aug. 29 |
Sebesta |
Introduction |
|
2 |
Aug. 31 |
Sebesta |
Language Design and
Implementation Issues |
|
3 |
Sep. 2 |
Sebesta |
Finish Language Design and
Impl. Issues |
|
4 |
Sep. 7 |
Sebesta |
BRIEF PL History |
|
5 |
Sep. 9 |
Sebesta |
Syntax and Semantics;
Generators and Recognizers; Lexemes and Tokens, Regular Grammars and FSAs |
|
6 |
Sep. 12 |
Sebesta |
Finish Regular Grammars;
Context-Free Grammas and PDAs; Parse Trees;
Ambiguous Grammars |
|
7 |
Sep. 14 |
Sebesta |
More on Context-Free
Grammars |
|
8 |
Sep. 16 |
Sebesta |
Parsing and LL(1) Grammars |
|
9 |
Sep. 19 |
Sebesta Sebesta Ch. 3 |
Finish LL(1) Grammars Static Semantics |
|
10 |
Sep. 21 |
Sebesta |
Ids, Variables and Binding |
|
11 |
Sep. 23 |
Sebesta |
More on binding; data
types |
|
12 |
Sep. 26 |
Sebesta |
More on data types and
type compatibility |
|
13 |
Sep. 28 |
Sebesta |
Scope vs. Lifetime; static
vs. dynamic scope Articles on Perl local
variables: http://perl.plover.com/FAQs/Namespaces.html
http://perl.plover.com/local.html
|
|
14 |
Sep. 30 |
Sebesta |
Primitive Data Types Review for Exam 1 |
|
15 |
Oct. 3 |
|
EXAM 1 |
|
16 |
Oct. 5 |
Sebesta |
String types |
|
17 |
Oct. 7 |
Sebesta |
Start array types;
allocation and indexing |
|
18 |
Oct. 10 |
Sebesta |
Finish Array Types |
|
19 |
Oct. 12 |
Sebesta |
Pointer types and dynamic
storage |
|
20 |
Oct. 14 |
Sebesta |
Heap implementation and management;
compaction; programmer managed heap; reference counts |
|
21 |
Oct. 17 |
Sebesta Sebesta |
Garbage collection Expressions: precedence
and associativity |
|
22 |
Oct. 19 |
Sebesta |
More expressions: Boolean expressions;
short-circuit evaluation; implicit coercions |
|
23 |
Oct. 24 |
Sebesta |
Control structures:
selection (if, case) and iteration (while) |
|
24 |
Oct. 26 |
Sebesta |
More iteration (for and
arbitrary loops) |
|
25 |
Oct. 28 |
Sebesta
|
“foreach”
loops Subprograms: procedures
vs. functions; Local variables |
|
26 |
Oct. 31 |
Sebesta |
Parameters: in, out and in
out effect; value and reference (and constant reference) parameters |
|
27 |
Nov. 2 |
Sebesta |
Pass by result; Pass by
value-result (and difference from reference) |
|
28 |
Nov. 4 |
Sebesta |
Pass by name; subprograms
as parameters; generics |
|
29 |
Nov. 7 |
|
EXAM 2 |
|
30 |
Nov. 9 |
Sebesta |
Finish generics |
|
31 |
Nov. 11 |
Sebesta |
Implementing subprograms:
activation records and the run-time stack; static links to textual enclosing
blocks |
|
32 |
Nov. 14 |
Sebesta |
More on static links;
dynamic links for dynamic scoping |
|
33 |
Nov. 16 |
Sebesta Sebesta |
Nested blocks and variable
access Abstract Data Types |
|
34 |
Nov. 18 |
Sebesta |
OOP |
|
35 |
Nov. 21 |
Sebesta |
Smalltalk discussion and
examples |
|
36 |
Nov. 28 |
Sebesta |
Finish Smalltalk examples C++ OOP Virtual
Method blog discussion |
|
37 |
Nov. 30 |
Sebesta |
Java OOP |
|
38 |
Dec. 2 |
Sebesta |
Parallelism in program |
|
39 |
Dec. 5 |
Sebesta |
Message passing; Deadlock
and starvation; Java examples |
|
40 |
Dec. 7 |
Sebesta |
Intro. to Prolog; facts
and rules; db search and backtracking; recursion |
|
41 |
Dec. 9 |
Sebesta |
More recursion; Prolog
lists and list operations; manipulating the db |