General Info.
Course Homepage
About Com S 541
Contacting Us
Syllabus
Homework & Grades
Grading Policies
Grades
Homework Directory
Exams
Reference
Q & A
Meeting outlines
Resources
Running Smalltalk
Running Java
Links
Department Homepage
Iowa State U. Homepage
|
|
Course Syllabus
The table below gives the planned syllabus for the course.
This syllabus is subject to change.
If it becomes necessary to
revise the schedule, then this page will be updated to reflect
the changes.
The references in the readings are given in the bibliography below.
Dates |
Topics |
Readings |
Optional Readings |
Aug. 27 |
Introduction |
Handouts, Course Web Site |
|
Aug. 27 |
Paradigms |
|
[Watt90]
|
Aug. 27 |
Course Planning |
|
|
Aug. 29 |
Object-Oriented Paradigm |
|
[Budd02],
[Watt90]
|
Aug. 29-Sept. 13 |
Smalltalk |
[Goldberg-Robson89], Ch. 1-14
|
[Winston97], Ch. 1-31, 38-39
|
Sept. 17-19 |
Discussion of Tuples for Multiple Dispatch,
as on
homework 2 |
[Leavens-Millstein98]
|
|
Sept. 19 |
Smalltalk |
[Goldberg-Robson89], Ch. 1-14
|
[Winston97], Ch. 1-31, 38-39
|
Sept. 24 |
Object-Oriented Design |
|
[Budd02], Ch. 3
|
Sept. 26 |
Course Review and Planning |
|
|
Sept. 26-Oct. 10 |
Java's Design |
[Gosling-McGilton96]
|
[Arnold-Gosling-Holmes00]
|
Oct. 10-15 |
AspectJ |
[Kiczales-etal01],
[Kiczales-etal01b]
|
[AspectJTeam02],
[Kiczales-etal97]
[Kiselev03]
|
Oct. 17 |
Exam 1 |
[Goldberg-Robson89], Ch. 1-14
[Gosling-McGilton96]
|
[Arnold-Gosling-Holmes00]
[Budd02], (esp. Ch. 3)
[Leavens-Millstein98]
[Watt90]
[Winston97], Ch. 1-31, 38-39
|
Oct. 22-24 |
AspectJ |
[Kiczales-etal01],
[Kiczales-etal01b]
|
[AspectJTeam02],
[Kiczales-etal97]
[Kiselev03]
|
Oct. 29-31 |
Design of Aspect Smalltalk |
|
|
Nov. 5-7 |
Team Work on Aspect Smalltalk Implementation, Examples |
|
|
Nov. 12 |
Course Review and Planning |
|
|
Nov. 12 |
Functional Paradigm |
[Hudak89]
|
[Watt90]
|
Nov. 12-14 |
Haskell |
[Thompson96], Ch. 1-7, 9-10, and 12-17
|
[Hudak-Peterson-Fasel00],
[Hudak00],
[Peyton-Jones-Hughes99],
[Peyton-Jones-Hughes99b],
[Thompson96], Ch. 8, 11, and 18-20
|
Nov. 19 |
Monads and their relation to Aspects |
[Thompson96], Ch. 18 |
|
Nov. 21 |
Exam 2 |
|
|
Nov. 26-Nov. 28 |
Thanksgiving Break, no class |
|
|
Dec. 3-12 |
Haskell |
[Thompson96], Ch. 1-7, 9-10, and 12-17
|
[Hudak-Peterson-Fasel00],
[Peyton-Jones-Hughes99],
[Peyton-Jones-Hughes99b],
[Thompson96], Ch. 8, 11, and 18-20
|
Dec. 12 |
Course Summary |
|
|
Dec. 12 |
Course Evaluations |
|
|
Fri., Dec. 20, 9:45-11:45a.m. |
Final Exam |
|
|
Return to top
- [Arnold-Gosling-Holmes00]
-
Ken Arnold and James Gosling and David Holmes.
The Java Programming Language Third Edition.
Addison-Wesley, Reading, Mass., 2000.
- [AspectJTeam02]
-
The AspectJTeam.
The AspectJ(TM) Programming Guide.
http://aspectj.org/doc/dist/progguide/index.html
- [Budd02]
-
Timothy Budd.
An Introduction to Object-oriented Programming, Third edition.
Addison-Wesley, Boston, Mass, 2002.
- [Goldberg-Robson89]
-
Adele Goldberg and David Robson.
Smalltalk-80: The Language.
Addison Wesley, 1989. ISBN 0201136880.
- [Gosling-McGilton96]
-
James Gosling and Henry McGilton.
The Java Language Environment: A White Paper.
Sun Microsystems, June 1996.
http://java.sun.com/docs/white/langenv/.
- [Hennessy90]
-
Matthew Hennessy.
The Semantics of Programming Languages.
Wiley, New York, NY, 1990.
- [Hudak89]
-
Paul Hudak.
Conception, Evolution, and Application of Functional Programming Languages.
ACM Computing Surveys
21(3):359-411, Sep. 1989.
- [Hudak00]
-
Paul Hudak.
The Haskell School of Expression: Learning Functional
Programming through Multimedia.
Cambridge University Press, New York, NY, 2000.
- [Hudak-Peterson-Fasel00]
-
Paul Hudak, John Peterson, and Joseph Fasel.
A Gentle Introduction to Haskell: Version 98.
June 2000.
http://www.haskell.org/tutorial/
- [Kiczales-etal01]
-
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm,
and William G. Griswold.
An Overview of AspectJ.
In J. Lindskov Knudsen (ed.),
ECOOP 2001 --- Object-Oriented Programming 15th European Conference, Budapest Hungary,
pages 327-353.
Volume 2072 of Lecture Notes in Computer Science,
Springer-Verlag, Berlin, June, 1997.
http://aspectj.org/documentation/papersAndSlides/ECOOP2001-Overview.pdf
- [Kiczales-etal01b]
-
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm,
and William G. Griswold.
Getting started with AspectJ.
Communications of the ACM
44(10):59-65, Oct. 2001.
http://doi.acm.org/10.1145/383845.383858
- [Kiczales-etal97]
-
Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda,
Cristina Lopes, Jean-Marc Loingtier, and John Irwin.
Aspect-Oriented Programming.
In Mehmet Aksit and Satoshi Matsuoka (eds),
ECOOP '97 --- Object-Oriented Programming 11th European Conference, Jyväskylä, Finland,
pages 220-242.
Volume 1241 of Lecture Notes in Computer Science,
Springer-Verlag, New York, NY, June, 1997.
- [Kiselev03]
- Ivan Kiselev.
Aspect-Oriented Programming with AspectJ.
Sams Publishing, 2003.
- [Leavens-Millstein98]
- Gary T. Leavens and Todd D. Millstein.
Multiple Dispatch as Dispatch on Tuples. In OOPSLA '98
Proceedings, pages 374-387 (Volume 33, number 10 of ACM SIGPLAN Notices
October 1998).
Also Department of Computer Science, Iowa State University, TR #98-03b, April 1998,
Revised May 1998, July 1998.
[abstract]
[postscript].
- [Liskov01]
-
Barbara Liskov with John Guttag.
Program Development in Java.
Addison-Wesley, Boston, Mass, 2001.
- [Peyton-Jones-Hughes99]
-
Simon Peyton Jones, John Hughes, et al.
Haskell 98: A Non-strict, Purely Functional Language.
February 1999.
http://www.haskell.org/definition/
- [Peyton-Jones-Hughes99b]
-
Simon Peyton Jones, John Hughes, et al.
Standard Libraries for Haskell 98.
February 1999.
http://www.haskell.org/definition/
- [Thompson96]
-
Simon Thompson.
Haskell: The Craft of Functional Programming, Second Edition.
Addison-Wesley Longman, 1996. ISBN 0-201-34275-8.
- [Schmidt94]
-
David A. Schmidt.
The structure of typed programming languages.
MIT Press, Cambridge, Mass., 1994.
- [Watt90]
-
David Watt.
Programming language concepts and paradigms.
Prentice-Hall, New York, NY, 1990.
- [Winston97]
-
Patrick Henry Winston.
On To Smalltalk.
Benjamin Cummings, New York, NY, 1997.
- [Wand-Kiczales-Dutchyn02]
-
Mitchell Wand, Gregor Kiczales, and Chris Dutchyn.
A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming.
In Gary T. Leavens and Ron Cytron (eds),
FOAL 2002 Proceedings: Foundations of Aspect-Oriented
Languages Workshop at AOSD 2002,
pages 1-8. Department of Computer Science, Iowa State University,
Technical Report #02-06, April 2002.
http://www.cs.iastate.edu/~leavens/FOAL/papers-2002/wand-kiczales-dutchyn.pdf
Return to top
Course Content and Policies
The course's content
and grading polices
are described on separate web pages. See the links on the top
left of this page.
Return to top
Last modified Thursday, December 12, 2002.
|