ABSTRACT
Introductory computer science courses often focus on language specifics as opposed to general concepts applicable in multiple languages. Often design issues are raised and discussed during the last week of a semester long course, or emphasized in tidbits interwoven with discussions of implementation issues. In many cases, students are exposed to design concepts before they are ready to learn design.We propose a measure of assessing "design readiness"- an assessment of the cognitive state where one is able to understand design abstractly. We will then use programming and design patterns to assist in teaching critical design concepts. This research is an attempt to address the question, can we improve a student's chance of success in learning design concepts by adjusting instruction to his/her level of design readiness? In an attempt to answer this question, we will concentrate on the following challenges (1) are programming and design patterns an effective approach to teaching object-oriented design (OOD)? If so, will an expert-defined ordering of exposure to patterns enhance learning impacts? (2) Are there characteristics of a student's background or cognitive state that makes him/her "ready" to learn design concepts and skills of OOD? If so, can these measures be used to adjust a student's design instruction to increase its effectiveness?
- Athman, C. Adam, R. and Turns, J. (2000). Using Multiple Methods to Evaluate a Freshman Design Course. Frontiers in Education Conference. Kansas City, MO. Google ScholarDigital Library
- Booch, G. (1994) Object-Oriented Analysis and Design with Applications Second Edition. Benjamin/Cummings, Redwood City, CA. Google ScholarDigital Library
- Buck, D. and Stucki, D. (1990) Design Early Considered Harmful: Graduated Exposure to Complexity and Structure Based on levels of Cognitive Development. SIGCSE 2000, Austin, TX, pp 75--79. Google ScholarDigital Library
- Clay, M. (1992). Becoming literate: The construction of inner control. Portsmouth, NH: Heinemann.Google Scholar
- Gamma, E., Helm, R., Johnson, R., and Vlissides, J.(1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, MA. Google ScholarDigital Library
- Lutz, M. (1999.). Using Patterns to Teach Software Subsystem Design. 29th ASEE/IEEE Frontiers in Education Conference, San Juan, Puerto Rico, session 11b4-21.Google ScholarCross Ref
- Northrop, L. M. (1993). Finding an Educational Perscpective for Object-Oriented Development. Computer Science Education 4(1), pg.5--12. Google ScholarDigital Library
- Proulx, V. (2000). Programming Patterns and Design Patterns in the Introductory Computer Science Course. SIGCSE '00. Austin, TX. Google ScholarDigital Library
- Rosson, M. B. (1996). Chapter 92: The Human Factor in Programming and Software Development. The Computer Science and Engineering Handbook. Boca Raton, FL: CRC Press, pp 1596--1617.Google Scholar
- Rosson, M. B. and Carroll, J. M. (1997). Expertise and instruction in software development. In M. Helander & T. K. Landauer (Eds.) Handbook of Human-Computer Interaction, Second Edition. Amsterdam: North Holland, pp. 1105--1126.Google Scholar
- Shaw, M., Garlan, D. (1996). Software Architecture Perspectives On An Emerging Discipline. Upper Saddle River, NJ: Prentice Hall, Inc. Google ScholarDigital Library
- Simon, H. A. (1973). The Structure of Ill-structured Problems. Artificial Intelligence, 4 (1), pp 181--201.Google ScholarCross Ref
- Wallingford, E. (1996). Towards a First Course on Object-Oriented Patterns. SIGCSE, Philadelphia, PA. Google ScholarDigital Library
- Vlissides, J. M., Coplien, J. O., and Kerth, N. L. (1996). Patterns Languages of Program Design. Addison-Wesley (Software Patterns Series). Google ScholarDigital Library
- A measure of design readiness: using patterns to facilitate teaching introductory object-oriented design
Recommendations
A measure of design readiness: using patterns to facilitate teaching introductory object-oriented design
OOPSLA '02: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsIntroductory computer science courses often focus on language specifics as opposed to general concepts applicable in multiple languages. Often design issues are raised and discussed during the last week of a semester long course, or emphasized in ...
Reflecting on online learning designs using observed behavior
ITiCSE '10: Proceedings of the fifteenth annual conference on Innovation and technology in computer science educationEducators, as designers of resources, experiences, and environments for learning, make judgments and assumptions about learners and how design choices will affect them. While some uncertainties can be resolved through the design process, others must be ...
A different kind of programming languages course
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applicationsThe complexity of the well-explored regions of the programming language design space has increased substantially in the last twenty-five years with the addition of a large number of object-oriented programming languages (OOPLs). This design domain was ...
Comments