Skip to main content

Lab-Based Teaching

  • Chapter
  • First Online:
Guide to Teaching Computer Science

Abstract

This chapter focuses on computer science teaching methods that fit especially to be employed in the computer lab, where all learners work on computers (either on the school’s computer in a specific room or on their own laptops). 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 main purpose of the lessons in the MTCS course 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 online resources in computer science teaching.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 84.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Copyright © 2000 by Houghton Mifflin Company, Published by Houghton Mifflin Company.

  2. 2.

    Source: http://en.wikipedia.org/wiki/Software visualization.

  3. 3.

    http://www.jflap.org/

  4. 4.

    See http://algoviz.org/

  5. 5.

    Source: http://cs.joensuu.fi/jeliot/

  6. 6.

    Source: http://www.bluej.org/download/download.html

  7. 7.

    See TOCE special issue on Initial Learning Environments (November 2010, vol. 10(4)) for a broader discussion of IDEs.

  8. 8.

    See http://www.alice.org/

  9. 9.

    See http://www.greenfoot.org/

  10. 10.

    See http://csis.pace.edu/~bergin/KarelJava2ed/Karel++JavaEdition.html

  11. 11.

    See http://www.microworlds.com/

  12. 12.

    See http://scratch.mit.edu/

  13. 13.

    See http://www.squeak.org/

  14. 14.

    See https://education.mit.edu/project/starlogo-tng/

  15. 15.

    Source: http://coweb.cc.gatech.edu/mediaComp-teach

  16. 16.

    See http://coweb.cc.gatech.edu/mediaComp-teach

  17. 17.

    https://docs.oracle.com/javase/tutorial/

  18. 18.

    https://www.tutorialspoint.com/java/index.htm

  19. 19.

    https://www.youtube.com/watch?v=MfhjkfocRR0

