ABSTRACT
Composition is a fundamental problem solving heuristic. In computer science, it primarily appears in program design with concrete objects such as language constructs. It also appears in more abstract forms in higher-level courses. One such form is that of language concatenation in the Computational Models course. This concatenation involves the composition of two specifications of infinite sets (source languages) into a third one, and requires both abstraction and non-deterministic conception. In this paper, we illuminate behaviors of advanced high school students, with such composition. Students who encountered difficulties offered pseudo solutions, which enclosed only "surface" features and observations. We orderly display their solutions, discuss them, and offer suggestions for educators to cope with this phenomenon.
- Armoni, M. and Gal-Ezer, J. (2006). Introducing non-determinism, Journal of Computers in Mathematics and Science Teaching, 25(4), 325--359.Google Scholar
- Armoni M. and Gal-Ezer, (2006). Reduction -- an abstract thinking pattern: the case of the computational models course, SIGCSE'06, 389--394. Google ScholarDigital Library
- Armoni, M. and Gal-Ezer, J. (2007). Non-determinism: an abstract concept in computer science studies, Computer Science Education, 17(4), 243--262.Google ScholarCross Ref
- Astrachan, O., Berry, G., Cox, L., and Mitchener, G. (1998). Design patterns: an essential component of CS Curricula. SIGCSE'98, 153--160. Google ScholarDigital Library
- Hazzan, O. (1999). Reducing abstraction level when learning abstract algebra concepts, Educational Studies in Mathemartics, 40, 71--90.Google ScholarCross Ref
- Hazzan, O. (2003). How students attempt to reduce abstraction in the learning of mathematics and in the learning of computer science, Computer Science Education 13(2), 95--122.Google ScholarCross Ref
- Muller, O., Ginat, D., and Haberman, B. (2007). Pattern-oriented instruction and its influence on problem decomposition and solution construction, ITiCSE'07, 151--155. Google ScholarDigital Library
- Polya, G. (1954). How to Solve It. Princeton University Press.Google Scholar
- Schank, P. K., Linn, C. M., and Clancy, J. M. (1993). Supporting Pascal programming with an on-line template library and case studies, International Journal of Man-Machine Studies, 38(6), 1031--1048. Google ScholarDigital Library
- Schoenfeld, A. E. (1992). Learning to think mathematically: problem solving, metacognition, and sense making in mathematics, in Grouws D. A. (ed.), Handbook of Research on Mathematics Teaching and Learning, 334--370.Google Scholar
- Soloway, E. (1986). Learning to program=learning to construct mechanisms and explanations. Communications of the ACM, 29(9), 1031--1048. Google ScholarDigital Library
- Sphorer, J., Soloway, E., and Pope, E. (1985). A goal/plan analysis of buggy Pascal programs. Human-Computer Interaction, 1(2), 163--207. Google ScholarDigital Library
- Wing, J. (2006). Computational thinking. Communications of the ACM, 49(3), 33--35.. Google ScholarDigital Library
Index Terms
- Pseudo abstract composition: the case of language concatenation
Recommendations
Towards the Composition of Specifications in Event-B
The development of a system can start with the creation of a specification. Following this viewpoint, we claim that often a specification can be constructed from the combination of specifications which can be seen as composition. Event-B is a formal ...
A power-set construction for reducing Büchi automata to non-determinism degree two
Buchi automata are finite automata that accept languages of infinitely long strings, so-called @w-languages. It is well known that, unlike in the finite-string case, deterministic and non-deterministic Buchi automata accept different @w-language classes,...
Reduction -- an abstract thinking pattern: the case of the computational models course
SIGCSE '06: Proceedings of the 37th SIGCSE technical symposium on Computer science educationAbstraction has been the focus of many researches in mathematics education and to some extent in computer science education. Abstract thinking characterizes the theoretical foundations of computer science, where reduction is one important abstract ...
Comments