CSSE403 – Programming Language Paradigms

Fall 2010

Schedule Overview

Unless otherwise noted, Preparation reading is to be done before the listed class session, Homework exercises are due at the beginning of the listed class session, and Milestones are due by midnight of the listed day.

Schedule is subject to change, though I will strive to avoid that.

Schedule last updated Sun Nov 7.

Session quick links:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Week Session Topics Slides Preparation Homework Milestone
0

1

Thu Sep 2

  • Introductions
  • Course intro.
  • Review Milestone 1
  • Python install-fest
Course Intro    
0

2

Fri Sep 3

  • Getting started with Python
Python Intro    
1

3

Mon Sep 6

  • Python functions and data types
Python Functions  
1

4

Tue Sep 7

  • I/O
  • Exception handling
Python I/O And Exceptions    
1

5

Thu Sep 9

  • Object-oriented programming in Python
Python OO Intro  
1

6

Fri Sep 10

  • Project work day, no regular class session
      Language Research Assignment
Rubric
LaTeX Template
Word Template
2

7

Mon Sep 13

  • More OOP
  • Iterators and generators
Python OO Part 2  
2

8

Tue Sep 14

  • Object-oriented etudes
OO Etudes    
2

9

Thu Sep 16

  • Python and Self
OO Etudes, part 2
  • Self: The Power of Simplicity [UngarSmith87] (on campus or VPN access only)
  • Reading for today is more challenging than usual
  • None, but project milestone includes individual work this week
 
2

10

Fri Sep 17

  • Project work day, no regular class session
      Installation and Trial Programs
3

11

Mon Sep 20

  • Python Reflection and Dispatch
Reflection  
  • HW 4 delayed to session 13
 
3

12

Tue Sep 21

  • Python wrap-up: strengths and weakness
Language Wrap-Up
  • Bring Quiz 12 to class with the front page completed (hardcopy handed out in class, session 11)
 
3

13

Thu Sep 23

  • Haskell install-fest
  • Getting started with Haskell
Haskell Intro
  • HW 4 delayed from session 11
  • Extra-credit: HW 5
Project Identification
3

14

Fri Sep 24

  • Project work day, no regular class session
  • Regularly scheduled team meetings begin
       
4

15

Mon Sep 27

  • Haskell Basics and Types
Haskell Basics and Types  
4

16

Tue Sep 28

  • Haskell Style
Haskell Style    
4

17

Thu Sep 30

  • More Haskell Style
Haskell Folds
  • RWH, skim Ch. 5
 
4

18

Fri Oct 1

  • Project work day, no regular class session
      Continued Project Development
5

19

Mon Oct 4

  • Haskell Typeclasses
Haskell Typeclasses
  • RWH, read Ch. 6
 
5

20

Tue Oct 5

  • I/O in a pure, lazy, functional language
Haskell I/O
  • RWH, read Ch. 7, skim Ch. 13
   
5

21

Thu Oct 7

  • Monads
Haskell Monads  
5

22

Fri Oct 8

  • Project work day, no regular class session
      Continued Project Development
6

23

Mon Oct 11

  • More Monads
Haskell Monads 2    
6

24

Tue Oct 12

  • Haskell wrap-up
Haskell Wrap-up
  • HW 10 (deadline extended on bonus problem only to Monday after break)
Teaching Material Draft
7

25

Mon Oct 18

  • Curt at SPLASH
  • Project work day, no regular class session
       
7

26

Tue Oct 19

  • Curt at SPLASH
  • Project work day, no regular class session
       
7

27

Thu Oct 21

  • Demo your Go install to Sam Varga in class
  • Curt at SPLASH
     
7

28

Fri Oct 22

  • Curt at SPLASH
  • Project work day, no regular class session
      Project Progress Report
8

29

Mon Oct 25

  • Ready to Go
Go Intro
  • Read the Go Tutorial, through section “An I/O Package”
 
8

30

Tue Oct 26

  • Defining packages
  • Using interfaces
Go Intro 2    
8

31

Thu Oct 28

  • More on interfaces
Go Intro 3    
8

32

Fri Oct 29

  • Effective Go Style
Effective Go   Continued Project Development
9

33

Mon Nov 1

  • Effective Methods and Interfaces
  • Sudoku work time
Effective Go 2
  • none
 
9

34

Tue Nov 2

  • Schedule presentations
  • Sudoku work time
Go Methods    
9

35

Thu Nov 4

  • Effective Concurrency
Go Concurrency  
  • HW 14
    Pair Programming Encouraged
 
9

36

Fri Nov 5

  • Map-reduce
MapReduce   Teaching Material Revisions
10

37

Mon Nov 8

 
  • Start HW 15
    Really, start early. You’ll need time. Pair Programming Encouraged
 
10

38

Tue Nov 9

     
10

39

Thu Nov 11

4th: Language Design
  • HW 15
    Pair Programming Encouraged
 
10

40

Fri Nov 12

  • 5th Period: Discussion on Language Design
  • 5th Period: Course Evaluations
  • Complete Team Performance Evaluations on ANGEL before 8am on Monday
5th: Language Design
  • Team Evals before 8am on Monday
  • HW 16 due Monday of finals week
Final Presentation,
Code Review,
and Rubric