ABSTRACT
We propose the use of a new design-first approach called Problem Stereotypes and Solution Frameworks, for teaching CS1 and CS2. A problem stereotype is a category of problems that can be solved using similar techniques. A solution framework is a typical solution to a problem, parts of which can be reused to solve other problems of this stereotype. Students are introduced to a stereotype through a selection of related problems, and common features among these are identified. Homework problems are selected from the same stereotype, with students expected to follow the "recipe" provided by the given examples to generate their own solutions. Using this approach reduces the stress level for beginner students, and prevents them falling prey to the "CS is HARD" myth. We present the results of our experience with this approach in two introductory classes and an upper-division Artificial Intelligence (AI) class at SUNY Brockport.
- Barnes, D. J., Koelling, M., Objects First with Java: A Practical Introduction Using BlueJ, Upper Saddle River, NJ: Prentice-Hall, 2003. Google ScholarDigital Library
- Bennedsen, J., and Caspersen, M.E., Programming in Context - A Model-First Approach to CS1, Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, March 3--7th, 2004, Norfolk, VA, USA, pp.477--481. Google ScholarDigital Library
- Bergin, J., Fourteen Pedagogical Patterns, 2000, http://csis.pace.edu/~bergin/PedPat1.3.html, retrieved January 17, 2007.Google Scholar
- Clements, P., Northrup, L., Software Product Lines: Practices and Patterns, Boston, MA: Addison-Wesley Professional, 2002.Google Scholar
- Luger, G. F., Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 5th Edition, Boston, MA: Addison-Wesley, 2004. Google ScholarDigital Library
- Mitra, S., Rao, T.M., and Bullinger, T.A., Teaching Software Engineering Using a Traceability-Based Development Methodology, Journal of Computing in Colleges, 20(5), June 2005, pp.249--259. Google ScholarDigital Library
- Proulx, V. K., Gray, K. E., Design of Class Hierarchies -- An Introduction to OO Program Design, Proceedings of the 37th SIGCSE Technical Symposium on Computer Science Education, March 1-5-5-5th, 2006, Houston, TX, USA, pp. 288--292. Google ScholarDigital Library
- Rao, T.M. Using Java to teach AI, T.M. Rao, The Journal of Computing Sciences in Colleges, 18, 3 (Feb. 2003), 114--125. Google ScholarDigital Library
- Rao, T.M., Mitra, S., Canosa, R., Marshall, S., Bullinger, T., Problem Stereotypes and Solution Frameworks - A Design First Approach for the Introductory Computer Science Sequence The Journal of Computing Science in Colleges, 22, 6, (June 2007), 56--6 Google ScholarDigital Library
Index Terms
- An early software engineering approach to teaching cs1, cs2 and ai
Recommendations
An early software engineering approach to teaching cs1, cs2 and ai
SIGCSE 08We propose the use of a new design-first approach called Problem Stereotypes and Solution Frameworks, for teaching CS1 and CS2. A problem stereotype is a category of problems that can be solved using similar techniques. A solution framework is a typical ...
Teaching Computational Thinking Using Agile Software Engineering Methods: A Framework for Middle Schools
Computational Thinking (CT) has been recognized as one of the fundamental skills that all graduates should acquire. For this reason, motivational concerns need to be addressed at an early age of a child, and reaching students who do not consider ...
University-Industry Collaboration for Software Engineering Teaching
ICYCS '08: Proceedings of the 2008 The 9th International Conference for Young Computer ScientistsUniversity-Industry collaboration for teaching reformation in engineering disciplines is becoming more of concern among Chinese universities. In this paper, the development and value of university- industry collaboration for improving teaching is ...
Comments