SPIMbot: An Engaging, Problembased Approach to Teaching Assembly Language Programming - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

SPIMbot: An Engaging, Problembased Approach to Teaching Assembly Language Programming

Description:

Craig Zilles. Executive Summary. Goal: Teaching assembly language in a way that ... Craig Zilles. Motivating Students. One of the keys to learning is engagement: ... – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 19
Provided by: sanjay5
Category:

less

Transcript and Presenter's Notes

Title: SPIMbot: An Engaging, Problembased Approach to Teaching Assembly Language Programming


1
SPIMbot An Engaging, Problem-based Approach to
Teaching Assembly Language Programming
  • Craig Zilles
  • University of Illinois at Urbana-Champaign

2
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

3
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!

4
The Challenge, My Inspiration
  • Assembly language can be
  • Tedious
  • Error prone
  • Using robots to teach assembly language
  • A UTEP computer architecture class
  • Patricia Tellers WCAE 2003 presentation

5
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.

6
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.

7
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

8
SPIMbot
  • extends Jim Laruss 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 development

9
(No Transcript)
10
SPIMbot Demonstration
11
How Do I Use SPIMbot?
  • Goals
  • Let them practice what theyve 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 assignments

12
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

13
SPIMbot Token Collection Scenario
14
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, Repeat

15
Structured MPs Leading to Contest
  • MP1 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 integration

16
Optimization Pipelining
  • Scan part of the screen at a time
  • Overlap scanning, traversing, and collecting
  • Waiting for scan? Drive to center of region

17
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)

18
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/
Write a Comment
User Comments (0)
About PowerShow.com