dr. salih yurttas - yurttas@cs.tamu.edu
cpsc332 - programming language design

hrbb 113, mwf 9:10 - 10 a.m.
spring'08 office hours: m-f 10:10-11:20 a.m. & tth 1:40-3:30 p.m.

shuwei hsu - swhsu@cs.tamu.edu -- tth 11 a.m. - 12:30 p.m. @ rmdb 229e
john scabold - john421@neo.tamu.edu -- mw 2-4 p.m. th 2:30-4:30 p.m. @ hrbb 129


sun-jan 13 mon-jan 14 tue-jan 15 wed-jan 16 thu-jan 17 fri-jan 18 sat-jan 19
1 introduction programming language paradigms   describing syntax and semantics
lexical syntax and analysis
safari.oreilly.com
netlibrary.com
  imperative programming
names, bindings, type checking, and scope
pbin [ utilities ]
 
sun-jan 20 mon-jan 21 tue-jan 22 wed-jan 23 thu-jan 24 fri-jan 25 sat-jan 26
2 no class   imperative programming
expressions and assignment statements statement-level control stuctures,
  imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization

hw-00 is assigned.
 
sun-jan 27 mon-jan 28 tue-jan 29 wed-jan 30 thu-jan 31 fri-feb 1 sat-feb 2
3 imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization
  imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization
  imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization
 
sun-feb 3 mon-feb 4 tue-feb 5 wed-feb 6 thu-feb 7 fri-feb 8 sat-feb 9
4 imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization

hw-01 is assigned.
hw-00 is due.
  imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization
  imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization
 
sun-feb 10 mon-feb 11 tue-feb 12 wed-feb 13 thu-feb 14 fri-feb 15 sat-feb 16
5 imperative programming
subprograms, program units decomposition/composition by functions
call-return, parameterization

hw-02 is assigned.
hw-01 is due.
  imperative programming
data types
  imperative programming
data types
 
sun-feb 17 mon-feb 18 tue-feb 19 wed-feb 20 thu-feb 21 fri-feb 22 sat-feb 23
6 imperative programming
abstract data types
hw-02 is due.
  imperative programming
abstract data types
hw-03 is assigned.
  imperative programming
abstract data types
 
sun-feb 24 mon-feb 25 tue-feb 26 wed-feb 27 thu-feb 28 fri-feb 29 sat-mar 1
7 scripting languages
awk, tcl/tk, perl, python, ruby
  scripting languages
awk, tcl/tk, perl, python, ruby
hw-04 is assigned.
hw-03 is due.
  functional programming languages
lisp, haskell
 
sun-mar 2 mon-mar 3 tue-mar 4 wed-mar 5 thu-mar 6 fri-mar 7 sat-mar 8
8 functional programming languages
lisp, haskell
hw-04 is due.
  test 1   functional programming languages
lisp, haskell
 
sun-mar 9 mon-mar 10 tue-mar 11 wed-mar 12 thu-mar 13 fri-mar 14 sat-mar 15
9 spring break  
sun-mar 16 mon-mar 17 tue-mar 18 wed-mar 19 thu-mar 20 fri-mar 21 sat-mar 22
10 object-oriented programming
abstract classes
  object-oriented programming
interfaces
  object-oriented programming
interfaces
 
sun-mar 23 mon-mar 24 tue-mar 25 wed-mar 26 thu-mar 27 fri-mar 28 sat-mar 29
11 object-oriented programming
class members
constructors, destructor, assignment, copy
public, private, protected
project-00 is assigned.
  object-oriented programming
class members
accessor, mutator
get/set properties
test-1 extra is assigned.
  object-oriented programming
operator overloading
 
sun-mar 30 mon-mar 31 tue-apr 1 wed-apr 2 thu-apr 3 fri-apr 4 sat-apr 5
12 object-oriented programming
operator overloading
test-1 extra is due.
  object-oriented programming
inheritance [single, multiple], polymorphism
overriding
hw-05 is assigned.
  object-oriented programming
constructor, destructor order
project-01 is assigned.
 
sun-apr 6 mon-apr 7 tue-apr 8 wed-apr 9 thu-apr 10 fri-apr 11 sat-apr 12
13 object-oriented programming
template
hw-05 is due.
  object-oriented programming
generic programming
hw-06 is assigned.
  object-oriented programming
generic programming
 
sun-apr 13 mon-apr 14 tue-apr 15 wed-apr 16 thu-apr 17 fri-apr 18 sat-apr 19
14 typesetting/document languages
hypertext/markup
final project is assigned.
hw-06 is due.
  typesetting/document languages
hypertext/markup
  test 2  
sun-apr 20 mon-apr 21 tue-apr 22 wed-apr 23 thu-apr 24 fri-apr 25 sat-apr 26
15 concurrency
threads in java
threads in c#
threads in c++
  concurrency
threads in java
threads in c#
threads in c++
project-00 is due.
  final project is assigned.
project-01 is due.
 
sun-apr 27 mon-apr 28 tue-apr 29 wed-apr 30 thu-may 1 fri-may 2 sat-may 3
16 conclusion          
sun-may 4 mon-may 5 tue-may 6 wed-may 7 thu-may 8 fri-may 9 sat-may 10
17 final test [ 8-10 a.m. ]
final project is due.