Paper ID #241942018 ASEE Zone IV Conference: Boulder, Colorado Mar 25Title: Inter-Class Collaboration Project to Enhance Learning in ComputerScienceProf. Maria Pantoja, California Polytechnic State University San Luis ObispoMaria Pantoja Computer Engineering Computer Science & Software Engineering Office: 14-211 PhoneNumber: 805-756-1330 Email: [email protected] Homepage: B.S., Universidad Politecnica de Valencia, Spain Ph.D., Santa Clara UniversityResearch Interests High Performance Computing Neural-Electronics Parallel ComputingDr. Zoe Wood Wood, Cal Poly - San Luis Obispoc American Society for Engineering Education, 2018

Collaborative Inter-Class Project to Enhance Learning in Computer ScienceMaria Pantoja and Zoe WoodsComputer Science and Software EngineeringCalifornia State University San Luis Obispo, San Luis Obispo, CAAbstract: Engineers in general and computer scientists in particular are required to work in collaborative,interdisciplinary environments. Communication skills and the ability to work in groups within differentdepartments inside a company are often required for jobs in the industry. To expose students to thiscollaborative experience most engineering programs require a senior design project in the last year ofcourses, however, these capstone type projects risk creating a feeling of disconnect as opposed to anintegrated experience with the prior curriculum. To further improve our students’ collaboration skills andexpose students to the pedagogical benefits of collaborative learning, we designed and implemented acollaboration between two different computer science classes (CS). Our collaborative inter-class projecthas the immediate intention of mutual learning across related but distinct topics, but also to increasestudent retention of knowledge by providing them with a similar experience to what they will encounterin industry. To evaluate the collaborative experience, we use the student lab reports and the results of ananonymous student survey. The survey shows very positive comments about the experience. Based onusing inter-class collaboration for two quarters, we have decided to continue with the practice this yearand we will gather more information in a more detailed survey and aim to make this collaboration apermanent feature in both classes. We also plan to explore how to integrate this kind of inter-classcollaboration in additional upper division computing classes and senior projects.IntroductionCollaborative learning is an educational approach to teaching and learning that involves groups oflearners working together to solve a problem, complete a task or create a product [1]. Research showsvery clear benefits on implementing group activities and group projects [1,2,3] for learning, including inhigher education. In addition, hands-on applied team work exercises have been shown to have benefitsfor all students and for female students in particular [6]. Collaborative environments also prepare studentsfor work in the industry, where companies expect employees to work well with others and tocommunicate with other members of their professional teams and teams within other departments. We,as educators, sought to design an authentic cross class group experience to help students practice workingin teams and experience the relationship of two closely connected but distinct fields of computer science.In this paper we describe an experiment we are conducting at the Computer Science and SoftwareEngineering department. Our collaboration involves two distinct but related courses in ComputerScience, Parallel Programming (PP) and Computer Graphics (CG). While both class contents areessentially unique, in reality most computer graphics problems are executed on Graphical ProcessingUnits (GPUs) which are heavily studied and used in PP; and many of the very interesting problems in PPare CG related. We felt an inter-class experience would allow students to practice working on a handson project as a team similar to what they may experience in industry.

