WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE

Description:

web-based learning tools on microprocessor fundamentals for a first-year engineering course by jucain butler – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 30
Provided by: Juca6
Category:

less

Transcript and Presenter's Notes

Title: WEB-BASED LEARNING TOOLS ON MICROPROCESSOR FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE


1
WEB-BASED LEARNING TOOLS ON MICROPROCESSOR
FUNDAMENTALS FOR A FIRST-YEAR ENGINEERING COURSE
  • By
  • Jucain Butler

2
Outline of Presentation
  • Introduction
  • Demo
  • Student Responses
  • Inside the Simulator
  • Conclusion

3
Introduction
  • WWW has changed how teaching occurs
  • Virtual labs
  • limited resources
  • physical space restrictions
  • The Tutorial
  • A series of surveys, quizzes, references and
    interactive programs that simulates how a
    computer based on Feymans File Clerk and one
    based on the LEGO RCX executes a program.

4
What is the RCX
3 input Sensors
3 output Motors
  • 32 16-bit registers
  • datalog
  • Virtual machine
  • Infrared transceiver
  • programmable in NQC

5
Maxfinder
  • Developed web-based tutorial to enable students
    to understand what goes on internally in a
    computer for program like the maxfinder

6
Previous Work on LEGO in the classroom
  • Seymour Papert at MIT -- LOGO
  • Fred Martin at MIT - programmable brick
  • CEEO at Tufts K-12 education
  • Dave Baum of Motorola NQC

7
How students proceed through the tutorial

Pre-survey
Read reference page
Interactive demo W/ simulator
Take quiz
Post-survey
8
Outline of Demonstration
  • Arithmetic Instructions Module
  • detailed look from students viewpoint
  • Control and Input/Output Instruction Module
  • introduces sensors, motors, control statements
  • MaxFinder Module

9
Arithmetic Operation Reference Page
  • Arithmetic instructions perform arithmetic
    operations with 2 operands that overwrite the
    value of the first operand with the result.  They
    always go to the next sequential address for next
    instruction.  For the RCX processor, the
    arithmetic instruction format is composed of five
    pairs of hexadecimal digits (one byte each).  

10
Arithmetic Operations Reference Page -- RCX
  • 1. The first byte represents one of five
    operations.
  • 1)     14 (setv)- stores a value in the
    destination register
  • 2)     24 (sumv)- adds operand 1 to operand 2
  • 3)     34 (subv)- subtracts operand 2 from
    operand 1
  • 4)     44 (divv)- divides operand 2 into operand
    1
  • 5)     54 (mulv)- multiplies operand 1 to operand
  • 2. The second byte is the index (or register
    number) of the register that holds operand 1 and
    is the index of the destination register that
    stores the result. 
  • 3. The third byte represents one of three types
    for operand 2.
  • 1)         0 the value of operand 2 is stored
    in a variable register
  • 2)         2 the value of op 2 is immediately
    provided by the next two bytes
  • 3)         9 the value of operand 2 is provided
    by a sensor 
  • 4. The fourth byte is the least significant byte
    of argument to the second operand. 
  • 5. The fifth byte is the most significant byte of
    argument to the second operand. (Note that the
    last two bytes combine to form a two byte integer
    that together represent the argument to the
    second operand.  

11
Arithmetic Operations Reference Page -- FC
  • 1. The first byte represents one of three
    operations.
  • 1)     14 (input)- input value from the scrollbar
    into the register
  • 2) 21 (output)- output the value from the
    register to the screen
  • 3) 24 (add)- add contents of first register
    to the second
  • 4)     34 (sub)- subtract contents of first
    register from second
  • 5)     44 (div)- divide contents of second
    register into the first
  • 6)     54 (mult)- multiply contents of first
    register by the second
  • 2. The second byte is the index (or register
    number) of the register that holds operand 1 and
    is the index of the destination register that
    stores the result. 
  • 3. The third byte represents the second operand.

