teaching a cs introductory course an active approach

9

Click here to load reader

Upload: dick-martinez

Post on 25-Apr-2017

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Teaching a CS Introductory Course an Active Approach

Computers & Education 56 (2011) 475–483

Contents lists available at ScienceDirect

Computers & Education

journal homepage: www.elsevier .com/locate/compedu

Teaching a CS introductory course: An active approach

Isabel C. Moura a,*, Natascha van Hattum-Janssen b,1

aDepartment of Information Systems, School of Engineering, University of Minho, Campus Azurém, 4800-058 Guimarães, PortugalbResearch 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 2010Received in revised form7 September 2010Accepted 14 September 2010

Keywords:Teaching/learning strategiesCountry-specific developmentsCooperative/collaborative learningProgramming and programming languagesImproving classroom teaching

* Corresponding author. Tel.: þ351 253510266; faxE-mail addresses: [email protected] (I.C. Moura),

1 Tel.: þ351 253604687; fax: þ351 253604248.

0360-1315/$ – see front matter � 2010 Elsevier Ltd. Adoi:10.1016/j.compedu.2010.09.009

a b s t r a c t

Computer Science (CS) introductory courses that are offered by the Department of Information Systemsat 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. Deductiveinstruction begins with theories and progresses to applications of those theories. Active approaches toteaching are more inductive. Inductive instruction begins with the presentation of, for instance, a specificproblem that introduces a topic, and theories are studied on a need-to-know basis. This pilot studydescribes 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, thefirst 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 inlearning is analyzed. The authors discuss implications of student-centered learning for the classroom andpay 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 five-year degree program, mustmajor in Computer Science (CS) and Economics and Management Sciences (EMS). Still, they seem to lack motivation for the degree’s CSintroductory courses. The high failure and withdrawal rates associated to these courses in the years that preceded 2007 may explain animportant 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 theDepartment of Information Systems, was mandatory to all Business Informatics students. Prior to 2007, this course had been taught usingamainly deductive approach. It was a teacher-centered course. Teacher authority was taken for granted, whichmay have negatively affectedstudents’ motivation, confidence, and enthusiasm. The balance of power, as described by Weimer (2002) used to be on the teacher’s side.The pace, the structure, and the assessment of this CS introductory course were usually controlled by the teacher and as such students werenot recognized as self-regulated learners. Covering content was usually a concern of the instructors, even though this did not mean thatlearning was happening. It might have even prevented the development of learning skills. When students are constantly exposed to contentthrough the instructor, they do not have sufficient opportunity to interact with the content in a meaningful way. Furthermore, the teacherfunctioned “as exclusive content expert or authoritarian classroom manager” (Weimer, 2002). In practice, instructors would: lecture on CSskills 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 andat 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 dependenton the ability to promote the immersion of the learner in authentic situations. In this view, learning in general and learning to solveproblems is a process of individual and collaborative exploration addressed to real context of implementation (Leão, Machado, Pereira,

: þ351 [email protected] (N. van Hattum-Janssen).

ll rights reserved.

Page 2: Teaching a CS Introductory Course an Active Approach

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483476

Paulo, & Teixeira, 2008; Smith, Sheppard, Johnson, & Johnson, 2005). Therefore, the relevance of basic programming skills is often revealedas students attempt to solve more complex problems, for instance, in the context of EMS. As a consequence, many students tend to regardtraditional CS introductory courses as of no value and/or utility. This might be another reason why these CS courses failed to motivatestudents (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 ofchallenge 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 takeover student learning. These approaches help teachers to involve the student in the learning process and shift the responsibility to thestudents. 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 coursewas presented in accordancewith active instructional methods. It was taught to a totalof about 170 students divided in two recitation groups for “theoretical” sessions and in recitation groups of 20–25 for lab sessions. It wasa 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 codedsolutions were used to introduce OO/Java skills and concepts. During lab sessions (and also at home) an open-ended ill-structured termproject provided the context for teams of three students to apply course material. Students were expected to have prior experience withworking in teams since this is common in many courses of the Business Informatics studies (e.g., in the freshman and sophomore years).Therefore, no specific training in team functioning was provided and teams were allowed to form themselves and lasted for the wholesemester. 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 final report (documenting on a full Java version of the termproject in operation). To try to promote individual accountability for understanding what their team did, first, each team member wasrandomly asked to present and explain team results by the time project assignments were due. Secondly, each student was required to solvea 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 UM in the spring semesterof 2007) had on the course’s failure and withdrawal rates, and students’ academic achievements. The next section summarizes the relatedliterature on student-centered learning and active learning in higher education. Method and results are then presented. A discussion followson this pilot study’s 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 fora learning task is defined by the likeliness of achieving the goals and the importance that students attribute to the success. If students havea 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 learningoutcomes and a strong engagement of students in their own learning process are the main characteristics of student-centeredness. Studentsengaged in their own learning process cannot be passive listeners in a classroom that is completely run by the teacher. For education to belearner-centered students need to be actively involved in learning activities; their learning needs to be active learning. Student-centeredlearning 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 toteaching, learning, and assessment and the context in which learning takes place. It is a comprehensive concept in which the needs andinterests of the learners are the starting point, instead of those of the teachers. The experiences and motivations of students and the waystudents use these to pursue the learning outcomes. Freedom to explore materials based on personal interest and motivation, freedom tomake 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 identifies five 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 shiftof power from the teacher to the student, trusting in the ability of the student to make decisions about his learning processing. This is abouta 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 isa different way of looking at content in learning. Developing learning skills through active learning helps students to construct knowledgemore effectively in the end; she gives a number of guidelines to improve the content-learning relationship. Thinking developmentally andbeing oriented at the continuous development of learning skills is the first 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 identified. The role of the teacher is a third key element in student-centered learning. The focus of faculty needs to be onlearning to become aware of how teaching influences learning. Faculty facilitates learning and is no longer the center of attention. Theresponsibility for learning needs to be accepted by students, as a fourth key element of student-centered learning. Teachers can createconditions and help students to be willing to learn, but the students have to learn for themselves. For instance, Weimer (2002) argues thatlogical 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 identified byWeimer (2002). Evaluation needs to promote learning. Peer andself 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 throughincreasing student autonomy. Although autonomy is not a goal in itself, it is a way towards more responsibility. Autonomy as identified bythis 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