In general, the collaboration was structured with the two instructors jointly leading the inter-classcollaboration over a two-week period, including both a theoretical and hands-on lab experience. For thefirst week the individual classes come together in the same classroom and on one day they receive afocused introduction to Parallel Programming and another day they receive a focused introduction toComputer Graphics. In the second week the students work in groups of mixed CG and PP students andwork on a lab together that consists in two parts, one with a more graphics related focus while the otherwith a more parallel focused implementation but both closely related in terms of general task.In our experience as educators we have had students express mixed feelings about group projects; somestudents enjoy them but some other dislike them. The main reasons many students express a dislike forgroup projects is the unbalanced work that the group members do, leaving some students with the feelingof doing all the work themselves while the rest of the group members do very little. Similarly, studentsthat do not contributed to the group ultimately learn very little. There is a good deal of research aboutgroup projects and how to make group projects a better experience for students. In [4,5] a role separationis introduced and students are given specific task/roles to better adapt for different personalities. Toimprove the team work experience of our students, we did create teams of students but with two mainroles (leader/teacher, learners) but the role assigned to the students are swapped during the experiencewith some of the students being the leaders/teachers for one lab and then this role will be reversed on thesecond lab assignment. This way students are forced to take different roles during the collaborationdiminishing the probabilities of any of them doing significant less than the rest of the group; andincreasing the chances to encourage the participation of students and their different preferences. The goalis for each group of mixed student teams, CG and PP, to trade-off the leadership and learner role andcommunicate their expertise to the other group.In this article, we present a detailed description of the implementation of the inter-class collaboration,the results of the collaboration via lab results and student surveys and our conclusions and ongoing workrelated to this collaboration.Section 1. ImplementationThe two classes which participated in this inter-class collaboration are both upper division computerscience technical electives and each have approximately 40 students enrolled. For the collaboration, theclass rosters are combined for one week, with assigned small 3-4 student teams, each containing at leastone student from each class. The collaboration occurred during the term of the class on week seven of aten-week quarter system class. We did choose week seven so students have enough expertise on theirown fields of study.Collaboration components :1. Theoretical. For one week the two classes meet together, where one day they receive a focusedintroduction to Parallel Programming and another day they receive a focused introduction toComputer Graphics. The material covered is related to the use of the GPU, but from the twoperspectives of the sub-fields, with the faculty noting shared and divergent goals, perspectivesand vocabulary. The purpose of these combined lectures is to give students a shared backgroundrelated to the main concepts of each field. The expectation is that specific details will emergeand be tackled in the labs (ideally by the explanations of the student leader for that specific lab.

2. Hand-on experience. The lab portion of the collaboration spans two weeks. The first weekstudents solve a problem using a traditional CG implementation and development tools, while thesecond week the students solve the same problem but using only the PP development tools. Thelabs were carefully chosen so it makes sense to have both implementations. For this reason, weselected an image processing problem, image blur, which is relatively easy to understand andimplement in both settings. We also wanted a hands-on example and blurring an image, reducingthe original edge content, has many different desired uses. For example, by blurring thebackground of an image we highlight the object we want to focus on, also by blurring an objectwe can get a fluorescent effect of the object of interest. At the basic level, image blur mainlyinvolves a series of matrix by vector multiplications and the algorithm can be efficientlyimplemented in computer graphics and parallel programming development settings (for exampleusing GLSL shaders and then openCL or CUDA).3. Reflection. A culminating document is required in the form of a laboratory report. Teams arerequired to work together to solve the two labs. We ensure collaboration by requiring eachstudent to submit a lab report with students expected to be able to answer questions about anypart of the lab by the TA or instructor. Students report computational timings for bothimplementations (CG and PP) and explanations for the differences in these timings.Section II ResultsTo assess the students, experience with the inter-class collaboration we used an anonymous survey. Thequestions primarily focus on student experience but also include comprehension questions to provide asample measure of learning outcomes. The experience questions are intended to provide us withfeedback about the student’s perspectives and also to provide students with an opportunity to reflect ontheir role in the experience. The following is a list of the survey questions students received at the endof the class:i.What is something that CUDA and GLSL have in common?ii.Did the joint teaching experience help you understand the GPU from multiple perspectives?(Yes/No/Maybe answer)iii. What worked best for you about the cross teaching experience (e.g. lectures, teammatesexplaining things, office hours, or ?)iv. Reflecting on the cross-teaching experience what did you contribute to your team?v.For CPE 471 (CG) students: Are you more likely to want to learn more about parallelprograming after this exercise? (Yes/No/Maybe answer)vi. For CPE 419 (PP) students: Are you more likely to want to learn more about computer graphicsapplications after this exercise? (Yes/No/Maybe answer)vii. Any suggestions for future exercises of this type? or other comments you would like to sharewith us? SUBMIT

esFigure 1 Results for Questions a) ii, "Did the joint teaching experience help you understand the GPUfrom multiple perspectives?” b) v: “For CPE 471 (CG) students: Are you more likely to want to learnmore about parallel programing after this exercise?” C) vi: For CPE 419 (PP) students: Are you morelikely to want to learn more about computer graphics applications after this exercise?The results of the three types of questions on the survey show that the inter-class collaboration wasoverall a success:A. Comprehension/knowledge related questions. To evaluate what students learned from thecollaboration, we asked a short answer question asking students to write about what is commonbetween the two main libraries/Programming Languages used in CG (GLSL [7]) and PP (CUDA[8]). For this question 24 out of 30 written responses include a relevant technical response, i.e.“Allow for parallel access to data and operations using the GPU” (with 5 other responses alsoincluding correct information but of very general technical value, i.e. “They use the GPU”). Thesurvey also included a Yes/No/maybe question, "Did the joint teaching experience help youunderstand the GPU from multiple perspectives?” shown in Figure 1 (a). The responses clearlyshow that a majority the students feel they have a better understanding of the GPU after thiscollaborative experienceB. Enthusiasm for each class. To assess whether the collaborative experience translated into aninterest in the other course, each group was asked whether they want to learn more about the otherfield after the collaboration. The results are shown in Figure 1 (b) and (c) and reflect that amajority of students want to or are thinking about taking the other class to learn more about thesubject.C. Reflection about the collaborative experience. We asked students to reflect on the team workexperience and specifically their role when working with other students from a different class,the summary of the comments is presented in Table I and II, which are discussed in detail below.Table I Summary of the essay questions iii, “What worked best for you about the cross teachingexperience (e.g. lectures, teammates explaining things, office hours, or ?)”PositiveNeutral or NegTeammates working together and Still haven't figured out the parallelpart.explaining to each other

