Fundamentals of software engineering
Fundamentals of software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The role of experimentation in software engineering: past, current, and future
Proceedings of the 18th international conference on Software engineering
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Teaching data structure design patterns
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Agile Software Development: Principles, Patterns, and Practices
Agile Software Development: Principles, Patterns, and Practices
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
Object orientation in CS1-CS2 by design
Proceedings of the 7th annual conference on Innovation and technology in computer science education
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions
IEEE Transactions on Software Engineering
Using Coupling Measurement for Impact Analysis in Object-Oriented Systems
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Experiences with teaching design patterns
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Teaching inter-object design patterns to freshmen
Proceedings of the 36th SIGCSE technical symposium on Computer science education
A Survey of Controlled Experiments in Software Engineering
IEEE Transactions on Software Engineering
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Identifying novice difficulties in object oriented design
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Let's modify the objects-first approach into design-patterns-first
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
A course in software development
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Killer "killer examples" for design patterns
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Learning systems design with UML and patterns
IEEE Transactions on Education
Quality Patterns for Conceptual Modelling
ER '08 Proceedings of the 27th International Conference on Conceptual Modeling
Integrating antipatterns into the computer science curriculum
Journal of Computing Sciences in Colleges
A case of visitor versus interpreter pattern
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Hi-index | 0.00 |
Design patterns have become a widely acknowledged software engineering practice and therefore have been incorporated in the curricula of most computer science departments. This paper presents an observational study on students' ability to understand and apply design patterns. Within the context of a postgraduate software engineering course, students had to deliver two versions of a software system; one without and one with design patterns. The former served as a poorly designed system suffering from architectural problems, while the latter served as an improved system where design problems had been solved by appropriate patterns. The experiment allowed the quantitative evaluation of students' preference to patterns. Moreover, it was possible to assess students' ability in relating design problems with patterns and interpreting the impact of patterns on software metrics. The overall goal was to empirically identify ways in which a course on design patterns could be improved.