Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Design patterns: an essential component of CS curricula
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Using course-long programming projects in CS2
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Myths about object-orientation and its pedagogy
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Positive experiences with an open project assignment in an introductory programming course
Proceedings of the 25th International Conference on Software Engineering
Teaching objects early and design patterns in Java using case studies
Proceedings of the 8th annual conference on Innovation and technology in computer science education
Wanted: CS1 students. no experience required
Proceedings of the 35th SIGCSE technical symposium on Computer science education
We claim this class for computer science: a non-mathematician's discrete structures course
Proceedings of the 35th SIGCSE technical symposium on Computer science education
MODeLeR: multimedia object design learning resource
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Programming in context: a model-first approach to CS1
Proceedings of the 35th SIGCSE technical symposium on Computer science education
Using a maze case study to teach: object-oriented programming and design patterns
ACE '04 Proceedings of the Sixth Australasian Conference on Computing Education - Volume 30
Ancestor worship in CS1: on the primacy of arrays
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
An approach to teaching object oriented design in CS2
Journal of Computing Sciences in Colleges
Experience with an industry-driven capstone course on game programming: extended abstract
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Green: a customizable UML class diagram plug-in for eclipse
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Green: a customizable UML class diagram plug-in for eclipse
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Green: a pedagogically customizable round-tripping UML class diagram Eclipse plug-in
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Through the looking glass: reflections on using undergraduate teaching assistants in CS1
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Proceedings of the 37th SIGCSE technical symposium on 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
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
minimUML: A minimalist approach to UML diagramming for early computer science education
Journal on Educational Resources in Computing (JERIC)
An open-source CVE for programming education: a case study
SIGGRAPH '05 ACM SIGGRAPH 2005 Courses
Fundamental concepts of CS1: procedural vs. object oriented paradigm - a case study
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Team-based pedagogy for CS102 using game design
ACM SIGGRAPH 2007 educators program
An empirical study on students' ability to comprehend design patterns
Computers & Education
Abstraction ability as an indicator of success for learning computing science?
ICER '08 Proceedings of the Fourth international Workshop on Computing Education Research
Scaffolding for multiple assignment projects in CS1 and CS2
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Another approach for the teaching of the foundations of programming using UML and Java
CEA'09 Proceedings of the 3rd WSEAS international conference on Computer engineering and applications
PatternCoder: A Programming Support Tool for Learning Binary Class Associations and Design Patterns
ACM Transactions on Computing Education (TOCE)
Ray tracing as an object-oriented example for CS 1
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
This paper argues for a design driven approach to an object-oriented CS1-CS2 sequence in which object-orientation is thematic. Our approach integrates several components: (i) a strong object-oriented approach, (ii) design using UML, (iii) design patterns to manage complexity, and (iv) complex examples and projects to motivate the use of object-orientation and to motivate students by solving non-trivial problems. While this is a "programming-first" approach to CS1-CS2, it addresses several disadvantages of programming-first approaches noted in CC2001 [7]. The approach focuses on design rather than syntax, so students do not lose sight of the forest for the trees. We use (relatively speaking) large and complex examples, especially in the CS2 course, which allows us to address in a meaningful way issues of programming in the large. Because the approach is design driven and heavily object oriented, the course is not biased against novices in favor of students with prior programming experience, since CS1 students with prior programming experience typically have no design experience and only procedural programming experience.