Theactiveclassroom: studentsandinstructors...

21
The active classroom: students and instructors parallel programming... in parallel N. Giacaman, S. Kalra and O. Sinnen Parallel and Reconfigurable Computing lab (PARC) Department of Electrical and Computer Engineering The University of Auckland New Zealand www.parallelit.org https://acp.foe.auckland.ac.nz 5th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-15) Hyderabad, India, 25th May 2015. N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 1 / 21

Transcript of Theactiveclassroom: studentsandinstructors...

Page 1: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

The active classroom: students and instructorsparallel programming... in parallel

N. Giacaman, S. Kalra and O. Sinnen

Parallel and Reconfigurable Computing lab (PARC)Department of Electrical and Computer Engineering

The University of AucklandNew Zealand

www.parallelit.orghttps://acp.foe.auckland.ac.nz

5th NSF/TCPP Workshop on Parallel and Distributed Computing Education (EduPar-15)Hyderabad, India, 25th May 2015.

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 1 / 21

Page 2: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Over the Pacific Ocean... New Zealand

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 2 / 21

Page 3: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Zooming in... Auckland

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 3 / 21

Page 4: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Zooming in... The University of Auckland

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 4 / 21

Page 5: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Zooming in... Parallel and Reconfigurable Computing lab

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 5 / 21

Page 6: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Overview

Programming, what is so difficult about it?The problem with traditional labsDesired features for programming with studentsCurrent tools worth consideringActive learning environments

Traditional approachesImprovements over traditional

Active Classroom Programmer (ACP)Context and benefitsFeatures (and current developments)

ACP supporting the PDC Curriculum InitiativeStudent perceptions on their learningConclusions

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 6 / 21

Page 7: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Programming... what is so difficult about it?

Students mostly struggle with the higher level aspects ofprogramming (rather than details such as syntax)

Understanding how to design the program to solve a problemDebugging their own programs

Requires development of cognitive skills that cannot be taught in thetraditional classroom

Developing the programming strategyActive learning is needed to motivate studentsDebugging practice promotes cognitive programming skills

Even more difficult for parallel programmingPractice, practice, practice

Programming laboratory sessions (labs) are the typical opportunity inwhich students develop these cognitive programming skills

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 7 / 21

Page 8: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

The problem with traditional labs

Typical model:Practical lab sessions are once a week, normally a few days followingthe classroom lesson pertaining to that topic

Delay between the lesson and associated practical lab is too longShort-term working memory only holds information for 20 minutesStudents need to interact with the new material almost immediately,otherwise it will be lost quickly

Frequency of the labs tend to be (at best) once a week. Morematerial is thrown at the students before they have an opportunity toreinforce the earlier materialIt is essential to have a sufficient number of teaching assistants thatcirculate the room answering student questions, otherwise progresswill be severely stalled

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 8 / 21

Page 9: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Desired features for programming with students

The instructor should have the ability to create code spontaneouslyThe examples should be transferable immediately to the student’sprogramming development environment seamlesslyAllow an exercise to be “progressed” in stages, with snapshots of theintermediate stepsThe student and instructor should have independent copies of thecode, so no one is “blocked” from codingThe tool should be non-intrusive and easy to use (no need foradditional tools)

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 9 / 21

Page 10: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Current tools worth considering

Interactive coding websitesFlexible, practice in own timeNo need to download codeNo IDE support, not really helpful for parallel programmingNo guidance in programming strategy

Collaboration pluginsGreat for peer (and pair) programmingCannot work independentlyNo versioning/snapshots

Software version controlVersioning, powerful for students to replay in own timeExtra steps would be distraction in classroom

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 10 / 21

Page 11: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Active learning environmentsThe traditional approach

Traditional classroom lessons“Sage on the stage”Minimal active learningNot all bad:

Should not forget the expertise and knowledge of the teacher