Seeing the Graphics studentsexplain GLSL as they were workingon it helped me understand it moreMy teammate did an excellent jobexplaining things, especially after Iwas unable to attend the CUDALecture.I found the lectures overall to be alittle chaotic and confusing. Sittingdown with the teammates anddiscussing topics was very helpful.Also coming to office hours alsohelped to clear confusion.Teammates explaining thingsNothing. Requiring attendance oflecture and lab that is so faroutside of students' normal classtimes is unfair for students withconflicting schedulesThe most frequent comment for question iii, about what worked best was teammates explaining things.We are pleased to see this result as it was one of the main purpose of this work (to allow students toexperience both a leadership and learner role in a team). The main complaints (not surprisingly) centeraround the scheduling chaos created by trying to merge two different courses. This was avoided in oneiteration of this experiment when both course sections ran at the same time, but survey data was gatheredfor the second iteration, when the two courses met at distinct times, causing scheduling challenges.Table I Summary of the essay questions iv, “Reflecting on the cross-teaching experience what did youcontribute to your team?”PositiveNeutral or NegI was able to contribute to both labparts effectively. I feel I couldexplain the code reasonably well.Very little. I helped a bit withdebugging the GLSL program butcould not contribute to the CUDAprogram in any capacity.helped the team understand tasksand work through bug fixesI provided ideas on the algorithmswe should use to do the labs andparticipated in documentationWe received very few negative comments on question iv. Students in general seems to have worked outhow to organize themselves by different levels of expertise.Finally, in question vii we ask students how the experience could be improved and again, the mainrecurring comment is about scheduling. Group meeting times are always difficult since students havevery busy and packed schedules. Ideally for this type of collaboration, lab times for the two courses canoverlap, but we still feel the gains outweigh the difficulties overall.

ConclusionOverall, we feel the collaboration provided students with a meaningful way to work on a team with variedexpertise. This kind of experience simulates not only the teamwork found in industry but also thechallenge in industry of collaborating with others who may not be an expert in the specific tasks but canbring relevant technical information to the table. We feel there was value in giving the students thechance to step into a ‘teacher’/expert role and then trade off that role in addition to seeing the projectthey are working on from multi technical perspectives. Aside from the survey, we heard informally fromstudents about how much they did enjoy the collaboration, and that they made friends and for examplesome are planning on working on senior design together. In addition, some students did enroll in therespective “other” class in a later quarter since they wanted to know more about it.Given our experience, we decided to continue the collaboration again this year and are considering thecollaboration as a permanent part of both classes. A new faculty member in computer graphics is nowworking on the collaboration and finding different projects that can be useful for both classes and at thesame time simple enough that can be implemented in two weeks. For example, the most recent iterationof this collaboration used a simple n-body simulation instead of image blurring. This expanded newcollaboration is providing positive team work experiences not only for the students but also for theparticipating faculty members, making the class more interesting and building support among colleagues.A personal observation is that we did notice that many of the students in one class register for the otherclass, and Computer Graphics students almost at their totality take the parallel programming class andthis didn’t happen so strongly before the collaboration. Which indicates to us that the collaboration is theright approachFuture WorkIn this paper we concentrated mainly in the student survey as a measurement for the success of thecollaborative experience, but in future implementations we will evaluate the influence of thecollaborative project on the learning outcomes compared to previous years. The survey was volunteerand we had some of the students not feeling the survey online, we are aware that for futureimplementations of the collaborations and analysis of data we need to increase the response by makingstudents fill the survey during class. We did not collect any demographics information from thestudents to investigate if different groups reacted differently to the group project but we plan to add thisaspect to future analysis.

Bibliography :1.M. LaalSeyed, and M. Ghodsi “Benefits of collaborative learning” Elsevier Procedia - Social and BehavioralSciences,Volume 31, 2012, Pages 486-490.2.Barkley, E.F., Cross, K.P., and Major, C.H. (2005). Collaborative learning techniques: A handbook for collegefaculty. San Francisco: Jossey-Bass.3.Johnson, D.W., Johnson, R., & Smith, K. (1998). Active learning: Cooperation in the college classroom. Edina, MN:Interaction Book Company.4.D. Kantor, Four-Player Model of Communication. Kantor’s orFourPlayerSummaryV2.pdfKivunja, Charles. (2015). Using De Bono's Six Thinking Hats Model to Teach Critical Thinking and ProblemSolving Skills Essential for Success in the 21st Century Economy. Creative Education. 6. 380-391.10.4236/ce.2015.63037.Hammar Chiriac Eva “Group work as an incentive for learning – students’ experiences of group work”. Frontiers inPsychology v.5 pp.558 2014.GLSL. “OpenGL Shading Language” Chronos Group Shading LanguageJohn Nickolls, Ian Buck, Michael Garland, Kevin Skadron “Scalable Parallel Programming with CUDA”,ACM Queue, vol. 6 no. 2, March/April 2008, pp. 40.

Collaborative Inter-Class Project to Enhance Learning in Computer Science Maria Pantoja and Zoe Woods Computer Science and Software Engineering California State University San Luis Obispo, San Luis Obispo, CA Abstract: Engineers in general and computer scientists in particular are required