Abstract
This chapter focuses on computer science teaching methods that fit especially to be employed in the computer lab. The uniqueness of the computer lab as a learning environment for computer science is explained by the fact that it enables learners to explore their problem solving strategies, to express their solutions to a given problem, to get feedback regarding to the correctness of their solution and to reflect on it, to develop large projects, to explore new topics, and to deepen their understanding of the nature of the algorithms they develop. The aim of the lessons in the MTCS course that are dedicated to this topic is to expose the students to usages of the computer lab as a learning environment and to let them realize how it may improve their future pupils’ understanding of computer science ideas. One of the main messages of this chapter is that the learning of computer science in the computer lab is not limited to programming tasks; rather, the computer lab can be used in additional pedagogical ways that further enhance learners’ understanding of computer science. Specifically, the following topics are addressed in this chapter: what is a computer lab?, the lab-first teaching approach, visualization and animation, and using the Internet in the teaching of computer science.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Copyright © 2000 by Houghton Mifflin Company, Published by Houghton Mifflin Company.
- 2.
- 3.
- 4.
Source: http://cs.joensuu.fi/jeliot/
- 5.
- 6.
Source: http://www.alice.org/
- 7.
Source: http://www.greenfoot.org/
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
See also TOCE special issue on Initial Learning Environments (November 2010, vol. 10(4)).
- 14.
- 15.
References
Ben-Bassat Levy R, Ben-Ari M (2007) We work so hard and they don’t use it: Acceptance of software tools by teachers. Proc. of the 12th Annu. SIGCSE Conf. on Innov. and Technol. in Comput. Sci. Educ., Dundee, Scotland, UK; 246–250
Ben-Bassat Levy R, Ben-Ari M (2008) Perceived behavior control and its influence on the adoption of software tools. Proc. of the 13th Annu. SIGCSE Conf. on Innov. and Technol. in Comput. Sci. Educ., Madrid, Spain: 169–173
Friedman D P, Felleisen M (1986) The little LISPer. Science Research Associates, Inc
Knox D, Wolz U, Joyce D et al (1996) Use of laboratories in computer science education: guidelines for good practice. Rep. of the Work. Group on Comput. Laboratories. Integrating Tech. into C.S.E. 6/96 Barcelona, Spain
Lapidot T, Hazzan O (2005) Song debugging: Merging content and pedagogy in Computer Science education. Inroads – the SIGCSE Bull. 37(4): 79–83
Ma J, Nickerson J V (2006) Hands-on, simulated, and remote laboratories: A comparative literature review. ACM Comput. Surv. 38(3), Article 7
Myller N, Bednarik R, Sutinen E et al (2009) Extending the engagement taxonomy: Software visualization and collaborative learning. Trans. Comput. Educ 1(9): 1–27
Naps T, Rößling G, Almstrum V et al (2003) Exploring the role of visualization and engagement in computer science education. SIGCSE Bull. 35(2): 131–152
Nersessian N J (1991) Conceptual change in science and in science education. In Matthews M R (ed.). History, philosophy, and science teaching. OISE Press, Toronto, Canada, 133–148
Papert S (1980) Mindstorms: Children, computers and powerful ideas. Basic Books Inc
Paz T (2006). Introduction to computer science in Java, worksheet collection (Hebrew)
Perkins D N, Martin F (1986) Fragile knowledge and neglected strategies in novice programmers. In Soloway E, Iyengar S. (eds.). Empir. Stud. of Program. Norwood, NJ: Ablex Publishing Co.: 213–229
Price B, Baecker R, Small I (1998) An introduction to software visualization. In Stasko J, Domingue J, Brown, M, Price B (eds). Softw. Vis.: 3–27, Cambridge, MA: MIT Press
Rössling G J, Velázquez-Iturbide J Á (2009) Editorial: Program and algorithm visualization in education. ACM Trans. on Comput. Edu. (TOCE) 9(2)
Shaffer C A, Cooper M L, Alon A J D et al (2010) Algorithm visualization: The state of the field, ACM Trans. on Comput. Educ. 9:2–9:22
Spohrer J G, Soloway E (1986) Analyzing the high frequency bugs in novice programs. In Soloway E, Iyengar S (eds.) Empir. Stud. of Program., Norwood, NJ: Ablex: 230–251
Taghavi T, Thompson M, Pimentel A D (2009) Visualization of computer architecture simulation data for system-level design space exploration. embedded computer systems: Architectures, modeling, and simulation. Lect. Notes in Comput. Sci., Vol. 5657/2009: 149–160
Urquiza-Fuentes J, Velázquez-Iturbide J Á (2009) A survey of successful evaluations of program visualization and algorithm animation systems. ACM Trans. on Comput. Edu. (TOCE) 9(2)
Yehezkel C, Ben-Ari M, Dreyfus T (2007) The contribution of visualization to learning computer architecture. Comput. Sci. Educ 2(17):17–27
Yehezkel C (2002) A taxonomy: Visualization of computer architecture. SIGCSE Bull 34(3):101–105
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2011 Springer-Verlag London Limited
About this chapter
Cite this chapter
Hazzan, O., Lapidot, T., Ragonis, N. (2011). Lab-Based Teaching. In: Guide to Teaching Computer Science. Springer, London. https://doi.org/10.1007/978-0-85729-443-2_8
Download citation
DOI: https://doi.org/10.1007/978-0-85729-443-2_8
Published:
Publisher Name: Springer, London
Print ISBN: 978-0-85729-442-5
Online ISBN: 978-0-85729-443-2
eBook Packages: Computer ScienceComputer Science (R0)