Traditional laboratory sessionsActive learning with predefined coding exercisesWeekly sessions, students complete exercises (alone?) at a workstationTeaching assistants circulate the room answering (repeated?) queriesToo late? Students likely forgotten the material covered in lectures

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 11 / 21

Page 12: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Active learning environmentsImprovements over traditional

Pair programming laboratory sessionsPairing students together in the lab exercisesReduces pressure on teaching assistants, students solve queries togetherIncompatible personality pairingsStudents favour one of driver or observer roles without alternating

Studio-based lessonsReplacing the standard lectures with lab sessionsRadical redesigned course, requiring an increase in the number oflecturers and teaching assistants to help conduct lessons

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 12 / 21

Page 13: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Active Classroom Programming (ACP)https://acp.foe.auckland.ac.nz

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 13 / 21

Page 14: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

ACPContext and benefits

Active programming as new material is presentedOnly 1 instructor/teacher, “business as usual”

Cover theory or new material as normal (slides, etc)But now slip in some coding snippets throughout the lesson

Exercises may be predefined or developed on-the-spotEverything within the same IDE (only Eclipse support at the moment)Snapshots/versions of the exercise are recorded and immediatelyavailable for students to download within the IDEStudents receive guidance on the programming strategyThe atmosphere of the classroom becomes collegialPair programming promoted, students (somewhat) paired with teacherFrom institute’s financial point of view, cost-effective teaching model

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 14 / 21

Page 15: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

ACP features

User accountsUpload project (teacher only)Download projectSync projectVersion diffAdmin controls (teacher only)Features currently being developed:

Generation of usage graphs from logsWeb-based version of ACP

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 15 / 21

Page 16: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

ACP supporting the PDC Curriculum Initiativehttps://acp.foe.auckland.ac.nz/pdc

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 16 / 21

Page 17: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

ACP website under development: quick teaserWebsite organisation by Curriculum Initiative topics

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 17 / 21

Page 18: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

ACP website under development: quick teaserCombining explanations, code snippets, outputs... linked to ACP exercise

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 18 / 21

Page 19: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Student perception on their learningGuidance on programming strategy

What was most helpful for your learning?“The live examples. The practical examples of using theEclipse/Android IDE in class, as well as the kinds of explanations anddiscussions held in class. Errors and mistakes made were helpful inthe sense that we can not only see how they were caused, but thethought process behind the coding that caused the error, theconsequence, and the workaround/fix to correct the error”“I enjoyed the coding sessions in class. It is really helpful because alot of the content we learn is only helpful when we actuallycode it ourselves but seeing the lecturer code in class gives us abetter understanding of what you are talking about and how toactually implement it”

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 19 / 21

Page 20: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Student perception on their learningGrasping of course material

In what way, if any, do you feel the tool assisted your learning?“Helped deepen my understanding and grasping of concepts”“Better understanding of theory that was taught. Exercise examplesare really good, especially step by step versioning is helpful”“Look through parts and fiddle/modify the code to see differencesand understand what happened”“Being able to run through examples in my own time outside lecturesso I can grasp/understand concepts better”“It helped me understand theory through a practical approach”

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 20 / 21

Page 21: Theactiveclassroom: studentsandinstructors ...tcpp.cs.gsu.edu/curriculum/sites/default/files/edupar_slides_nasser (1).pdfTheactiveclassroom: studentsandinstructors parallelprogramming...

Conclusions

In programming courses, both lectures and labs are equally asimportant to the learning process

Students need the lecturer to explain new materialStudents also need a lab-like environment for immediate practice

A collection of projects are being developed to target core topics inthe PDC Curriculum InitiativeAvailable for instructors (and students) of PDC coursesInstructors may create their own projects in the ACP framework anduse it for their own courses – just ask for your own account!

Acknowledgement Special thanks to the NSF/TCPP CDERCenter Early Adopter Awards for their continued support

N. Giacaman, S. Kalra and O. Sinnen (ECE) ACP-PDC PARC, UoA 21 / 21