Page 3: Teaching a CS Introductory Course an Active Approach

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483 477

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 allsituations.” Plus, students can facilitate and support each others’ learning if they are given suitable conditions.

Felder and Brent (2009) have a clear definition 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 andWainright (2009) emphasize the need for activities in the classroom by arguing that “(.)students do not actively listen very much at allin formal lectures, unless they are broken upwithmultiple 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 cooperativelearning and problem-based learning as forms of active learning that are not mainly classroom-based. For the latter author active learningrequires students to do meaningful learning activities and think about what they are doing; and although no common positive effect can beattributed to active learning due to the variety of interpretations involved, Prince (2004), in his extensive review on active learning, foundsupport 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 define collective benefits.

Active approaches to teaching and learning are a way to put student-centered learning into practice (Schunk, 2003, Weimer, 2002). It isworthwhile, 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 theDepartment of Information Systems at the UM, followed this line of reasoning. Since many Business Informatics students find their jobs inthe software industry, PL17103 coursewas tailored tomotivate engineer audiences. Java languagewas taught because students tend to valuelearning 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 presentationskills” (Weimer, 2002). And thus, “theoretical” power-point lectures (Budd, 2006) were used to introduce foundational programming skillsand 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 instructorwandered around giving advice and directions, and, usually, provided a solution to those exercises at the end of each session. Teams of fourstudents were assigned awell-structured termproblem to 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 ofcontact hours of the courses decreased, enhancing student autonomy in learning. The student has to work by himself (i.e., outside lecturesand examples classes) on a regular basis so that the contact hours are used to guide the student’s work, in principle weekly. The paradigmshift from teacher 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 previouslytaught and presenting awell-structured problem from Barnes and Kölling (2003). Students were then asked to run and read the first versionof the coded solution for the problem (laptops were required in class). These well-structured problems provided the context for lecturingand 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 anindividual working object be enough to represent the whole clock display? Would we be able to code a display for this digital clock ina 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, studentswere asked: wouldwe nowbe able to identify subcomponents in this problem that we could turn into separate classes? Students were givensome time to think about it. A discussion of students’ answers and doubts would follow. The instructor would wrap up the discussion on theconcepts of abstraction andmodularization by saying that the clock display could be viewed as two separate two-digit displays (one pair forthe hours and one pair for the minutes). That is, the clock display could be considered as consisting of two objects (modularization) that candisplay values from zero up to a given limit (abstraction) (Barnes & Kölling, 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 howmany objects? Again, students were given some time to work on their answers and were asked to present them before class. This time theinstructor 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 relationshipsbetween them would be needed to code the solution. This would give us the static view of the program that could be visualized in a classdiagram. Hence, “one ClockDisplay object holding twoNumberDisplay objects” (i.e., three objects) and “their relationships at onemoment intime during the execution of the application”would describe the dynamic viewof the program,which can be visualized in an object diagram(Barnes & Kölling, 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 conceptswere 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 refinements or increments to the solution of that session’s well-structured problem (e.g., building a 12-h clock could be a possible increment to the “clock-display” problem). Some of the suggested

Page 4: Teaching a CS Introductory Course an Active Approach

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483478

refinements or increments were discussed, coded, and experienced in class. As the course progressed tomore complexmaterial refinementsor 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 weeklybasis, by a detailed syllabus (see Appendix D) in applying previously acquired knowledge (e.g., during “theoretical” sessions). Instructorswandered around providing further advice and directions as needed. Therefore, lab sessions also provided teams with the context forlearning:

a. Classes discovering in software analysis and design (Teams identified “classes and objects, and the associations and interactionsbetween them” (Barnes & Kölling, 2003) using the verb/noun method.);

b. CRC cards method and scenarios (“to work out interactions between classes”) (Barnes & Kölling, 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 experiencewith 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 first and second years of the Business Informatics studies.So, no specific training in team functioning was provided, students were allowed to self-select their team members in the beginning of thesemester, and teams stayed together for the entire course (A similar strategy was intended for the teams in the 2005 edition of the PL17103course). Each team was required to turn in a midterm essay every six weeks. Midterm essays must include a plan of the team’s respon-sibilities for the six-week period. In the making of the term project, teams were further required to: apply points a and b, and report on it inthe first 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 finalreport (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, first, the instructor called randomly on each team member to present and explain the team’s Java version ofthe term project by the time assignments were due; if a teammember stood out during this process he/shewould get a grade two points (ona 0–20 scale) higher (tops) than his/her other teammates in that particular assignment. Secondly, the instructor tested students’ Javaindividual abilities on a computer exercise twoweeks after the final reports were due; that is, students were required to code a 45-min basicprogramming exercise on a computer (see Appendix C). In the spring semester of 2007 overall grades of the PL17103 course were derived20% from the first midterm essay, 20% from the second midterm essay, 35% from the final report, and 25% from the basic programmingexercise. The detailed syllabus, the term project, and all sorts of course information (including grades) could be accessed from the 2007PL17103 course web site.

3.2. Research questions

Literature in educational research suggests that active approaches to teaching and learning are more effective at keeping studentsinvolved in the learning process than teacher-centered ones. The more involved students get in their own learning activities, the more likelythey are to achieve their goals and succeed. This stronger motivation among students will possibly lead to an increased interest in CS anda higher achievement (Forte & Guzdial, 2005; Prince & Felder, 2006, 2007; Smith et al., 2005). This hypothesis raised the following researchquestions:

1. Are there differences in course approval, failure, and dropout rates between the student-centered PL17103 course taught in the spring of2007 and the teacher-centered one taught in the fall of 2005?

2. Are there differences in approved students’ final achievements (on average) between the student-centered PL17103 course taught in thespring 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 botheditions of the PL17103 course (i.e., the student-centered and the teacher-centered) in terms of totals of approvals, failures, and dropoutsand approved students’ final achievements. Relations were also determined across all students’marks for the four assignments (i.e., the twomidterm essays, the final report, and the basic programming exercise) of the 2007 PL17103 course edition.

3.4. Student characteristics

The UM’s Business Informatics five-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 layoutlasted until the end of spring of 2005 (by 2006 andwithin the context of Bologna Process, the Business Informatics programwas transitionedinto nowadays Technologies and Information Systems three-year undergraduate program). PL was then turned into two one-semester CSintroductory courses (i.e., PL17103 and PL2) that continued to be part of the second year of Business Informatics studies. PL17103 course wasfirst offered in the fall semester of 2005 to 326 Business Informatics students. This course was taught on a mainly deductive approach. Itwould only be offered once more in the spring semester of 2007 and in accordance with active instructional methods to those BusinessInformatics and Technologies and Information Systems undergraduates who have failed or dropped a PL course in the past and/or thePL17103 course in the fall semester of 2005.

Page 5: Teaching a CS Introductory Course an Active Approach

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.

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483 479

4. Results

In the spring semester of 2007, out of 169 students registered in PL17103, 90were enrolled in the fifth year of Business Informatics studiesand the remaining in the third year of Technologies and Information Systems studies. Studentswere free to pick up their own teammembers;so the cohort endedupdivided into 49 teams (i.e., 44 teams of three students andfive teams of two students). Out of 49 teams, awhole teamofthree students failed and another dropped the course; four teams of three students had all but one of the members dropping the course (thestudentswhodid not drop the course endedup failing it); eight teamsof three students andone teamof two students hadone of themembersfailing the course; and one team of three students had one of themembers dropping the course. 27 students never showed up. Out of 169,114students were approved (i.e., 67.5% of approvals) and 16 students were failed (i.e., 9.5% of failures). The remaining 39 students dropped thecourse (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 fifth 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 ratewas below half (23%) the one of the fall semester of 2005; and the approvalrate over tripled (67.5%) the one of the fall semester of 2005.

Regarding the first research question, the test result for the proportion of failures2 indicates that the failure rate of the PL17103 courseoffered 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 of2007 reached similar results (and p-values).

Concerning students’ achievements, the final grade average for the approved ones was equal to 12 (with a standard deviation of 1.89;N ¼ 114), on a 0–20 scale, in the spring semester of 2007 (final grade averages were also equal to 12, with standard deviations of 2.10 and of1.68, for both fifth and third years of Business Informatics and Technologies and Information Systems studies, respectively). In the fallsemester of 2005, the final 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 means3 indicates that the final grade average for theapproved students taught in the spring semester of 2007 is numerically and statistically different from the final grade average for the onestaught in the fall semester of 2005.

Fig. 3 presents the distribution of students’ achievements (on a 0–20 scale) intended for each of the four assignments (i.e., the twomidterm essays, the final report, and the basic programming exercise) of the PL17103 course offered in the spring semester of 2007.

Regarding the first midterm essay, the class grade average equaled 10 (with a standard deviation of 2.64; a maximum grade of 16; anda 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; anda minimum grade of 7) in the second midterm essay. The same class grade average of 12 (with a standard deviation of 3.35; a maximumgrade of 18; and a minimum grade of 4) was recorded for the final report. With respect to the basic programming exercise, the class gradeaverage 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. ThePearson test results on these correlations are presented in Table 1.

The first midterm essay was significantly and positively correlated (r ¼ .52, p-value ¼ .00) with the second midterm essay. This meansthat the greater the students’ achievements on the first midterm essay, the greater tend to be the students’ achievements on the secondmidterm essay. Similar results (and p-values) were reported between the first midterm essay and the final report, and the second midtermessay and the final report. Surprisingly, no correlationwas found between themarks students got in each of the project assignments (i.e., thetwo midterm essays and the final report) and the ones they got in the individual assignment (i.e., the basic programming exercise).

2 Hypothesis: H0: The proportion of failures in the spring of 2007 ¼ The proportion of failures in the fall of 2005 Ha: The proportion of failures in the spring of 2007 s Theproportion 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, usinglarge-sample statistics). Thus, the null hypothesis (i.e., H0) can be rejected.

3 Hypothesis: H0: The final grade average in the spring of 2007 ¼ The final grade average in the fall of 2005 Ha: The final grade average in the spring of 2007 s The finalgrade 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 andequal variances). Thus, the null hypothesis (i.e., H0) can be rejected.

Page 6: Teaching a CS Introductory Course an Active Approach

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.

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483480

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 Departmentof 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 teammembers);

� structure and guidance provided by the instructor (and supported by a course detailed syllabus and a course web site);� definition of knowledge and skills (which were presented by the instructor during “theoretical” sessions and were applied as needed byteams 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 designactivities, 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 moremotivating context for learning than the traditional one of the fall semester of 2005. Stronger motivation among students can lead to higherachievement (Forte & Guzdial, 2005; Prince & Felder, 2006, 2007; Smith et al., 2005). Still, with respect to those students who passed, thePL17103 course final grade average for the spring semester of 2007 was significantly lower (and equal to 12 on a 0–20 scale) than the finalgrade 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 first, many Business Infor-matics and Technologies and Information Systems undergraduates were apprehensive with the grades of the first midterm essay (whichconsisted of classes discovering in software analysis and design); the class grade average equaled 10 on a 0–20 scale. This happened possiblybecause 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;

Fig. 3. Box-plot of the students’ marks for each assignment of the PL17103 course in the spring of 2007 (N ¼ 136).

Page 7: Teaching a CS Introductory Course an Active Approach

Table 1Pearson 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 .52a (N ¼ 142) .41a (N ¼ 137) .04 (N ¼ 136)2nd Midterm essay .44a (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 correlationcan be rejected.

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483 481

� 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 final assignment of the termproject. The grades of the first midterm essay seem to have helped motivating students to do a better job in the subsequent projectassignments. The Pearson test results on correlations among these assignments (see Table 1) indicate that those students who got highermarks on software analysis and design activities (i.e., the first midterm essay) tended to achieve higher grades on both the intermediate andthe full versions of the project assignments (i.e., the second midterm essay and the final report, respectively). Therefore, it may have beena good idea to let students discover for themselves simple software analysis and design methods and skills (selected by the instructor, seeAppendix D – Week #3) prior to programming in the context of the term project. This also seemed to be a good way of starting off labsessions activities of the 2007 PL17103 course for the semester. In addition, the students who got higher grades on the intermediate versionof the term project (i.e., the second midterm essay) also tended to achieve higher marks on the full version of the same project (i.e., the finalreport). These results seem to confirm that students’ achievements may have been improved because students got highly involved in theterm project 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’ approvaland failure since project assignments were responsible for 75% of the students’ grade.

The class grade average of the basic programmingexercise (whichwas solved individually on a computer)was equal to 11. Some students faceddifficulties in applying programming basic skills to a small and simple exercise. This reveals such students’ lack in mastering CS fundamentals(Prince&Felder, 2006). In addition, andaccording toTable1,no correlationwas foundbetween themarks studentsgot in the individual assignment(i.e., the basic programming exercise) and the ones they got in their project assignments (i.e., the two midterm essays and the final report). Thisresult suggests that members of some of the teams relied heavily on their teammates to complete the term project assignments, and they had noneed to develop the programming skills required for the course or to really understand what was done. Consequently, standard recommendedpractices inwell-structured formal cooperative learning that are suggested in the literature (e.g., having the instructor form the teams according toappropriate criteria, training students in effective team functioning, and holding team members individually accountable for understandingeverything 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 ona weekly basis to accomplish the assignments for the term project. Because they knew what they were expected to know, a mild resistanceto 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 aweekly basis, in their learning tasks (based on, e.g., a detailed syllabus that should be available fromday one of classes on the course web site);

� spendat least 50–60minof class time, on aweeklybasis, in thefirst placemaking students feel theneedto-knowof aparticular CS topic byasking them challenge questions (inductive instruction), and in the second place lecturing them about 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 inthe context of a term project;

� use appropriate techniques for teaching students towork effectively in teams, for instance, implement jigsaw (for further suggestions inwell-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 term project they should also spend some class time, on aweekly 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’ backgroundand characteristics. Therefore, qualitative data shall be gathered (from surveys and/or interviews) about students’ general demographicsand programming experience, about students’ perceptions and attitudes towards CS, learning and self-directed strategies, both team andindividual work, and about students’ blocks of available time tomeet outside class.With this data future studies providemore insight in howthe students’ background affects their performance and how they perceive active learning methods.

Page 8: Teaching a CS Introductory Course an Active Approach

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483482

This data also helps in team formation (during the first weeks of the semester) based on instructor-specified criteria. Instructor formedteamsshall beheterogeneous inCS abilityandhave studentswithcommonblocks of unscheduled time. Furthermore, the instructor shall avoidforming teamsofonlyone femalememberbecausewomenseemtobeanat-risk (ofdroppingout)minority in thefirst twoyearsof theBusinessInformatics studies. The Team-Makerweb-based software toolmay 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 structureshall be provided to teams in future course offerings. Besides being deliberately formed by the instructor, teams functioning shall be basedon 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 identified 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 conditionsfor successful cooperation. Plus, as interpersonal problems start surfacing among team members, about 10 min of the class time shall beused to help students come up with and agree on a ranked list of strategies to deal with troublemakers (e.g., hitchhikers and overlydominant 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 thestudents’ overall grade. Thus, in future implementations of these courses, peer ratings shall be collected twice in the semester (i.e., midwaythrough 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 theirstrengths and weaknesses as team members” (Oakley et al., 2004). Before using this system students shall be given some explanations onwhy it is being used and how it affects their grades (e.g., midterm peer-rating evaluationsmay be used tomake individual adjustments to thefirst two midterm essay grades and the final ratings may be used for the final report grades).

In addition, students may be given a 10-min mandatory quiz every week so the instructor can assess their understanding of CSfundamentals and their ability to solve simple programming exercises that require these fundamentals. Completed individually, thesequizzes may add up to the overall grades as weekly class attendance. The instructor will, be able tomonitor the students’ progress better andcan 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 anonymousreviewers 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 & Kölling, 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 traffic controllers coordinate the traffic and give planes

permission to take off or land. The controllers sometimes give permission straight away, sometimes they tell planes to wait. Planes mustkeep a certain distance from one another. The purpose of the program is to simulate the airport in operation” (Barnes & Kölling, 2003).

Appendix C. An example of a basic programming exerciseUse 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), identifies 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 321–332) and 13 from Barnes and Kölling (2003) (see references); apply these concepts andmethodsto the term project.

� Term project:3. Apply the verb/noun method to identify “classes and objects, and the association and interactions between them” (Barnes & Kölling,

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 Kölling (2003) (see references); solve all the suggested exercises you can.� Term project:

– Continue project activities number 2, 3, and 4.5. First midterm essay writing –using informal language and a total of about 5 pageswrite down project activities number 1, 2, 3, and 4.

– Week #6 –

Page 9: Teaching a CS Introductory Course an Active Approach

I.C. Moura, N. van Hattum-Janssen / Computers & Education 56 (2011) 475–483 483

� Term project (Evaluation Element #1):– Orally present and explain (in class and to the instructor) the activities intended for the first midterm essay.– The midterm essay must be a PDF file named after PL1_group#_1.pdf (with group# being the group number that was given to yourgroup by the instructor; an example of a valid file name would be: PL1_307_1.pdf).

– The group representative must send the PDF file by e-mail (until 11h59pm ofMar.30.2007) to the instructor that orally examined yourgroup (the subject of your e-mail should be equal to the PDF file name you are attaching to your message). Penalty: each delay of oneday will add up a penalty of 1/20 (on a 0– 20 scale) to this midterm grade.

(.)

References

Barnes, D., & Kölling, M. (2003). Objects first with Java: A practical introduction using BlueJ. Harlow, England: Pearson Education.Beltran, J. (1996). Concepto, desenrollo y tendencias actuales de la Psicología de la instrucción. In J. Beltran, & C. Genovard (Eds.), Psicología de la Instrucción: Variables y

Procesos Básicos, Vol. 1 (pp. 19–86). Madrid, Spain: Síntesis/Psicología.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. 143–147).Felder, R., & Brent, R. (2001). Effective strategies for cooperative learning. Journal of Cooperation and Collaboration in College Teaching, 10(2), 69–75.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),

248–253.Johnson, W., Johnson, R., & Smith, K. (2007). The state of cooperative learning in postsecondary and professional settings. Educational Psychology Review, 19, 15–29.Layton, R., Loughry, M., Ohland, M., & Ricco, G. (2010). Design and validation of a web-based system for assigning members to teams using instructor-specified criteria.

Advances in Engineering Education1–28, Spring 2010.Leão, 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 CSCL’07, 2007, New

Brunswick, NY, USA (pp. 418–427).Lin, L., & Lopez-Ortiz, B. (2009). Technology to facilitate online group formation. Academic Exchange Quarterly, 13(1), 145–152.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), 9–34.Prince, M. (2004). Does active learning work? A review of the research. Journal of Engineering Education, 93(3), 223–231.Prince, M., & Felder, R. (2006). Inductive teaching and learning methods: definitions, comparisons, and research bases. Journal of Engineering Education, 95(2), 123–138.Prince, M., & Felder, R. (2007). The many faces of inductive teaching and learning. Journal of College Science Teaching, 36(5), 14–20.Revell, A., & Wainright, E. (2009). What makes lectures ‘unmissable’? Insights into teaching excellence and active learning. Journal of Geography in Higher Education, 33(2),

209–223.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), 87–101.Weimer, M. (2002). Learner-centered teaching. Five key changes to practice. San Francisco, CA, USA: Jossey-Bass.