The schedule is tentative and is subject to change as the semester progresses.
| Week | Month/Date/Day | Topic & Lecture | Deadline (if any) | Reading |
| 1 | Jan/14/Mon | Introduction; Administrativia; Course Overview; Scala Language Overview | Force-Add Deadline | The Scala Experience by Martin Odersky |
| 2 | Jan/21/Mon | MLK Jr. Day. | No Class | |
| 3 | Jan/28/Mon | Scala Language Cont. Design Patterns overview & critique |
Project proposal due | |
| 4 | Feb/4/Mon | Architectural Patterns | Marc Fleury and Francisco Reverbel, "The JBoss Extensible Server," in Middleware 2003 | |
| 5 | Feb/11/Mon | Generative programming, Meta-programming, Active Libraries, C++ template meta-programming |
Slides by Krzysztof Czarnecki K. Czarnecki, U. Eisenecker, R. Glueck, D. Vandevoorde, Todd Veldhuizen "Generative Programming and Active Libraries," in Proceedings of the Dagstuhl-Seminar on Generic Programming 1998 T. Veldhuizen, "Expression Templates," C++ Report, Vol. 7 No. 5 June 1995, pp. 26-31 T. Veldhuizen, "Using C++ template metaprograms," C++ Report Vol. 7 No. 4 (May 1995), pp. 36-43. |
|
| 6 | Feb/18/Mon | Component-based designs | ||
| 7 | Feb/25/Mon | Project proposal presentations |
|
|
| Break | ||||
| 8 | March/10/Mon | Layered designs, mixins, mixin layers, etc. |
Yannis Smaragdakis and Don Batory, "Implementing Layered Designs with Mixin Layers," in ECOOP 98. Richard Cardone and Calvin Lin, " Using Mixin Technology to Improve Modularity," Aspect-Oriented Software Development in Mehmet Aksit, Siobhan Clarke, Tzilla Elrad, and Richard Filman, eds. Addison-Wesley, 2003. pp. 219-242. |
|
| 9 | March/17/Mon | Advanced separation of concerns |
Adaptive programming and Demeter (http://www.ccs.neu.edu/research/demeter)K. J. Lieberherr, A. J. Riel, "Demeter: a case study of software growth through parameterized classes," Proceedings of the 10th international conference on Software engineering, 1988 K. Lieberherr, I. Holland, A. Riel, "Object-oriented programming: an objective sense of style," in OOPSLA 1988 David Mandelin, Lin Xu, Rastislav Bodík, Doug Kimelman, "Jungloid mining: helping to navigate the API jungle," in PLDI 2005 Subject-Oriented Programming (http://researchweb.watson.ibm.com/sop/sophome.htm)
W. Harrison and H.
Ossher "Subject-Oriented Programming (A Critique of Pure Objects)," in
Proceedings of OOPSLA ‘93
|
|
| 10 | March/24/Mon | Aspect-Oriented Programming |
Aspect-Oriented Programming (http://aosd.net/)Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwing, "Aspect-Oriented Programming," in ECOOP 1997 Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten,Jeffrey Palm, and William G. Griswold, "An Overview of AspectJ," in ECOOP 2001
"Aspect Oriented
Programming: Radical Research in Modularity" |
|
| 11 | March/31/Mon | No class. |
|
|
| 12 | April/7/Mon | Distributed Objects | "A Note on Distributed Computing" Eli Tilevich and Yannis Smaragdakis, "NRMI: Natural and Efficient Middleware" Eli Tilevich and Yannis Smaragdakis, "Portable and Efficient Distributed Threads for Java" Eli Tilevich, Stephan Urbanski, Yannis Smaragdakis, and Marc Fleury, "Aspectizing Server-Side Distribution"
|
|
| 13 | April/14/Mon | Type system survey Genericity in programming languages |
Bracha, G., Odersky, M., Stoutamire, D., and Wadler, P. 1998. Making
the future safe for the past: adding genericity to the Java programming
language. In Proceedings of the 13th ACM SIGPLAN Conference on
Object-Oriented Programming, Systems, Languages, and Applications Kresten Krab Thorup. Genericity in Java with virtual types. In European Conference on Object- Oriented Programming, LNCS 1241: Springer-Verlag, 1997. 444-471. Torgersen, M., Hansen, C. P., Ernst, E., von der Ahe, P., Bracha, G., and Gafter, N. 2004. Adding wildcards to the Java programming language. In Proceedings of the 2004 ACM Symposium on Applied Computing Generics in C# http://www.ddj.com/dept/windows/193001357;jsessionid=IFDA0EJVINXTMQSNDLOSKH0CJUNN2JVN |
|
| 14 | April/21/Mon | Project presentations | Paper due | |
| 15 | April/28/Mon | Conclusions |