References

  • Alqadi BS, Maletic JI (2017) An empirical study of debugging patterns among novices programmers. In: Proceedings of the 2017 ACM SIGCSE technical symposium on computer science education (SIGCSE ‘17). ACM, New York, pp 15–20

    Google Scholar 

  • Ben-Bassat Levy R, Ben-Ari M (2007) We work so hard and they don’t use it: acceptance of software tools by teachers. In: Proceedings of the 12th annual SIGCSE conference on innovation and technology in computer science education, Dundee, Scotland, UK, pp 246–250

    Google Scholar 

  • Ben-Bassat Levy R, Ben-Ari M (2008) Perceived behavior control and its influence on the adoption of software tools. In: Proceedings of the 13th annual SIGCSE conference on innovation and technology in computer science education, Madrid, Spain, pp 169–173

    Google Scholar 

  • Buck JW, Perugini S (2018) An interactive, graphical simulator for teaching operating systems. In: Proceedings of the 50th ACM technical symposium on computer science education, Minneapolis, MN, USA, pp 1290. https://doi.org/10.1145/3287324.3293756

  • Friedman DP, Felleisen M (1986) The little LISPer. Science Research Associates, Inc. New York

    Google Scholar 

  • Ilves K, Leinonen J, Hellas A (2018) Supporting self-regulated learning with visualizations in online learning environments. In: Proceedings of the 49th ACM technical symposium on computer science education, Baltimore, Maryland, USA, pp 257–262. https://doi.org/10.1145/3159450.3159509

  • Knorr EM, Thompson C (2017) In-Lab programming tests in a data structures course in C for non-specialists. In: Proceedings of the 2017 ACM SIGCSE technical symposium on computer science education, Seattle, Washington, USA, pp 339–344. https://doi.org/10.1145/3017680.3017766

  • 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

    Google Scholar 

  • Koning E, Adams JC, Hazlett CD (2018) Visualizing classic synchronization problems. In: Proceedings of the 50th ACM technical symposium on computer science education, Minneapolis, MN, USA, pp 1293. https://doi.org/10.1145/3287324.3293708

  • Lapidot T, Hazzan O (2005) Song debugging: merging content and pedagogy in computer science education. Inroads – SIGCSE Bull 37(4):79–83

    Article  Google Scholar 

  • Lee MJ (2013) How can a social debugging game effectively teach computer programming concepts? ICER‘13, San Diego CA USA, pp 181–182

    Google Scholar 

  • Ma J, Nickerson JV (2006) Hands-on, simulated, and remote laboratories: a comparative literature review. ACM Comput Surv 38(3). Article 7

    Google Scholar 

  • Mohammed M, Shaffer AS, Rodger SH (2018) Using interactive visualization and programmed instruction to teach formal languages. In: Proceedings of the 50th ACM technical symposium on computer science education, Minneapolis, MN, USA, pp 1263. https://doi.org/10.1145/3287324.3293795

  • Myller N, Bednarik R, Sutinen E et al (2009) Extending the engagement taxonomy: software visualization and collaborative learning. Trans Comput Educ 9(1):1–27

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Nersessian NJ (1991) Conceptual change in science and in science education. In: Matthews MR (ed) History, philosophy, and science teaching. OISE Press, Toronto, pp 133–148

    Google Scholar 

  • Papert S (1980) Mindstorms: children, computers and powerful ideas. Basic Books Inc., New York

    Google Scholar 

  • Paul J (2015) Using JFLAP to engage students and improve learning of computer science theory: tutorial presentation. J Comput Sci Coll 31(2):145–148

    Google Scholar 

  • Paz T (2006). Introduction to computer science in Java, worksheet collection (Hebrew)

    Google Scholar 

  • Perkins DN, Martin F (1986) Fragile knowledge and neglected strategies in novice programmers. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex Publishing Co., Norwood, pp 213–229

    Google Scholar 

  • Petre M (2011) Online Experimentation. ACM Inroads 2(1):18–19

    Article  Google Scholar 

  • Price B, Baecker R, Small I (1998) An introduction to software visualization. In: Stasko J, Domingue J, Brown M, Price B (eds) Software visualization. MIT Press, Cambridge, MA, pp 3–27

    Google Scholar 

  • Rodger HS, Wiebe E, Min Lee K, Morgan C, Omar K, Su J (2009) Increasing engagement in automata theory with JFLAP. SIGCSE Bull 41(1):403–407. https://doi.org/10.1145/1539024.1509011

    Article  Google Scholar 

  • Rössling GJ, Velázquez-Iturbide JÁ (2009) Editorial: program and algorithm visualization in education. ACM Trans on Comput Edu (TOCE) 9(2)

    Google Scholar 

  • Shaffer C A, Cooper M L, Alon A J D et al (2010) Algorithm visualization: the state of the field, ACM Trans Comput Educ. 9:2–9:22

    Google Scholar 

  • Spohrer JG, Soloway E (1986) Analyzing the high frequency bugs in novice programs. In: Soloway E, Iyengar S (eds) Empirical studies of programmers. Ablex, Norwood, pp 230–251

    Google Scholar 

  • Taghavi T, Thompson M, Pimentel AD (2009) Visualization of computer architecture simulation data for system-level design space exploration. In: Bertels K, Dimopoulos N, Silvano C, Wong S (eds) Embedded computer systems: architectures, modeling, and simulation. Lecture Notes in Computer Science, vol 5657. Springer, Berlin/Heidelberg, pp 149–160

    Google Scholar 

  • Urquiza-Fuentes J, Velázquez-Iturbide JÁ (2009) A survey of successful evaluations of program visualization and algorithm animation systems. ACM Trans Comput Edu (TOCE) 9(2)

    Google Scholar 

  • Walker HM (2011). A lab-based approach for introductory computing that emphasizes collaboration. In: Proceeding of CSERC ‘11 computer science education research conference, Heerlen, Netherlands, pp 21–31

    Google Scholar 

  • Yehezkel C (2002) A taxonomy: visualization of computer architecture. SIGCSE Bull 34(3):101–105

    Article  Google Scholar 

  • Yehezkel C, Ben-Ari M, Dreyfus T (2007) The contribution of visualization to learning computer architecture. Comput Sci Educ 17(2):17–27

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Hazzan, O., Ragonis, N., Lapidot, T. (2020). Lab-Based Teaching. In: Guide to Teaching Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-030-39360-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-39360-1_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-39359-5

  • Online ISBN: 978-3-030-39360-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics