Nada

Course Analysis for Object-oriented Analysis and Design (OAD), Spring -02

Author: Karl Meinke, NADA

Below is a course analysis for the course on object-oriented analysis and design (OAD).

Course data

The course was taught during period 3 in spring 2002.
Lectures: 28 hours
Exercises: 28 hours
Laboratory exercises: 15 hours
Course book: (optional) Applying UML and Petterns, by Craig Larman, Prentice Hall 2002.
Lab Assistant: None.
Number of students: 22
KM held all lectures and examples classes.

Goals

OAD is an advanced course to follow on from OOP1 where students obtain basic education in object-oriented programming with Java. The course OAD attempts to build on this by teaching the fundamentals of object oriented analysis and design. We make use of the Unified Modelling Language (UML) as an emerging industry standard.

The philosophy of the course is to focus on the fundamentals of UML, as well as to focus on four strategic types of diagram, namely sequence diagrams for use cases and black-box dynamic modelling, object and class diagrams for static modelling and statecharts for glass-box dynamic modelling. For each visual language we are careful to describe both the graphical syntax and the semantics (using informal and formal mathematical concepts). We take a fundamental view, since UML is continully in a state of flux. Exercise classes are based on practical problems which cover sequence diagrams, class diagrams and statecharts. The laboratory is a web developed extended O-O analysis of a security system.

Summary

The course went reasonably well this year. However the departure of a qualified lab assistant just before the course started impacted on the practical work. The response to student questionnaires shows a slight drop in some satisfaction levels. However the sample size is pretty small (13 students), so this may or may not be significant. Structurally the course has never been better organised.

Lectures

These were based on the kursbunt, which contains original material developed by KM, and focusses on the fundamental principles of UML. This year we migrated to UML 2.0 from UML 1.4 and the course notes were updated with new material to reflect this. The greatest change was in the area of sequence diagrams, where the whole section had to be completely rewritten. The coursebook functioned again mainly as a reference manual for UML.

Exercises

A new book was introduced as a source of exercises, for class, object, sequence and statechart diagrams namely Mark Priestley's "Practical Object-Oriented Design with UML", McGraw-Hill, 2000. This book is very useful in providing model solutions to many exercises, which can also be studied at home by students. We still worked through some exercises in class and object diagrams taken from Rumbaugh et al "Object-oriented modelling and design".

Laboratory work

The lab work is the same as last years, and follows the lectures more closely. It now consists of a well known security controller exercise (also used in commercial UML courses). Informal requirements are given as english text. The students must then: (i) markup nouns, verbs and relational phrases in the text, (ii) define these in a data dictionary, (iii) write out text use cases, (iv) draw UML sequence diagrams for each text use case, and (v) draw a UML class diagram to incorporate data dictionary components.
A novel aspect of the lab work is that solutions must be developed in html and submitted as web pages. This allows, e.g. hyperlinking from informal requirements to the data dictionary. Students seem to appreciate brushing up html skills. Also marking and remarking work is easier, as well as providing student feedback by e-mail.

Student Performance

The course was examined with a 5 hour examination.

21 (last year 37) students took the first examination (October '02). Of these, 15 (last year 35) passed, 4 (last year 2) received U (fail), 11 (last year 27) received G (pass) and 6 (last year 8) received VG (pass with distinction).

2 (last year 4) students took the second examination (December '02). Of these, 2 (last year 4) passed, 0 (last year 0) received U (fail), 2 (last year 3) received G (pass) and 0 (last year 1) received VG (pass with distinction).


Course Literature

This year we changed the course book to Craig Larman's "Applying UML and Patterns".
This is a very standard book in the field, well written and with lengthy examples. It's strength is in methodology (unified process), and in this way it complements the more technical introduction to UML constructs which the course notes focus on.

Course Evaluation


A total of 13 returns (last year 38) i.e. 62% (last year 100%) of student participants views were received.
Here are the results of the survey.

1. Rate the clarity of lectures (förläsningar): average 3.53 (last year 4.55)

1 very unclear 2 unclear 3 fair 4 clear 5 very clear

2. Rate the clarity of the course notes (kursbunt): average 3.46 (last year 4.18)

1 very unclear 2 unclear 3 fair 4 clear 5 very clear

3. Rate the clarity of the lab exercises (laborationer): average 3.46 (last year 3.75)
1 very unclear 2 unclear 3 fair 4 clear 5 very clear

4. Rate the usefulness of the lectures (förläsningar): average 3.84 (last year 4.13)
1 very useless 2 useless 3 fair 4 useful 5 very useful

5. Rate the usefulness of the course notes (kursbunt): 3.84 (last year 4.47)
1 very useless 2 useless 3 fair 4 useful 5 very useful

6. Rate the usefulness of the lab exercises (laborationer): 3.84 (last year 3.87)
1 very useless 2 useless 3 fair 4 useful 5 very useful

7. Did you find the teaching in english: average 3.16 (last year incomparable)
1 a great disadvantage 2 a disadvantage 3 neutral 4 an advantage

8. Were you satisfied with support in labs (redovisning, advice, etc)?: average 1.70 (last year 2.13)
1 very unsatisfied 2 satisfied 3 very satisfied

9. Overall, how satisfied with the course were you? average 2.00 (last year 2.50)
1 very unsatisfied 2 satisfied 3 very satisfied

Some typical comments:

10. If you could make changes to the course, how would you change it?

Optimise it (Minimise).

Lösningar till gamla tentamensuppgifter. (More solutions to old exam questions.)

Det är lite lågt tempo. Lite förvirrande MSC/UML (Slightly slow speed. Bit confusing with MSC/UML)

Det skulle behövas en bra bok med många exempel, som tar upp syntaxen av UML språken. (We need a good book with lots of examples which takes up the syntax of the UML language.)

Läxor med prestationskrav. (Compulsory marked homework.)

De problem och exempel uppgifter som togs upp på lektioner och föreläsningar var alla jättebra, men dessa borde ha varit bättre förberedda, helst upptryckta på papper. Ändra detta så blir det en kalas kurs. Altså jätte bra kurs förutom sagda. (The problems and examples which were taken up in examples classes and lectures were all really good, but they should have been better prepared, preferably printed on paper. Change this and is will be a fantastic course. Thus a really good course apart from the above point.)

Mer handledning under labben. (More support for the lab.)

Conclusions

According to the student survey figures, the general level of satisfaction with the course decreased slightly this year. There seems to be no obvious explanation for this in terms of changes to the course. In fact some factors, such as textbook support, were clearly improved. However, all current textbooks are now behind the curve with respect to the UML standard. The difficulty of finding qualified lab support for this course remains a nagging problem.

For next year, I will try to compact the course notes and add a little deeper material. This should pick up the pace and interest level in lectures.


Page editor: <karlm@nada.kth.se>
Last changed 10 November 2002
Technical support: <webmaster@nada.kth.se>