| Week
# |
Day |
Date |
Topic |
Due |
| Module
0: Introduction |
||||
| 1 |
Mon |
3-Sep |
Labour day |
|
| Wed |
5-Sep |
No classes first week of term. |
||
| 2 |
Mon |
10-Sep |
Lecture:
Course organization and overview. Continuations on the web Lecture Materials and Software
|
|
| Wed |
12-Sep |
Lecture:
Introduction to Scheme. Lecture Materials (review before lecture)
|
Preparation:
|
|
| 3 |
Mon |
17-Sep |
Lecture:
Introduction to Scheme continued. Focus of this lecture is on higher-order procedures and "advanced" Scheme idioms. Lecture style: Powerpoint presentation with short breaks for doing (some of) the exercises Lecture materials:
|
CS511 student profile. |
| Module 1: Procedures, environments, scope and continuations | ||||
| Wed |
19-Sep |
Lecture: An environment passing
interpreter for a simple procedural
language. ProcLiLa. We will build on course material from CPSC 311. If you are not familiar with the material you should make an effort to thoroughly review the material before lecture. The plan for this lecture is to work upto a point so that everybody in class is familiar with most of the material from CS311 section 02 and 03. Reviewing the material before lecture is important because rather than a traditional "lecture" style where I flash powerpoint slides at you, I might try to do a more hands-on exercise in class. Notes on what to do to prepare:
|
Learn
Scheme: You should aim to know enough of Scheme to do CPSC
311 HW 1 (solution) Review materials before lecture:
|
|
| 4 |
Mon |
24-Sep |
Plan
for this lecture:
|
|
| Wed |
26-Sep |
Exercise: The dog ate my lambda
solution: here Lecture: Continuations and continuation passing style in the interpreter. Plan for this lecture:
Lecture Materials: |
||
| 5 |
Mon |
Oct 1 |
Lecture Call-with-current continuation
what is it, how does it work (by implementing it in CPS interpreter)
Lecture Materials:
|
Paper
review: submit a review of the paper "Programming
the Web..."
by email to kdvolder@cs.ubc.ca Read the instructions and use the form provided on this webpage. |
| Module 2: Classes, Objects and Aspects | ||||
| Wed |
3-Oct |
Lecture Topic 1: Continuations
and the Web. Paper discussion:
|
Review
materials before lecture: Review the following materials
The class exercise will require you to work with the classLiLa code so you should attempt to be somewhat familiar with it. |
|
| Fri |
5-Oct |
This is not a lecture day. |
Pre-proposal
Deadline: Please send me a "preproposal". What's that? Just a very short email with a short and informal description of your current thoughts on what you want to do as a course project. A title/topic and a few paragraphs of text will do. What's this for? I want to make sure everyone is already thinking about a project topic and finding something they are interested in. I encourage you to talk to me after lecture, or make an appointment to talk to me some other time to help this process of coming up with a proposal before the actual proposal deadline of Mon oct 16. |
|
| 6 |
Mon |
8 Oct |
Thanksgiving Holliday |
|
| Wed |
10-Oct |
Lecture:
Object-oriented programming intro. Lecture materials
The class exercise will require you to work with the classLiLa code so you should attempt to be somewhat familiar with it. Plan:
|
Read/review
papers:
|
|
| 7 |
Mon |
15-Oct |
Aspect-Oriented
Programming Intro Plan: Discussion about AOP (see the paper on the reading / review list for Wed Oct 10 th) |
|
| Wed |
17-Oct |
Topic:
"AspectJ" and
"AspectLiLa". Plan:
|
Course project
proposal due! Review Lecture Materials: |
|
| 8 |
Mon |
22-Oct |
Presentation / Class exercises continued | |
| Wed |
24-Oct |
Discussion: Aspect Orientation and Tools | Read/Review paper:
|
|
| 9 |
Mon |
29-Oct |
AOP
in the real
world Plan for this lecture. Small groups discussion. Topic: You are an employee in HighTech Corp which developes Enterprise software in Java. You have been assigned to a committee to make a decision on whether or not your company is going to run an experiment to adopt AspectJ and AOP into your company's development process. What say you? Yes or no! Preperation: Try to prepare for the discussion by
|
Reading Materials:
|
| Module 3: Types and Checking | ||||
| Wed |
31-Oct |
Lecture: Type Checking Plan: Lecture combined with Class exercise with the type checking code and slides. |
Read: Inroduction of "Types
and Programming Languages" Benjamin Pierce. Copies will be available in
the reading room. Study the Lecture Materials: CS 311 Section 05 slides and code. |
|
| 10 |
Mon |
5-Nov |
Plan:
Continue exercise from last lecture |
|
| Wed |
7-Nov |
Discussion in small groups: Topic 1: Wrap up TypeLiLa lecture material. Topic 2: Java Generics Assume you are on the Java language design team (before Java 1.5 generics got added). You have to make a dccision about adding generics to Java. There are three broad options:
You are a member of the Java language design team. You've just read the paper by Aldrich et. al. on Alias annotations. The purpose of today's design-team meeting is to make a decision on adding this to Java (e.g. add to Java 2.0). Options:
|
Note: From
here on down
writing a review for a paper is optional. You should submit at least one more review before the
end of term. You can chose which paper to write a review of from any of
the papers we will read for the remainder of the course. Read Papers
|
|
| 11 |
Mon |
12-Nov |
Holliday (Substitute for
Remembrance Day) |
|
| Wed |
14-Nov |
Paper Discussion: Checking beyond type checking. | Read/Review
Papers
|
|
| 12 |
Mon |
19-Nov |
Paper
Discussion: Checking Continued... Plan:
|
Read Review papers:
|
| Wed |
21-Nov |
Discussion:
The Future of Software Development Tools and Languages. We will try to have a discussion loosely centered around the question: What will the software development environments of the future look like? Preparation:
|
Reading
|
|
| 13 |
Mon |
26-Nov |
Discussion:
What is Good and Bad Modularity? What is it worth? What does it cost? Preparation:
|
Reading:
|
| Wed |
28-Nov |
Modularity
discussion continued... Preparation:
|
Reading:
|
|
| End of
lectures |
||||
| Sat |
1 Dec |
Not a
lecture day. |
Deadline
submit title and abstract. (Deadline for actual paper submission
postponed to Dec 14th) Guidelines for paper/submission/presentation |
|
| Wed |
5 Dec |
CS
511 Mini Conference (10 AM - 1
PM) |
Prepare a 10 to 15 minute
presentation of your work. |
|
| 14 Dec |
Not a lecture day |
Deadline submit termpaper by Dec
14 at 11:59 PM (i.e. midnight) |
||