A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
A project-intensive software design course
SIGCSE '93 Proceedings of the twenty-fourth SIGCSE technical symposium on Computer science education
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Programming pearls (2nd ed.)
Communications of the ACM
Viewpoint: the real reason why software engineers need math
Communications of the ACM
Design patterns explained: a new perspective on object-oriented design
Design patterns explained: a new perspective on object-oriented design
Leonardo's Laptop: Human Needs and the New Computing Technologies
Leonardo's Laptop: Human Needs and the New Computing Technologies
Software Engineering: An Object-Oriented Perspective
Software Engineering: An Object-Oriented Perspective
Software Design
Realism, style, and design: Packing it into a constrained course
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
Executable/Translatable UML in computing education
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Hi-index | 0.00 |
Learning to design software ahead of directly constructing it is a significant hurdle in a Software Engineering education. Our University has run a course in software design for second-year undergraduate students since 1994. We describe the evaluation and improvement of the course as it evolved from 2000 to 2003, from a focus on reverse engineering to forward design, to add design patterns and associated programming tasks, then has redefined its objectives and re-aligned the assessment tasks with them. We evaluated the course in four ways: by the distribution of final grades, subjective evidence on the quality of answers in the final examination, student satisfaction surveys, and comparison of students' final grades with other computing courses taken at the same time. The attempt to improve the course by introducing homework tasks on design patterns did not improve the outcomes. But re-aligning the assessment with the objectives, and introducing a component on requirements specification, improved on most measures.