•
Sect. 8.2)The lab-first teaching approach (
•
Sect. 8.3)Visualization and animation (
•
Sect. 8.4)Using the Internet in the teaching of computer science (
•
Sect. 8.5)Clearly, this is not an exhausting list and additional pedagogical ways exist that fit to be applied in the computer lab for computer science teaching; they do, however, represent a variety of usages, from which each instructor of the MTCS course can choose to address the ones that fit him or her own pedagogical approach.
8.2
What Is a Computer Lab?
A laboratory (lab) is a common concept in any science. For example, according to the Fourth Edition of The American Heritage® Dictionary of the English Language,1 a laboratory is
1. a. A room or building equipped for scientific experimentation or research b. An academic period devoted to work or study in such a place
2. A place for practice, observation, or testing
Another definition for a lab (similar in some senses to the first one) is “A place equipped for experimental study in a science or for testing and analysis.” (Merriam-Webster’s Medical Dictionary, © 2002 Merriam-Webster).
1 Copyright © 2000 by Houghton Mifflin Company, Published by Houghton Mifflin Company.
121 8.2 What Is a Computer Lab?
As can be seen, these definitions emphasize the experimental aspect of the lab, when experiment is defined by Fourth Edition of The American Heritage® Dictionary of the English Language, as
A test under controlled conditions that is made to demonstrate a known truth, examine the validity of a hypothesis, or determine the efficacy of something previously untried.
and the corresponding verb – experiment – is defined as follows:
1. To conduct an experiment
2. To try something new, especially in order to gain experience: experiment with new methods of teaching
The importance attributed to the lab is not limited to scientific research and is expressed also in the context of science teaching. The educational literature is full with praises on the advantages and contributions of laboratory work to the learning process. For example, Nersessian (1991) claims that “hands-on experience is at the heart of science learning”.
According to Ma and Nickerson (2006), “there is no doubt that lab-based courses play an important role in scientific education” (p. 2).
Specifically, in sciences, such as Biology, Chemistry, and Physics, experiments that learners perform in the lab aim, in many cases, to let the learners be active, rather than passive observers of the scientific world. This pedagogical target is achieved by the design of experiments that demonstrate and illustrate to the learners what is taught theoretically in the class (either before or after the lab experience), guide the learners to check hypothesis, train them how to perform experiments, let them practice data collection and analysis methods, teach them research skills, and foster their critical thinking.
In the context of computer science education, the lab concept is captured similarly but with several slight differences. First, the physical structure of the lab in the two cases – the lab in science teaching, such as Biology and Chemistry, and the lab in the case of computer science teaching – is different. Specifically, these two labs are different in terms of their equipment and its usage; while in the above sciences the equipment includes test tubes, materials, and other physical instruments that learners use to perform experiments, the image of the lab in the context of computer science education is a computer lab – a room with computers in which the learners work, mostly – program. As is illustrated in this chapter, this difference, however, should not change the value of the lab-based learning in the context of computer science education. For example, in Sect. 8.3, about the lab-first approach, we demonstrate how the computer lab serves as a place for carrying out experiments and checking hypotheses.
This perspective at the computer lab as a place, in which experiments are carried out, further highlights the scientific aspect of computer science (see Chap. 3). Indeed, as a sci- ence, computer science has its own scientific exploratory methods which include, as in other sciences, the experimental path that starts with hypothesis, continues with experiment and data gathering, and ends with the data analysis and conclusion formulation. We suggest that it is important to deliver this message to the prospective computer science teachers.
The lab in the context of computer science teaching and learning has several additional advantages:
Learners are familiar with how to work with the equipment in this lab, that is, how to
•
work with computers, so there is no need to teach them how to use this equipment.8 •
The work in the computer lab does not require the preparation of any physical material, so a computer science teacher can be flexible, and when observing that it is a suitable time to explore a specific topic with the computers, he or she can just ask learners to use the computers (if the lesson takes place in the lab).Since no physical material is required in the computer lab, budget constrains should not
•
limit or block the use of the lab for computer science learning purposes.In the computer lab, an experiment can be run many times, one after the other, with an
•
immediate feedback provided to learners by the computer.While not claiming that all computer science courses should be lab-based, most courses can benefit from the use of some well-designed laboratory components (Knox et al. 1996).
In these lessons, the teacher’s role is very important and required considerable preparation.
The teacher can demonstrate an experiment to the pupils, or alternatively, guide them, in an active learning manner, to explore a new topic. As has been asserted before in this Guide, the more learners are active, their learning is more meaningful and in the context of lab learning, the benefits of the lab as a learning environment are exploited more effi- ciently. It should be remembered, though, that the exact doze of lab-based teaching should be seriously considered in each case in order to vary the teaching methods employed in the said teaching situation. This important role of the teacher in lab-based teaching situations explains the importance of including this topic in the MTCS course.
Activities 51 and 52 illuminate the computer lab as a learning environment. During their facilitation, central themes of the computer lab, mentioned above, can be integrated.
Activity51:AnalyzingaComputerScienceLessonintheComputerLab
The students are presented with a video clip that takes place in the computer lab. After the clip is presented, the instructor of the MTCS course and the students analyze it, addressing questions such as: What is unique in this situation? In what ways does it differ from the traditional way of teaching computer science? What is the teacher’s role in this situation? The role of this discussion is to identify the advantages and challenges of learning and teaching computer science in the computer lab (as described above).
The advantages and the challenges involved in this learning environment are addressed also in the continuation of this chapter, with respect to the different usages of the computer lab in computer science education.
If such a clip is not available, a similar activity can be facilitated based on students’
observation of a real lesson that takes place in a high school computer lab. Prior to the actual observation, the students should be guided by questions such as: How does the teacher behave in the lesson? How are the lessons managed? How do pupils behave?
How do the pupils behave when they face difficulties? How are tasks presented to the pupils? Do pupils work individually, in pairs, in groups? If they work in groups, how is the work divided among the pupils in the group?
123 8.2 What Is a Computer Lab?
Activity52:A“Dry”Lab
This activity is inspired by The Little LISPer (Friedman and Felleisen 1986) book which demonstrates a pedagogical approach which is closely related to the construc- tivist approach present in Chap. 2. According to this approach learners can gain better understanding of the concepts they learn by forming their own definitions based on a guided exploration, than by being presented with well-defined terminology of the learned concepts by the teacher.
The students get the worksheet presented in Table 8.1, in which they are asked to reveal the meaning of the instructions of a programming language called DL (dry lab).
The worksheet is worked on without computers. In computer science classes, the worksheet can be worked on with respect to general programming languages.
After the worksheet is worked on by the students, it is important to facilitate a reflective session in which, in addition to the students’ exploration strategies, the question whether
Table 8.1 “Dry” lab worksheet Worksheet: The DL language
The following is a list of instructions in the DL programming language together with their output
Theinstruction Theoutput
DL.write [ 2008 ] 2008
DL.write [ # laboratory # ] laboratory
DL.write [ # the rules of # ! # DL are # ! # easy # ] the rules of DL are easy
DL.write [ 5*10 ! # shalom # ] 50 shalom
DL.write [ % x = 13% ! # x = # ! x ] x = 13 DL.write [ % x = 13% ! # x = 54 # ] x = 54 DL.write [ % x = 9% ! x ! % x = x+1% ! x*2 ] 9 20
DL.write [ # x = # ! x ] x = what?
DL.write [ y ] what?
DL.write [ # x = 9 # ! x ! # print end # ] x = 9 what?
Complete the following:
a. The output of an instruction of the pattern DL.write [number] is _______________
b. The output of an instruction of the pattern DL.write [# string #] is ______________
c. The output of an instruction of the pattern DL.write [arithmetic expres- sion] is _______________
d. The role of % is ___________
e. The role of ! is ___________
f. The message what? is written when ________________________
g. To get the output “DL.write is what?”, the following instruction(s) should be executed: ______________
h. To get the output: “what? = what?” , the following instruction(s) should be executed: ______________
(continued)
8
Activity52 (continued)this activity is a lab activity is examined. Another question that can be asked is what characterizes a good lab-based lesson.
In what follows we present a collection of statements, offered by a group of in-service high school computer science teachers after they had worked on the above worksheet, which reflects their associations with what a lab-based teaching is in the context of com- puter science. As can be observed from these statements, this activity can be considered as a trigger for the discussion about lab-based teaching.
Is the above activity a lab activity?
•
– Yes, it is a lab because it involves query, experience, activity, learning, knowl- edge construction.It is not a lab because we did not use computers; learners do not work with any
–
mediator and therefore it is impossible to really check [hypothesis].
It is a lab since a lab is everything that is based on active learning and not on
–
teacher presentation, and it also includes a teacher–student discourse.
A lab is a place to check hypothesis and something should be provided to the
–
learners to check whether they understood correctly; therefore, this worksheet is not a lab-based activity.
What is a good lab?
•
– A good lab integrates colors, shapes, sounds, and motion.In the positive implementation of a lab, the teacher is unemployed.
–
Students succeed learning computer science ideas.
–
Pupils teach pupils.
–
Pupils enjoy, are busy, concentrated, and have high spirits.
–
When a pupil says “now I got it”.
–
When a weak pupil has bright eyes.
–
Advanced pupils are well challenged.
–
Pupils invent solutions.
–
As can be observed, even though this activity focuses on a “dry” lab, it increases the teachers’ awareness to key terms of lab-based learning, such as, inquiry, experiment, checking hypothesis, learning, and knowledge construction.