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

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

Chapter 7: Deadlocks Adapted by Donghui Zhang from the original version by Silberschatz et al.
Sydney, 17 July 2007 IBM SOA EXECUTIVE SUMMIT. IBM SOA © 2007 IBM Corporation Dollars & Cents, Justifying Your Business Flexibility Project Matt English.
Chapter 6 Writing a Program
© 2005 by Prentice Hall Chapter 13 Finalizing Design Specifications Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 1: The Database Environment
The 4 T’s of Test Automation:
Chapter 7 System Models.
Copyright: ©2005 by Elsevier Inc. All rights reserved. 1 Author: Graeme C. Simsion and Graham C. Witt Chapter 3 The Entity-Relationship Approach.
Remote Educational Programming Of Robots (REPOR) Tord Fauskanger Aurelie Aurilla Bechina Arntzen Dag Samuelsen Buskerud University College.
Service Oriented Architecture Reference Model
Hands-On Problem Solving with Remote Electron Microscopy George Motter Andrea Harmer Lehigh University.
Copyright © 2006 Arthur V. Hill, Page 1 Professor Arthur V. Hill John & Nancy Lindahl Professor Professor of Operations & Management.
NCATS REDESIGN METHODOLOGY A Menu of Redesign Options Six Models for Course Redesign Five Principles of Successful Course Redesign Four Models for Assessing.
Redesigning Computer Literacy Arizona State University Tempe,Arizona Toni Farley Redesign Alliance Conference March 23, 2009 Orlando, Florida.
Tammy Muhs-University of Central Florida
Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
GOALS FOR TODAY Understand how to write a HACCP Plan
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULTIPLICATION EQUATIONS 1. SOLVE FOR X 3. WHAT EVER YOU DO TO ONE SIDE YOU HAVE TO DO TO THE OTHER 2. DIVIDE BY THE NUMBER IN FRONT OF THE VARIABLE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
CS4026 Formal Models of Computation Running Haskell Programs – power.
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
TBLT Materials Development as an Instance of Action Research Michael Foster Department of French University of Illinois at Urbana-Champaign September 14,
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 14 Introduction to Computer Networks.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
LEARN HOW TO STUDY Student Wall Planner and Study Guide Success
Providing Effective Feedback
Discussion Discussion # 86 Moving from Criticism to Feedback
Feedback Student Made Easy. 1. Question How do you provide student feedback on assignments? How do you provide student feedback on assignments? A. Hand.
ECE 495: Integrated System Design I
CS1010: Programming Methodology
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Advanced Manufacturing Laboratory Department of Industrial Engineering Sharif University of Technology Session # 3.
Session # 2 SWE 211 – Introduction to Software Engineering Lect. Amanullah Quadri 2. Fact Finding & Techniques.
Expanded Credit Checking A Feature of D-Plus An Enhancement For iSeries 400 DMAS from Copyright I/O International, 2009 Skip Intro.
Eiffel: Analysis, Design and Programming Bertrand Meyer (Nadia Polikarpova) Chair of Software Engineering.
Research Teaming with Marshmallows. As a team, you will need to construct a catapult that can launch a marshmallow the farthest distance. Your team will.
Empowering Business in Real Time. © Copyright 2009, OSIsoft Inc. All rights Reserved. PI Baking Contest Regional Seminar Series Philadelphia Pete Long.
How Can I Incorporate the Appropriate Use of Technology in My Classes? 1 (Session W27) James W. Hall Parkland College (Retired)
Replacement Skills Individualized Intensive Interventions:
ICS 434 Advanced Database Systems
Leadership ®. T EAM STEPPS 05.2 Mod Page 2 Leadership ® 2 Objectives Describe different types of team leaders Describe roles and responsibilities.
Linking Verb? Action Verb or. Question 1 Define the term: action verb.
Database System Concepts and Architecture
Introduction Situations in the real world often determine the types of values we would expect as answers to equations and inequalities. When an inequality.
Programming for IT Students Quintin Gee Learning Technologies Group.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Consignment Tracking System An Overview - Aron Bury - Ian Searle - Ian Storey.
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
User Query Control An Enhancement For AS/400 Query On The IBM iSeries from  Copyright I/O International, 2005 Skip Intro.
Addition 1’s to 20.
25 seconds left…...
Test B, 100 Subtraction Facts
1  Communicating – Speaking, Writing and Sketching – About Math! Sioux Falls, South Dakota June 7, 2011.
Week 1.
1. 2 Easy-to-Use Administrator Features 3 Customisable Screen Cutoff Scores.
Chapter 8 Improving the User Interface
What is… Learner-Centered Instruction. What Is The Goal For A Learner-Centered Course? Making the student more responsible for his/her learning. 1.
0 WPI First Experience Teaching Software Testing Lessons Learned Gary Pollice Worcester Polytechnic Institute and Rational Software Corp.
CS115 Introduction to Programming
IVANA NIŽETIĆ Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia Long-lasting teaching materials in spite of changing technology.
Intro to Programming Web Design ½ Shade Adetoro. Programming Slangs IDE - Integrated Development Environment – the software in which you develop an application.
AP Computer Science Principles
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Presentation transcript:

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

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 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!

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

SPIMbot SIGCSE 2005 Craig Zilles 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.

SPIMbot SIGCSE 2005 Craig Zilles 6 But, Difficulties with Robots Physical robots … 8Must be purchased 8Require lab facilities 8Must be scheduled (if less than # of students) 8Must be maintained/upgraded UIUC CS 232 has students/semester 1 Professor and 2-3 TAs.

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 9

SPIMbot SIGCSE 2005 Craig Zilles 10 SPIMbot Demonstration

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 13 SPIMbot Token Collection Scenario

SPIMbot SIGCSE 2005 Craig Zilles 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

SPIMbot SIGCSE 2005 Craig Zilles 15 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 integration

SPIMbot SIGCSE 2005 Craig Zilles 16 Optimization: Pipelining Scan part of the screen at a time Overlap scanning, traversing, and collecting Waiting for scan? Drive to center of region

SPIMbot SIGCSE 2005 Craig Zilles 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 hours/person (Fa 05)

SPIMbot SIGCSE 2005 Craig Zilles 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