Вы находитесь на странице: 1из 9

Teaching a CS introductory course: An active approach

Isabel C. Moura
a,
*
, Natascha van Hattum-Janssen
b,1
a
Department of Information Systems, School of Engineering, University of Minho, Campus Azurm, 4800-058 Guimares, Portugal
b
Research Centre in Education, Institute of Education, University of Minho, Campus Gualtar, 4710-057 Braga, Portugal
a r t i c l e i n f o
Article history:
Received 26 January 2010
Received in revised form
7 September 2010
Accepted 14 September 2010
Keywords:
Teaching/learning strategies
Country-specic developments
Cooperative/collaborative learning
Programming and programming languages
Improving classroom teaching
a b s t r a c t
Computer Science (CS) introductory courses that are offered by the Department of Information Systems
at the University of Minho (UM), Portugal, seem to abound in non-motivated students. They are char-
acterized by high failure and withdrawal rates and use mainly deductive teaching approaches. Deductive
instruction begins with theories and progresses to applications of those theories. Active approaches to
teaching are more inductive. Inductive instruction begins with the presentation of, for instance, a specic
problem that introduces a topic, and theories are studied on a need-to-know basis. This pilot study
describes how active learning techniques have been successfully applied to a CS introductory course,
reducing its failure and withdrawal rates. The study portrays the changes in the course from teacher-
centered education to a learner-centered approach, using two different editions of the same course, the
rst one being teacher-centered and the second learner-centered. The results in terms of success, failure,
and dropout are given and the impact of a more student-centered approach on student involvement in
learning is analyzed. The authors discuss implications of student-centered learning for the classroom and
pay attention to some of the drawbacks of an implementation more focused on active learning.
2010 Elsevier Ltd. All rights reserved.
1. Introduction
At the UM, School of Engineering, students who chose to graduate in Business Informatics, which is a ve-year degree program, must
major in Computer Science (CS) and Economics and Management Sciences (EMS). Still, they seem to lack motivation for the degrees CS
introductory courses. The high failure and withdrawal rates associated to these courses in the years that preceded 2007 may explain an
important part of this motivation problem.
Programming Languages 1 (PL17103), which is a CS introductory course of the second year of Business Informatics studies offered by the
Department of Information Systems, was mandatory to all Business Informatics students. Prior to 2007, this course had been taught using
a mainly deductive approach. It was a teacher-centered course. Teacher authority was taken for granted, which may have negatively affected
students motivation, condence, and enthusiasm. The balance of power, as described by Weimer (2002) used to be on the teachers side.
The pace, the structure, and the assessment of this CS introductory course were usually controlled by the teacher and as such students were
not recognized as self-regulated learners. Covering content was usually a concern of the instructors, even though this did not mean that
learning was happening. It might have even prevented the development of learning skills. When students are constantly exposed to content
through the instructor, they do not have sufcient opportunity to interact with the content in a meaningful way. Furthermore, the teacher
functioned as exclusive content expert or authoritarian classroom manager (Weimer, 2002). In practice, instructors would: lecture on CS
skills and concepts; show generic examples to illustrate applications of these CS topics; give teams of students practice in similar appli-
cations by assigning them basic programming lab exercises and small well-structured term problems (which were solved both in class and
at home); and test students individual ability to do the same sorts of things on exams (Prince & Felder, 2006, 2007).
Current research in education, namely constructivist based theories, has demonstrated that effectiveness of learning is largely dependent
on the ability to promote the immersion of the learner in authentic situations. In this view, learning in general and learning to solve
problems is a process of individual and collaborative exploration addressed to real context of implementation (Leo, Machado, Pereira,
* Corresponding author. Tel.: 351 253510266; fax: 351 253510300.
E-mail addresses: icm@dsi.uminho.pt (I.C. Moura), nvanhattum@iep.uminho.pt (N. van Hattum-Janssen).
1
Tel.: 351 253604687; fax: 351 253604248.
Contents lists available at ScienceDirect
Computers & Education
j ournal homepage: www. el sevi er. com/ l ocat e/ compedu
0360-1315/$ see front matter 2010 Elsevier Ltd. All rights reserved.
doi:10.1016/j.compedu.2010.09.009
Computers & Education 56 (2011) 475483
Paulo, & Teixeira, 2008; Smith, Sheppard, Johnson, & Johnson, 2005). Therefore, the relevance of basic programming skills is often revealed
as students attempt to solve more complex problems, for instance, in the context of EMS. As a consequence, many students tend to regard
traditional CS introductory courses as of no value and/or utility. This might be another reason why these CS courses failed to motivate
students (Forte & Guzdial, 2005; Prince & Felder, 2007).
Active approaches to teaching and learning (introducing skills, concepts, and methods on a need-to-know basis in the context of
challenge questions) enable the student to take responsibility for learning and acknowledge the constructivist views of learning, empha-
sizing that the student is the only one who can be responsible for learning. Teachers can do a lot to facilitate learning, but they cannot take
over student learning. These approaches help teachers to involve the student in the learning process and shift the responsibility to the
students. The more involved students get in their own learning process, the more likely they are to achieve their goals and succeed.
A stronger motivation among students on CS introductory courses may lead to an increased interest in CS and a higher achievement (Forte &
Guzdial, 2005; Prince & Felder, 2006, 2007; Schunk, 2003; Smith et al., 2005; Weimer, 2002).
In the spring semester of 2007, the PL17103 course was presented in accordance with active instructional methods. It was taught to a total
of about 170 students divided in two recitation groups for theoretical sessions and in recitation groups of 2025 for lab sessions. It was
a Java-based course that covered design process and documentation through using and programming important object-oriented (OO)
concepts (e.g., encapsulation and inheritance). During theoretical sessions well-structured problems and the corresponding coded
solutions were used to introduce OO/Java skills and concepts. During lab sessions (and also at home) an open-ended ill-structured term
project provided the context for teams of three students to apply course material. Students were expected to have prior experience with
working in teams since this is common in many courses of the Business Informatics studies (e.g., in the freshman and sophomore years).
Therefore, no specic training in team functioning was provided and teams were allowed to form themselves and lasted for the whole
semester. In order to evaluate the different stages of development of the project, each team was required to turn in two midterm essays
(which consisted of software analysis, design, and development activities) and a nal report (documenting on a full Java version of the term
project in operation). To try to promote individual accountability for understanding what their team did, rst, each team member was
randomly asked to present and explain teamresults by the time project assignments were due. Secondly, each student was required to solve
a basic programming exercise on a computer at the end of the semester.
This pilot study reports on the impact that the implementation of active learning in the PL17103 course (at the UMin the spring semester
of 2007) had on the courses failure and withdrawal rates, and students academic achievements. The next section summarizes the related
literature on student-centered learning and active learning in higher education. Method and results are then presented. A discussion follows
on this pilot studys results and potential ways of improving the implementation of active learning in a CS introductory course.
2. Theoretical background
Learning a programming language requires motivated students (Budd, 2006; Forte & Guzdial, 2005). The motivation of students for
a learning task is dened by the likeliness of achieving the goals and the importance that students attribute to the success. If students have
a good chance to succeed, their motivation will increase, and if failure is likely to happen, motivation of students decreases (Schunk, 2003).
In order to succeed, students need to achieve deeper levels of understanding that require involvement in learning. A focus on learning
outcomes and a strong engagement of students in their own learning process are the main characteristics of student-centeredness. Students
engaged in their own learning process cannot be passive listeners in a classroom that is completely run by the teacher. For education to be
learner-centered students need to be actively involved in learning activities; their learning needs to be active learning. Student-centered
learning and active learning are two highly interrelated concepts.
On the one hand, student-centered learning emphasizes the role of the student contrasted with the one of the teacher. It refers to
teaching, learning, and assessment and the context in which learning takes place. It is a comprehensive concept in which the needs and
interests of the learners are the starting point, instead of those of the teachers. The experiences and motivations of students and the way
students use these to pursue the learning outcomes. Freedom to explore materials based on personal interest and motivation, freedom to
make choices with regard to methods and assessment are some of the elements of student-centered learning (Schunk, 2003), also high-
lighted by Weimer (2002). She identies ve key elements of change towards a learner-centered practice.
Firstly she discusses the balance of power. Traditionally, power in education is with the teacher. Student-centered learning means a shift
of power fromthe teacher to the student, trusting in the ability of the student to make decisions about his learning processing. This is about
a share of power, rather than a complete transfer. The second key element of student-centered learning is the function of content. Weimer
(2002) argues that a strong content orientation can block learning. But, learning about learning and learning content simultaneously is
a different way of looking at content in learning. Developing learning skills through active learning helps students to construct knowledge
more effectively in the end; she gives a number of guidelines to improve the content-learning relationship. Thinking developmentally and
being oriented at the continuous development of learning skills is the rst one. Secondly, the inclusion of short activities, focused on self-
awareness is defended. She also argues that target skills should be made explicit, in order to avoid an overload of skills for the students.
Priorities need to be identied. The role of the teacher is a third key element in student-centered learning. The focus of faculty needs to be on
learning to become aware of how teaching inuences learning. Faculty facilitates learning and is no longer the center of attention. The
responsibility for learning needs to be accepted by students, as a fourth key element of student-centered learning. Teachers can create
conditions and help students to be willing to learn, but the students have to learn for themselves. For instance, Weimer (2002) argues that
logical consequences are necessary to change unfavorable behavior. There must be consistency in word and deed with regard to students.
The purpose and process of evaluation is the last key element identied by Weimer (2002). Evaluation needs to promote learning. Peer and
self assessment highlight the involvement of students in learning.
The responsibility of students for their learning is also defended by Boud (1981) as an important direction for learning, obtained through
increasing student autonomy. Although autonomy is not a goal in itself, it is a way towards more responsibility. Autonomy as identied by
this author is not to be confused with student isolation, either from the peers or from a teacher, but lets students learn from their mistakes.
A very important assumption of Boud (1981) is that (.) all students are capable of working independently, it is not the exclusive province
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 476
of the most able. Autonomous learning can take place at any level or age; however, it will not manifest itself in the same ways in all
situations. Plus, students can facilitate and support each others learning if they are given suitable conditions.
Felder and Brent (2009) have a clear denition of active learning, restricted to in-class activities Active learning is anything course-
related that all students in a class session are called upon to do other than simply watching, listening and taking notes (Felder & Brent,
2009), containing elements of active learning as described by Bonwell and Eison (1991) and Meyers and Jones (1991). Revell and
Wainright (2009) emphasize the need for activities in the classroom by arguing that (.)students do not actively listen very much at all
in formal lectures, unless they are broken up with multiple rest periods and activities that help to lift attention levels back up again (p. 210).
While Prince (2004) acknowledges active learning to be mainly bound to the classroom, he also discusses collaborative and cooperative
learning and problem-based learning as forms of active learning that are not mainly classroom-based. For the latter author active learning
requires students to do meaningful learning activities and think about what they are doing; and although no common positive effect can be
attributed to active learning due to the variety of interpretations involved, Prince (2004), in his extensive review on active learning, found
support for student activity in lectures as a way to enhance the learning process of the students. Learning in groups can also be advan-
tageous, whereas problem-based learning is characterized by too many different interpretations to dene collective benets.
Active approaches to teaching and learning are a way to put student-centered learning into practice (Schunk, 2003, Weimer, 2002). It is
worthwhile, then, to examine the impact that an approach of this nature has on student involvement in and motivation for learning CS.
3. Method
3.1. The learning environment
Computational literacy involves the ability to use and create computational artifacts. PL17103, a CS introductory course offered by the
Department of Information Systems at the UM, followed this line of reasoning. Since many Business Informatics students nd their jobs in
the software industry, PL17103 course was tailored to motivate engineer audiences. Java language was taught because students tend to value
learning programming languages they believe will help them perform their jobs (Forte & Guzdial, 2005). The course had no prerequisites.
In the fall semester of 2005, the PL17103 course presentation failed to motivate many students. A mainly deductive approach was used.
This was a teacher-centered course. The teacher in charge would work on improving teaching by developing sophisticated presentation
skills (Weimer, 2002). And thus, theoretical power-point lectures (Budd, 2006) were used to introduce foundational programming skills
and concepts, to deduce and derive possible applications of these skills and concepts, and to show generic examples of these applications
(Prince & Felder, 2006, 2007). During lab sessions teams of two students were assigned basic programming exercises; the instructor
wandered around giving advice and directions, and, usually, provided a solution to those exercises at the end of each session. Teams of four
students were assigned a well-structured termproblemto code, both at home and during lab sessions. Finally, the instructor tested students
OO/Java individual abilities on written exams.
When implementing the Bologna education reform in Portuguese universities (between the years of 2005 and 2007), the number of
contact hours of the courses decreased, enhancing student autonomy in learning. The student has to work by himself (i.e., outside lectures
and examples classes) on a regular basis so that the contact hours are used to guide the students work, in principle weekly. The paradigm
shift fromteacher to learner-centered education asks for newmodels of learning, that are active, cognitive, constructive, mediated, and self-
regulated (Beltran, 1996).
In the spring semester of 2007, the instructor started a PL17103 90-min theoretical session revisiting CS fundamentals previously
taught and presenting a well-structured problemfromBarnes and Klling (2003). Students were then asked to run and read the rst version
of the coded solution for the problem (laptops were required in class). These well-structured problems provided the context for lecturing
and discussing foundational OO/Java programming skills and concepts.
For instance, the clock-display problem (see Appendix A) was primarily used to introduce the concepts of abstraction and modula-
rization. Up to this point students had been introduced to the building of individual working objects. So they were asked: would an
individual working object be enough to represent the whole clock display? Would we be able to code a display for this digital clock in
a single class? A few students referred that this problem was more complex than the ones they have studied before. The divide-and-
conquer technique was then introduced and discussed as one way to deal with complexity. Back to the clock-display problem, students
were asked: would we nowbe able to identify subcomponents in this problemthat we could turn into separate classes? Students were given
some time to think about it. A discussion of students answers and doubts would follow. The instructor would wrap up the discussion on the
concepts of abstraction and modularization by saying that the clock display could be viewed as two separate two-digit displays (one pair for
the hours and one pair for the minutes). That is, the clock display could be considered as consisting of two objects (modularization) that can
display values from zero up to a given limit (abstraction) (Barnes & Klling, 2003).
The instructor would move on asking students: how many classes would we then need to build a clock with a 24-h display? And how
many objects? Again, students were given some time to work on their answers and were asked to present them before class. This time the
instructor would wrap up the discussion introducing two ways of visualizing the program. That is, the instructor would say that two classes
(one for the two-digit number display, i.e., NumberDisplay, and one for the clock display, i.e., ClockDisplay) plus the relationships
between them would be needed to code the solution. This would give us the static view of the program that could be visualized in a class
diagram. Hence, one ClockDisplay object holding two NumberDisplay objects (i.e., three objects) and their relationships at one moment in
time during the execution of the application would describe the dynamic viewof the program, which can be visualized in an object diagram
(Barnes & Klling, 2003).
Next, the instructor would analyze with students the coded solution for both classes. As the analysis progressed students were ques-
tioned and lectured about particular lines of code; and thus, other fundamental OO/Java skills and concepts were introduced and/or revisited
(e.g., primitive types versus object types, object creation, multiple constructors, internal and external method calls).
By the end of a theoretical session the instructor would suggest renements or increments to the solution of that sessions well-
structured problem (e.g., building a 12-h clock could be a possible increment to the clock-display problem). Some of the suggested
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 477
renements or increments were discussed, coded, and experienced in class. As the course progressed to more complex material renements
or increments were left for students to work on and were, usually, discussed in subsequent sessions.
Teams of three students used the 90-min lab sessions to develop the course term project (see Appendix B) and were guided, on a weekly
basis, by a detailed syllabus (see Appendix D) in applying previously acquired knowledge (e.g., during theoretical sessions). Instructors
wandered around providing further advice and directions as needed. Therefore, lab sessions also provided teams with the context for
learning:
a. Classes discovering in software analysis and design (Teams identied classes and objects, and the associations and interactions
between them (Barnes & Klling, 2003) using the verb/noun method.);
b. CRC cards method and scenarios (to work out interactions between classes) (Barnes & Klling, 2003);
c. Java programming (i.e., class diagram building, class interfaces and basic user interface designing, programming, and documenting).
Course work was mainly developed in teams of three students (Felder & Brent, 2001; Lin & Lopez-Ortiz, 2009; Oakley, Felder, Brent, &
Elhajj, 2004; Smith et al., 2005). Students were expected to have prior experience with working in teams (i.e., in formal cooperative learning
(Smith et al., 2005)) since this is common in some of the mandatory courses of the rst and second years of the Business Informatics studies.
So, no specic training in team functioning was provided, students were allowed to self-select their team members in the beginning of the
semester, and teams stayed together for the entire course (A similar strategy was intended for the teams in the 2005 edition of the PL17103
course). Each team was required to turn in a midterm essay every six weeks. Midterm essays must include a plan of the teams respon-
sibilities for the six-week period. In the making of the termproject, teams were further required to: apply points a and b, and report on it in
the rst midterm essay (i.e., document software analysis and design activities); apply point c and report on it in the second midterm essay
(i.e., have an intermediate Java version of the term project, preferably, in operation); compile all the work done and report on it in the nal
report (i.e., have a full documented Java version of the term project in operation). To try to promote individual accountability for under-
standing what their team did, rst, the instructor called randomly on each team member to present and explain the teams Java version of
the termproject by the time assignments were due; if a teammember stood out during this process he/she would get a grade two points (on
a 020 scale) higher (tops) than his/her other teammates in that particular assignment. Secondly, the instructor tested students Java
individual abilities on a computer exercise two weeks after the nal reports were due; that is, students were required to code a 45-min basic
programming exercise on a computer (see Appendix C). In the spring semester of 2007 overall grades of the PL17103 course were derived
20% from the rst midterm essay, 20% from the second midterm essay, 35% from the nal report, and 25% from the basic programming
exercise. The detailed syllabus, the term project, and all sorts of course information (including grades) could be accessed from the 2007
PL17103 course web site.
3.2. Research questions
Literature in educational research suggests that active approaches to teaching and learning are more effective at keeping students
involved in the learning process than teacher-centered ones. The more involved students get in their own learning activities, the more likely
they are to achieve their goals and succeed. This stronger motivation among students will possibly lead to an increased interest in CS and
a higher achievement (Forte & Guzdial, 2005; Prince & Felder, 2006, 2007; Smith et al., 2005). This hypothesis raised the following research
questions:
1. Are there differences in course approval, failure, and dropout rates between the student-centered PL17103 course taught in the spring of
2007 and the teacher-centered one taught in the fall of 2005?
2. Are there differences in approved students nal achievements (on average) between the student-centered PL17103 course taught in the
spring of 2007 and the teacher-centered one taught in the fall of 2005?
3. Are students results for the four assignments of the PL17103 course taught in the spring of 2007 related?
3.3. Method used
In this pilot study we used quantitative research methods. These methods consisted of analyzing the potential differences for both
editions of the PL17103 course (i.e., the student-centered and the teacher-centered) in terms of totals of approvals, failures, and dropouts
and approved students nal achievements. Relations were also determined across all students marks for the four assignments (i.e., the two
midterm essays, the nal report, and the basic programming exercise) of the 2007 PL17103 course edition.
3.4. Student characteristics
The UMs Business Informatics ve-year degree program began in the late 80s and ended in the year of 2008. Programming Languages
(PL) started off as a two-semester CS introductory course and was part of the second year of Business Informatics studies. This course layout
lasted until the end of spring of 2005 (by 2006 and within the context of Bologna Process, the Business Informatics programwas transitioned
into nowadays Technologies and Information Systems three-year undergraduate program). PL was then turned into two one-semester CS
introductory courses (i.e., PL17103 and PL2) that continued to be part of the second year of Business Informatics studies. PL17103 course was
rst offered in the fall semester of 2005 to 326 Business Informatics students. This course was taught on a mainly deductive approach. It
would only be offered once more in the spring semester of 2007 and in accordance with active instructional methods to those Business
Informatics and Technologies and Information Systems undergraduates who have failed or dropped a PL course in the past and/or the
PL17103 course in the fall semester of 2005.
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 478
4. Results
In the spring semester of 2007, out of 169 students registered in PL17103, 90 were enrolled in the fthyear of Business Informatics studies
and the remaining in the thirdyear of Technologies and Information Systems studies. Students were free to pick uptheir ownteammembers;
sothe cohort endedupdividedinto 49 teams (i.e., 44teams of three students andve teams of two students). Out of 49teams, awhole teamof
three students failed and another dropped the course; four teams of three students had all but one of the members dropping the course (the
students whodidnot dropthe course endedupfailing it); eight teams of three students andone teamof two students hadone of the members
failing the course; and one teamof three students had one of the members dropping the course. 27 students never showed up. Out of 169, 114
students were approved (i.e., 67.5% of approvals) and 16 students were failed (i.e., 9.5% of failures). The remaining 39 students dropped the
course (i.e., 23% of withdrawals). Overall, the 2007 PL17103 course had 130 (i.e., 77%) students actively participating in it.
Fig. 1 shows the rate of fth and third year students approved, failed, and who dropped the course.
According to Fig. 2, both PL17103 course failure and dropout rates of the spring semester of 2007 indicate that students might have
responded favorably to the active learning approach. For students involved in this approach: the failure rate was almost four times lower
(9.5%) than the one of the fall semester of 2005; the dropout rate was belowhalf (23%) the one of the fall semester of 2005; and the approval
rate over tripled (67.5%) the one of the fall semester of 2005.
Regarding the rst research question, the test result for the proportion of failures
2
indicates that the failure rate of the PL17103 course
offered in the spring semester of 2007 (N 169) is numerically and statistically different from the failure rate of the fall semester of 2005
(N 326). Similar tests performed on both proportions of withdrawals and approvals of the PL17103 course offered in the spring semester of
2007 reached similar results (and p-values).
Concerning students achievements, the nal grade average for the approved ones was equal to 12 (with a standard deviation of 1.89;
N 114), on a 020 scale, in the spring semester of 2007 (nal grade averages were also equal to 12, with standard deviations of 2.10 and of
1.68, for both fth and third years of Business Informatics and Technologies and Information Systems studies, respectively). In the fall
semester of 2005, the nal grade average for the approved students of the PL17103 class equaled 13 (with a standard deviation of 2.24;
N 60). Examining the second research question, the t test result on the equality of means
3
indicates that the nal grade average for the
approved students taught in the spring semester of 2007 is numerically and statistically different from the nal grade average for the ones
taught in the fall semester of 2005.
Fig. 3 presents the distribution of students achievements (on a 020 scale) intended for each of the four assignments (i.e., the two
midterm essays, the nal report, and the basic programming exercise) of the PL17103 course offered in the spring semester of 2007.
Regarding the rst midterm essay, the class grade average equaled 10 (with a standard deviation of 2.64; a maximum grade of 16; and
a minimum grade of 4). Then, the 2007 class grade average rose to 12 (with a standard deviation of 2.41; a maximum grade of 17; and
a minimum grade of 7) in the second midterm essay. The same class grade average of 12 (with a standard deviation of 3.35; a maximum
grade of 18; and a minimum grade of 4) was recorded for the nal report. With respect to the basic programming exercise, the class grade
average was equal to 11 (with a standard deviation of 4.83; a maximum grade of 20; and a minimum grade of 1).
To address the third research question, correlations were determined among students achievements for the four assignments. The
Pearson test results on these correlations are presented in Table 1.
The rst midterm essay was signicantly and positively correlated (r .52, p-value .00) with the second midterm essay. This means
that the greater the students achievements on the rst midterm essay, the greater tend to be the students achievements on the second
midterm essay. Similar results (and p-values) were reported between the rst midterm essay and the nal report, and the second midterm
essay and the nal report. Surprisingly, no correlationwas found between the marks students got in each of the project assignments (i.e., the
two midterm essays and the nal report) and the ones they got in the individual assignment (i.e., the basic programming exercise).
72%
8%
20%
63%
11%
26%
0%
10%
20%
30%
40%
50%
60%
70%
80%
Apr. Fail Drop
3rd Year 5th Year
Fig. 1. Approval, failure, and withdrawal rates by degree year of the PL17103 course in the spring of 2007.
2
Hypothesis: H
0
: The proportion of failures in the spring of 2007 The proportion of failures in the fall of 2005 H
a
: The proportion of failures in the spring of 2007 sThe
proportion of failures in the fall of 2005 The result from the test suggests that the probability of it being attributable to chance is small (since p-value <0.01, using
large-sample statistics). Thus, the null hypothesis (i.e., H
0
) can be rejected.
3
Hypothesis: H
0
: The nal grade average in the spring of 2007 The nal grade average in the fall of 2005 H
a
: The nal grade average in the spring of 2007 sThe nal
grade average in the fall of 2005 The result from the t test suggests that the probability of it being attributable to chance is small (since p-value <0.01, assuming normality and
equal variances). Thus, the null hypothesis (i.e., H
0
) can be rejected.
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 479
5. Discussion and conclusions
This pilot study reports on active learning in a Java-based undergraduate CS introductory course (i.e., PL17103 offered by the Department
of Information Systems) at the UM in the spring of 2007. This course implementation comprised:
teamwork (with students being expected to have prior experience in formal cooperative learning and choosing their own team
members);
structure and guidance provided by the instructor (and supported by a course detailed syllabus and a course web site);
denition of knowledge and skills (which were presented by the instructor during theoretical sessions and were applied as needed by
teams of students so they were able to come up with a Java version of the open-ended ill-structured term project in operation);
assignments centered on the production of a computational artifact (these assignments consisted of software analysis and design
activities, code writing and documenting);
oral presentations and explanations, plus written reports on how the Java versions of the term project should work or worked.
The results of the 2007 PL17103 course implementation indicate that students responded favorably to the active learning techniques.
That is, given Fig. 2 results, the implementation of active learning in the PL17103 course (in the spring semester of 2007) provided a more
motivating context for learning than the traditional one of the fall semester of 2005. Stronger motivation among students can lead to higher
achievement (Forte & Guzdial, 2005; Prince & Felder, 2006, 2007; Smith et al., 2005). Still, with respect to those students who passed, the
PL17103 course nal grade average for the spring semester of 2007 was signicantly lower (and equal to 12 on a 020 scale) than the nal
grade average for the fall semester of 2005, that was equal to 13.
Here is how the grade averages of the PL17103 course evolved throughout the spring semester of 2007. At rst, many Business Infor-
matics and Technologies and Information Systems undergraduates were apprehensive with the grades of the rst midterm essay (which
consisted of classes discovering in software analysis and design); the class grade average equaled 10 on a 020 scale. This happened possibly
because students were:
not used to software analysis and design activities prior to programming, which are not common to other CS introductory courses;
bored and/or annoyed by software analysis and design activities, since they found these useless;
67.5%
9.5%
23%
18%
32%
50%
0.0%
10.0%
20.0%
30.0%
40.0%
50.0%
60.0%
70.0%
80.0%
Apr. Fail Drop
Spring 07 Fall 05
Fig. 2. Approval, failure, and withdrawal rates of the PL17103 course in the spring of 2007 and in the fall of 2005.
Fig. 3. Box-plot of the students marks for each assignment of the PL17103 course in the spring of 2007 (N 136).
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 480
mostly inexperienced programmers, who value only code writing;
still adapting to the active learning implementation of the course, and realizing that most of the learning should be self and team-
directed (not teacher-centered).
In the second midterm essay (which consisted of class diagram building, class interfaces and basic user interface designing, program-
ming, and documenting) the class grade average rose to 12. The class grade average of 12 was kept for the nal assignment of the term
project. The grades of the rst midterm essay seem to have helped motivating students to do a better job in the subsequent project
assignments. The Pearson test results on correlations among these assignments (see Table 1) indicate that those students who got higher
marks on software analysis and design activities (i.e., the rst midterm essay) tended to achieve higher grades on both the intermediate and
the full versions of the project assignments (i.e., the second midterm essay and the nal report, respectively). Therefore, it may have been
a good idea to let students discover for themselves simple software analysis and design methods and skills (selected by the instructor, see
Appendix D Week #3) prior to programming in the context of the term project. This also seemed to be a good way of starting off lab
sessions activities of the 2007 PL17103 course for the semester. In addition, the students who got higher grades on the intermediate version
of the termproject (i.e., the second midterm essay) also tended to achieve higher marks on the full version of the same project (i.e., the nal
report). These results seem to conrm that students achievements may have been improved because students got highly involved in the
termproject throughout the semester (Forte & Guzdial, 2005; Prince & Felder, 2006, 2007; Schunk, 2003; Smith et al., 2005; Weimer, 2002)
(many students referred they have put long hours of work into the course). This may have made the difference between students approval
and failure since project assignments were responsible for 75% of the students grade.
The class grade average of the basic programmingexercise (whichwas solvedindividuallyona computer) was equal to 11. Some students faced
difculties in applying programming basic skills to a small and simple exercise. This reveals such students lack in mastering CS fundamentals
(Prince&Felder, 2006). Inaddition, andaccordingtoTable1, nocorrelationwas foundbetweenthemarks students got intheindividual assignment
(i.e., the basic programming exercise) and the ones they got in their project assignments (i.e., the two midterm essays and the nal report). This
result suggests that members of some of the teams relied heavily on their teammates to complete the termproject assignments, and they had no
need to develop the programming skills required for the course or to really understand what was done. Consequently, standard recommended
practices inwell-structuredformal cooperative learning that are suggestedinthe literature (e.g., having the instructor formthe teams according to
appropriate criteria, training students in effective team functioning, and holding team members individually accountable for understanding
everything their team does) should be met (Felder & Brent, 2001; Johnson, Johnson, & Smith, 2007; Oakley et al., 2004; Smith et al., 2005).
The overall reaction to the PL17103 course detailed syllabus was good. Students appreciated hints and directions that were given on
a weekly basis to accomplish the assignments for the term project. Because they knew what they were expected to know, a mild resistance
to the active learning implementation of the course was reported (Prince & Felder, 2006, 2007).
5.1. Implications for classroom practice
Although active learning techniques are student-centered, the instructor should:
guide and encourage students, on a weekly basis, in their learning tasks (based on, e.g., a detailed syllabus that should be available from
day one of classes on the course web site);
spendat least 5060minof class time, onaweeklybasis, inthe rst place makingstudents feel the needto-knowof a particular CStopic by
asking themchallenge questions (inductive instruction), and in the second place lecturing themabout that topic (deductive instruction);
use challenge and reality bond situations somehow familiar to students for open-ended ill-structured term projects;
let students discover simple software analysis and design methods and skills (selected, e.g., by the instructor) prior to programming in
the context of a term project;
use appropriate techniques for teaching students to work effectively in teams, for instance, implement jigsaw(for further suggestions in
well-structured formal cooperative learning refer to, e.g., Felder and Brent (2001), Levin-Peled, Kali, and Dori (2007), Johnson et al.
(2007), Oakley et al. (2004), Smith et al. (2005))
be aware that if students are given an open-ended ill-structured termproject they should also spend some class time, on a weekly basis,
applying CS fundamentals to small and simple programming exercises so they end up mastering these fundamentals.
5.2. Future work
Future implementations of active learning methods at CS introductory courses shall provide further insight into students background
and characteristics. Therefore, qualitative data shall be gathered (from surveys and/or interviews) about students general demographics
and programming experience, about students perceptions and attitudes towards CS, learning and self-directed strategies, both team and
individual work, and about students blocks of available time to meet outside class. With this data future studies provide more insight in how
the students background affects their performance and how they perceive active learning methods.
Table 1
Pearson correlations among students achievements for the four assignments of the PL17103 course in the spring of 2007.
1st Midterm essay 2nd Midterm essay Final report Basic programming exercise
1st Midterm essay .52
a
(N 142) .41
a
(N 137) .04 (N 136)
2nd Midterm essay .44
a
(N 137) .14 (N 136)
Final report .11 (N 136)
Basic programming exercise
a
The result from the Pearson test indicates that the probability of it being attributable to chance is small (since p-value <0.01). Thus, the null hypothesis of no correlation
can be rejected.
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 481
This data also helps in team formation (during the rst weeks of the semester) based on instructor-specied criteria. Instructor formed
teams shall be heterogeneous inCS abilityandhave students withcommonblocks of unscheduledtime. Furthermore, theinstructor shall avoid
formingteams of onlyonefemalemember becausewomenseemtobeanat-risk(of droppingout) minorityintherst twoyears of theBusiness
Informatics studies. The Team-Maker web-based software tool may be used to automate this process (Layton, Loughry, Ohland, &Ricco, 2010).
Usually little class time is available for instruction on teaming skills (Oakley et al., 2004) at CS introductory courses. But more structure
shall be provided to teams in future course offerings. Besides being deliberately formed by the instructor, teams functioning shall be based
on a set of simple guidelines (e.g., adapted from Oakley et al. (2004)) that shall be available from day one of classes on the course web site.
Further tips and guidance in effective team functioning shall be provided both in the beginning and throughout the semester as needed.
That is, the basic elements of cooperation as identied by Johnson et al. (2007) positive interdependence, individual accountability,
promotive interaction, social skills, and group processing need to be worked on before and during teamwork in order to create conditions
for successful cooperation. Plus, as interpersonal problems start surfacing among team members, about 10 min of the class time shall be
used to help students come up with and agree on a ranked list of strategies to deal with troublemakers (e.g., hitchhikers and overly
dominant team members), also known as crisis-clinics (Felder & Brent, 2001; Oakley et al., 2004).
At the UM, School of Engineering, project assignments of the CS introductory courses are sometimes responsible for the bulk of the
students overall grade. Thus, in future implementations of these courses, peer ratings shall be collected twice in the semester (i.e., midway
through and at the end of it) to adjust project assignment grades for individual performance. The CATME on-line instrument for peer rating
(Layton et al., 2010) may be effective for both individual grade adjustments and providing constructive feedback to students on their
strengths and weaknesses as team members (Oakley et al., 2004). Before using this system students shall be given some explanations on
why it is being used and howit affects their grades (e.g., midtermpeer-rating evaluations may be used to make individual adjustments to the
rst two midterm essay grades and the nal ratings may be used for the nal report grades).
In addition, students may be given a 10-min mandatory quiz every week so the instructor can assess their understanding of CS
fundamentals and their ability to solve simple programming exercises that require these fundamentals. Completed individually, these
quizzes may add up to the overall grades as weekly class attendance. The instructor will, be able to monitor the students progress better and
can further use it to guide them and/or rearrange course material accordingly.
Acknowledgments
We would like to thank Miguel Calejo and SAUM for data provided on the 2005 PL17103 course edition and the many anonymous
reviewers for their helpful comments and suggestions.
Appendix A. An example of a well-structured problem
The clock-display build a display for a digital clock that shows hours and minutes, separated by a colon (Barnes & Klling, 2003).
Appendix B. The term project
The program is an airport simulation system. For our new airport we need to know whether we can operate with two runways or
whether we need three. The airport works as follows:
The airport has several runways. Planes take off and land on runways. Air trafc controllers coordinate the trafc and give planes
permission to take off or land. The controllers sometimes give permission straight away, sometimes they tell planes to wait. Planes must
keep a certain distance from one another. The purpose of the program is to simulate the airport in operation (Barnes & Klling, 2003).
Appendix C. An example of a basic programming exercise
Use the Java language to build a statistics simulator. Code, compile, and run a program(under BlueJ environment) that accepts negative
integer values (provided by the user), identies the odd ones, and presents the smallest of them on the screen.
Note: Wait until an instructor has graded your solution before closing your BlueJ session.
Appendix D. An extract of the detailed syllabus
(.)
Week #3
Read and study chapters 12 (pages 321332) and 13 fromBarnes and Klling (2003) (see references); apply these concepts and methods
to the term project.
Term project:
3. Apply the verb/noun method to identify classes and objects, and the association and interactions between them (Barnes & Klling,
2003). Justify every decision you make, including extensions to the project.
4. Use CRC cards and scenarios, that is, imagine and describe possible scenarios further mentioning and justifying the implications that
they might have in terms of classes, corresponding responsibilities and collaborators.
(.)
Week #5
Read and study chapter 3 from Barnes and Klling (2003) (see references); solve all the suggested exercises you can.
Term project:
Continue project activities number 2, 3, and 4.
5. First midtermessay writing using informal language and a total of about 5 pages write down project activities number 1, 2, 3, and 4.
Week #6
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 482
Term project (Evaluation Element #1):
Orally present and explain (in class and to the instructor) the activities intended for the rst midterm essay.
The midterm essay must be a PDF le named after PL1_group#_1.pdf (with group# being the group number that was given to your
group by the instructor; an example of a valid le name would be: PL1_307_1.pdf).
The group representative must send the PDF le by e-mail (until 11h59pmof Mar.30.2007) to the instructor that orally examined your
group (the subject of your e-mail should be equal to the PDF le name you are attaching to your message). Penalty: each delay of one
day will add up a penalty of 1/20 (on a 0 20 scale) to this midterm grade.
(.)
References
Barnes, D., & Klling, M. (2003). Objects rst with Java: A practical introduction using BlueJ. Harlow, England: Pearson Education.
Beltran, J. (1996). Concepto, desenrollo y tendencias actuales de la Psicologa de la instruccin. In J. Beltran, & C. Genovard (Eds.), Psicologa de la Instruccin: Variables y
Procesos Bsicos, Vol. 1 (pp. 1986). Madrid, Spain: Sntesis/Psicologa.
Bonwell, C., & Eison, J. (1991). Active learning: Creating excitement in the classroom. Washington, DC, USA: School of Education and Human Development, George Washington
University.
Boud, D. (1981). Developing student autonomy in learning. New York, NY, USA: Kogan Page.
Budd, T. (2006). An active learning approach to teaching the data structures course. In Proceedings of the 37th SIGCSE technical symposium on computer science education, 2006,
Houston, TX, USA (pp. 143147).
Felder, R., & Brent, R. (2001). Effective strategies for cooperative learning. Journal of Cooperation and Collaboration in College Teaching, 10(2), 6975.
Felder, R., & Brent, R. (2009). Active learning: an introduction. ASQ Higher Education Brief, 2(4). http://www.asq.org/edu/2009/08/best-practices/active-learning-an-
introduction.%20felder.pdf Retrieved on May 31 at.
Forte, A., & Guzdial, M. (2005). Motivation and nonmajors in computer science: identifying discrete audiences for introductory courses. IEEE Transactions on Education, 48(2),
248253.
Johnson, W., Johnson, R., & Smith, K. (2007). The state of cooperative learning in postsecondary and professional settings. Educational Psychology Review, 19, 1529.
Layton, R., Loughry, M., Ohland, M., & Ricco, G. (2010). Design and validation of a web-based system for assigning members to teams using instructor-specied criteria.
Advances in Engineering Education128, Spring 2010.
Leo, C., Machado, G., Pereira, R., Paulo, J., & Teixeira, S. (2008). Teaching differential equations: concepts and applications. In Proceedings of the international conference on
engineering education New challenges in engineering education and research in the 21st century, 2008, Budapest, Hungary.
Levin-Peled, R., Kali, Y., & Dori, Y. (2007). Promoting collaborative learning in higher education: design principles for hybrid courses. In Proceedings of the CSCL07, 2007, New
Brunswick, NY, USA (pp. 418427).
Lin, L., & Lopez-Ortiz, B. (2009). Technology to facilitate online group formation. Academic Exchange Quarterly, 13(1), 145152.
Meyers, C., & Jones, T. (1991). Promoting active learning: Strategies for the college classroom. San Francisco, CA, USA: Jossey-Bass.
Oakley, B., Felder, R., Brent, R., & Elhajj, I. (2004). Turning student groups into effective teams. Journal of Student Centered Learning, 2(1), 934.
Prince, M. (2004). Does active learning work? A review of the research. Journal of Engineering Education, 93(3), 223231.
Prince, M., & Felder, R. (2006). Inductive teaching and learning methods: denitions, comparisons, and research bases. Journal of Engineering Education, 95(2), 123138.
Prince, M., & Felder, R. (2007). The many faces of inductive teaching and learning. Journal of College Science Teaching, 36(5), 1420.
Revell, A., & Wainright, E. (2009). What makes lectures unmissable? Insights into teaching excellence and active learning. Journal of Geography in Higher Education, 33(2),
209223.
Schunk, D. (2003). Learning theories. An educational perspective. Upper Saddle River: Merrill.
Smith, K., Sheppard, S., Johnson, D., & Johnson, R. (2005). Pedagogies of engagement: classroom-based practices. Journal of Engineering Education, 94(1), 87101.
Weimer, M. (2002). Learner-centered teaching. Five key changes to practice. San Francisco, CA, USA: Jossey-Bass.
I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475483 483

Вам также может понравиться