Software Technology - Fall 2008


Teacher: Andrea Valente (aaue.dk/~av)
Book(s): see CIS1 page

Course plan:
Lecture nr Date Topic Literature Comments
1 15/9 12:45 B206 Introduction
structure of the course, main topics (XP, Design Patterns, Refactoring)
Extreme Programming (1)
XP intro [XP:ch1-6]
slides1 and [XP:ch1-6]
2 17/9 12:45 C113 Recalling Object-Orientation
OO, UML, Java
slides2
3 1/10 8:30 B206 Extreme Programming (2)
-> assign tools to present
values and principles [XP:ch7-11], management and planning [XP:ch12-15].
Define some stories (together) for the RogueLike game. Find out their importance.
Tools Groups
JUnitXuelei Ping
MySQLIchaya Dhachalupat
Ant...
CVSSøren Davidsen
Tomcat...
Eclipse...
NetBeansUwe Mönks
AspectJAntonio Parisi, Tommaso Pimpo
If more tools are needed, please contact me via email (or in my office), thanks :)
slides3 and [XP:ch7-11], [XP:ch12-15] Today's blackboard (planning game for the tasks of the Rouge-like game): pdf
4 8/10 12:45 B205 Extreme Programming (3) implementation, design, test, implementation and praxis
- Unit testing with BlueJ
slides4 and [XP:ch16-18], [XP:ch19-27] Peer programming with reverse-engineering exercises.
5 9/10 8:30 B206 Design Patterns (1)
definition of D.P. , examples
problems and slides5 Bring your laptops! Peer programming to finish the first iteration of RougueLike game.
6 15/10 8:30 B201 Design Patterns (2)
More design patterns (also from the [DP] book)
slides6 Bring your laptops! Peer programming to finish the first iteration of RougueLike game. Discussion of the overall design and covered stories. Release it!
7 20/10 12:45 B206 Tools presentations
15min + discussion, per group
 
8 22/10 12:45 B206 Refactoring
-> assign presentations

Xuelei Ping

Move Method
Move Field
142-145
146-148
Uwe Mönks Extract Class
Replace Parameter with Explicit Methods
149-153
285-291
Antonio Change Value to reference
Change Reference to Value
179-182
183-185
Tommaso Replace TypeCode with Class
Replace Typecode with subclass
Replace SubClass with Fields
218-222
223-226
232-235
Søren Extract superclass
Replace Conditional with Polymorphism
336-340
255-259

Please tell me (by email also) who wants to do what :)

Book = Refactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
&npbs
intro + examples, bed smells + selected refactoring techniques

slides8 and [RF:ch1 & 3] Bring your laptops! Re-analyze the RogueLike game's architecture. Use DP and Refactoring to improve the design. Start the second iteration.
9 29/10 12:45 B206 Design Patterns (3)
Patterns are everywhere... , Pree's metapatterns
And possibly: Intro to aspect oriented programming (AOP) ; Ant, JUnit and AspectJ
slides7 Bring your laptops! Finish and discuss the second iteration. Release it!
10 5/11 12:45 B206 No class Each group can fix a meeting with me for the supervision
11 10/11 12:45 B206 No class Each group can fix a meeting with me for the supervision
12 11/11 12:45 B206 No class Each group can fix a meeting with me for the supervision
13 12/11 12:45 B206 Refactoring presentations
14 18/11 8:30 B206 No class Each group can fix a meeting with me for the supervision
15 19/11 12:45 B206 No class Each group can fix a meeting with me for the supervision