logging in or signing up zilles Goldie Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 102 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 07, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript SPIMbot: An Engaging, Problem-based Approach to Teaching Assembly Language Programming: SPIMbot: An Engaging, Problem-based Approach to Teaching Assembly Language Programming Craig Zilles University of Illinois at Urbana-ChampaignExecutive Summary: Executive Summary Goal: Teaching assembly language in a way that Is motivating to students Scales to large enrollment classes Makes teaching fun Two contributions: A tool: SPIMbot Program virtual robots using assembly language A pedagogy: open-ended programming contest A creative design/optimization opportunity Motivating Students: Motivating Students One of the keys to learning is engagement: Time plus energy equals learning. There is no substitute for time on task. -Chickering and Gamson We should design out-of-class work that our students work on willingly!The Challenge, My Inspiration : The Challenge, My Inspiration Assembly language can be Tedious Error prone Using robots to teach assembly language A UTEP computer architecture class Patricia Teller’s WCAE 2003 presentation Why Robots?: Why Robots? They are inherently cool Something visceral about controlling something Visual feedback Non-contrived uses of I/O and interrupts Sensors, actuators, etc. Problem-based assignments Engineering students like solving problems More on this later.But, Difficulties with Robots: But, Difficulties with Robots Physical robots … Must be purchased Require lab facilities Must be scheduled (if less than # of students) Must be maintained/upgraded UIUC CS 232 has 100-150 students/semester 1 Professor and 2-3 TAs.Virtual Robots: Virtual Robots Achieve most of the benefits of real ones Modern ugrads happy with virtual environments Without cost, space, hassle, maintenance Not constrained by real physics make environment emphasize desired concepts SPIMbot: SPIMbot extends Jim Larus’s widely used SPIM Available under an open source license Models robot & interactions w/virtual world Updates world after every instruction Display using simple X primitives Portable, minimal resources, not distracting Emulates multiple robots simultaneously Organized for new scenario developmentSPIMbot Demonstration: SPIMbot Demonstration How Do I Use SPIMbot?: How Do I Use SPIMbot? Goals: Let them practice what they’ve learned Or so they learn Have students write non-trivial programs A challenging, open-ended assignment Exposure to the design (& optimization) process Push the students to their abilities But provide a graceful learning curve Start with structured assignmentsHow Do I Use SPIMbot? (cont.): How Do I Use SPIMbot? (cont.) Tightly integrated assignments: 3 structured machine problems (MPs) An open-ended design contest MPs introduce concepts, provide code which can be integrated into contest entry. Introduce contest first: MPs serve as a bottom up implementation SPIMbot Token Collection Scenario: SPIMbot Token Collection Scenario Example Contest: Token Collection: Example Contest: Token Collection SCAN: Request scan (I/O writes), wait, receive interrupt TRAVERSE: Scan returns data encoded in a tree Must traverse the tree to find token locations COLLECT: Orient to token (arctangent approximation), Drive, RepeatStructured MPs Leading to Contest: Structured MPs Leading to Contest MP#1: interpret command seq. to control SPIMbot Control flow (if, loop), functions, simple I/O MP #2: tree traversal & arctangent approximation Recursion, linked data structures, floating point MP #3: simple interrupt handler and scanner I/O, interrupt handling, initial integrationOptimization: Pipelining: Optimization: Pipelining Scan part of the screen at a time Overlap scanning, traversing, and collecting Waiting for scan? Drive to center of regionStudent Reaction: Student Reaction Enjoyment: Overwhelmingly positive “I really liked the SpimBot Tournament. That was the coolest thing I have done in a class.” Engagement: 75% of students attempt optimization (Spring 04) See paper for example descriptions students report spending 10-20 hours/person (Fa 05) Summary: Summary Best learning occurs when self-motivated Make the students want to complete homework SPIMbot: a MIPS programmable robot Open source, scalable, and fun! SPIMbot tournament: friendly competition A creative challenge for students http://www-faculty.cs.uiuc.edu/~zilles/spimbot/ You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
zilles Goldie Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 102 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 07, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript SPIMbot: An Engaging, Problem-based Approach to Teaching Assembly Language Programming: SPIMbot: An Engaging, Problem-based Approach to Teaching Assembly Language Programming Craig Zilles University of Illinois at Urbana-ChampaignExecutive Summary: Executive Summary Goal: Teaching assembly language in a way that Is motivating to students Scales to large enrollment classes Makes teaching fun Two contributions: A tool: SPIMbot Program virtual robots using assembly language A pedagogy: open-ended programming contest A creative design/optimization opportunity Motivating Students: Motivating Students One of the keys to learning is engagement: Time plus energy equals learning. There is no substitute for time on task. -Chickering and Gamson We should design out-of-class work that our students work on willingly!The Challenge, My Inspiration : The Challenge, My Inspiration Assembly language can be Tedious Error prone Using robots to teach assembly language A UTEP computer architecture class Patricia Teller’s WCAE 2003 presentation Why Robots?: Why Robots? They are inherently cool Something visceral about controlling something Visual feedback Non-contrived uses of I/O and interrupts Sensors, actuators, etc. Problem-based assignments Engineering students like solving problems More on this later.But, Difficulties with Robots: But, Difficulties with Robots Physical robots … Must be purchased Require lab facilities Must be scheduled (if less than # of students) Must be maintained/upgraded UIUC CS 232 has 100-150 students/semester 1 Professor and 2-3 TAs.Virtual Robots: Virtual Robots Achieve most of the benefits of real ones Modern ugrads happy with virtual environments Without cost, space, hassle, maintenance Not constrained by real physics make environment emphasize desired concepts SPIMbot: SPIMbot extends Jim Larus’s widely used SPIM Available under an open source license Models robot & interactions w/virtual world Updates world after every instruction Display using simple X primitives Portable, minimal resources, not distracting Emulates multiple robots simultaneously Organized for new scenario developmentSPIMbot Demonstration: SPIMbot Demonstration How Do I Use SPIMbot?: How Do I Use SPIMbot? Goals: Let them practice what they’ve learned Or so they learn Have students write non-trivial programs A challenging, open-ended assignment Exposure to the design (& optimization) process Push the students to their abilities But provide a graceful learning curve Start with structured assignmentsHow Do I Use SPIMbot? (cont.): How Do I Use SPIMbot? (cont.) Tightly integrated assignments: 3 structured machine problems (MPs) An open-ended design contest MPs introduce concepts, provide code which can be integrated into contest entry. Introduce contest first: MPs serve as a bottom up implementation SPIMbot Token Collection Scenario: SPIMbot Token Collection Scenario Example Contest: Token Collection: Example Contest: Token Collection SCAN: Request scan (I/O writes), wait, receive interrupt TRAVERSE: Scan returns data encoded in a tree Must traverse the tree to find token locations COLLECT: Orient to token (arctangent approximation), Drive, RepeatStructured MPs Leading to Contest: Structured MPs Leading to Contest MP#1: interpret command seq. to control SPIMbot Control flow (if, loop), functions, simple I/O MP #2: tree traversal & arctangent approximation Recursion, linked data structures, floating point MP #3: simple interrupt handler and scanner I/O, interrupt handling, initial integrationOptimization: Pipelining: Optimization: Pipelining Scan part of the screen at a time Overlap scanning, traversing, and collecting Waiting for scan? Drive to center of regionStudent Reaction: Student Reaction Enjoyment: Overwhelmingly positive “I really liked the SpimBot Tournament. That was the coolest thing I have done in a class.” Engagement: 75% of students attempt optimization (Spring 04) See paper for example descriptions students report spending 10-20 hours/person (Fa 05) Summary: Summary Best learning occurs when self-motivated Make the students want to complete homework SPIMbot: a MIPS programmable robot Open source, scalable, and fun! SPIMbot tournament: friendly competition A creative challenge for students http://www-faculty.cs.uiuc.edu/~zilles/spimbot/