Download presentation
Presentation is loading. Please wait.
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 Feynman’s File Clerk and one based on the LEGO RCX executes a program.
4
Previous Work Seymour Papert at MIT -- LOGO Fred Martin at MIT - programmable brick CEEO at Tufts – K-12 education Dave Baum of Motorola – NQC Richard Feynman – Lectures on Computation
5
What is the RCX 3 input Sensors 3 output Motors 32 16-bit registers datalog Virtual machine Infrared transceiver programmable in NQC
6
Maxfinder Developed web-based tutorial to enable students to understand what goes on internally in a computer for program like the maxfinder
7
How students proceed through the tutorial Pre-survey Read reference page Post-survey Interactive demo W/ simulator Take quiz
8
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 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.
9
Arithmetic Operations Reference Page -- RCX AssemblyOperationMachine code sum v[0], v[2]v[0] = v[0] + v[2]24 00 00 02 00 set v[2],0x1A5V[2] = 0x1A514 02 02 A5 01 set v[7], input(1)AV[7]=sensor val port114 07 09 01 00
10
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.
11
Arithmetic Operations Reference Page-- FC InstructionOperationMachine code add v[0], v[2]v[0] = v[0] + v[2]24 00 02 input v[2]V[2] = input valueInput 2 mult v[9], v[10]V[9] = v[9] x v[10]54 09 10
12
Proceed to demo DEMO
13
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. “ I wish that more resources like these were made available throughout the entire EG 111/112 course. They are an excellent supplement to the course and provide instruction where the course is lacking.”
14
Quotes from Student Responses cont’d “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.”
15
Quotes from Student Responses cont’d “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.”
16
RCXSimulator Display GUIs/ Externals State/ Internals Control buttons Display windows Section headings Register & I/O Device state Execution state Program code Motor state Sensor state program counter RegistersInstruction set Extra storage Simulator Organization Boxes correspond To major classes In Java applet
17
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() - i f 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
18
Conclusions – major contributions An effective online tutorial with simulator using WebCT A simulator for the RCX Impacted the education of 300 students
19
Conclusions - Findings Effective as indicated by quiz & survey results Useful as a supplement to an introductory engineering course Some aspects are too technical
20
Future Work Future Increase functionality A model approach to other Domains Chemical Engineering Nano Technology
21
File Clerk Simulator
22
RCX Simulator
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.