12
Arithmetic Operations Reference Page -- RCX
Assembly Operation Machine code
sum v0, v2 v0 v0 v2 24 00 00 02 00
set v2,0x1A5 V2 0x1A5 14 02 02 A5 01
set v7, input(1)A V7sensor val port1 14 07 09 01 00
13
Arithmetic Operations Reference Page-- FC
Instruction Operation Machine code
add v0, v2 v0 v0 v2 24 00 02
input v2 V2 input value Input 2
mult v9, v10 V9 v9 x v10 54 09 10
14
Proceed to demo
  • DEMO

15
Results and Student Responses
  • Post-Quiz Survey
  • How helpful was the learning tool?
  • What did the students learn?
  • Student suggestions about the tutorials
    strengths and weaknesses
  • Over 300 students responded

16
Quotes from Student Responses
  • It was useful in understanding the underlying
    task the RCX performs to process our NQC
    commands.
  • It was very helpful, and I believe we should
    have been required to do this before the Scanner
    project.

17
Quotes from Student Responses contd
  • I found it interesting to see how high-level
    code works as machine code.
  • I was confused by some of the terminology and
    it would have been helpful to have someone there
    to explain.

18
Quotes from Student Responses contd
  • I think that the online tutorial is a useful
    tool but could become overused by professors.
    This may lead to excessive information for the
    students, and the professors not teaching.

19
Graph of Student Responses
  • 1 - not helpful
  • 2 - a little helpful
  • 3 somewhat helpful
  • 4 very helpful

20
Inside the Simulator
  • Approach
  • Generic simulator
  • Customizing for a particular example
  • Implementation
  • Java applet
  • Object oriented
  • Components encapsulated as classes
  • Take advantage of inheritance
  • how it is customized to a particular demo

21
Simulator Organization
Boxes correspond To major classes In Java applet
22
Major Classes and Methods
  • RCXSimulator Class
  • Program Class
  • Interpreter Class
  • RegisterFrame Class

23
RCXSimulator Class
  • accept a program, step or run through the
    execution of that program, and displaying the
    state
  • an abstract class that inherits from the APPLET
    class
  • important methods
  • init ()  - initialize variables and instantiate
    instances of major GUI classes
  • run() - if the run button is pushed, execute the
    next instruction until the end
  • actionPerformed() - perform function based on
    which control button is selected
  • abstract int getTheProgram() - get the array of
    bytecodes

24
Interpreter Class
  •  
  • The Interpreter class interprets the bytecodes
    and implements the entire instruction set
  • This class is the data type of a variable and is
    instantiated in the RCXSimulator class
  • Important Methods
  • synchronize executeNextInstruction() - chooses
    from a case statement based on the opCode a
    method which interprets the next instruction.
    it is synchronized because executing an
    instruction is an indivisible act  
  • -- this methods that interpret the bytecodes for
    the complete instruction set
  • executePWR()
  • executeDIR()
  • executeSETV()
  • executeJUMPL()       
  • executeSUMV()     
  •  

25
Program Class
  •  
  • The Program class supplies the RCXSimulator class
    with a programs bytecode and gives the applet
    its personality
  • This class inherits from the RCXSimulator class
    and implements its abstract methods
  • Important Methods
  • getTheProgram() - returns the array of bytecodes
    that constitute a specific program
  • getbytecodeMnemonics() - returns the array of
    String that make up the bytecodes mnemonics
  • getAppletTitle() - returns the title of the
    applet as a string
  •  

26
Code Statistics
  • There are 24 Classes
  • There are 3821 lines of code
  • Sensor has 50 lines
  • RCXSimulator has 591
  • Interpeter has 1301 lines
  • Java Class Package Libraries
  • AWT
  • Applet
  • Thread

27
Conclusions major contributions
  • An effective online tutorial with simulator using
    WebCT
  • A simulator for the RCX
  • Impacted the education of 300 students

28
Conclusions - Findings
  • Effective as indicated by quiz survey results
  • Useful as a supplement to an introductory
    engineering course
  • Some aspects are too technical

29
Future Work
  • Future
  • Increase functionality
  • A model approach to other Domains
  • Chemical Engineering
  • Nano Technology
Write a Comment
User Comments (0)
About PowerShow.com