Week 4

This week mostly consisted of finding and annotating some of the articles to use for my final report, completing sections 5 & 6 of the AJC course, and focusing on populating the memory of the program into the stack grid efficiently. Unfortunately, I was unable to finalize my work on step 6, and will complete it next week.

Step Six: Populate Memory From Stack

How do I display the correct info in the grid?

Fix(es):

  • I created an additional panel component that would serve as an overlay that would change its information based on the code selected in codePanel. This panel also contains the row numbers.
  • I created the States object within the mainExample object that will contain the string output of the chosen line in the class example. This way, once buttons are created in the code panel, users can see the corresponding information loaded into the stack panel.

Attempts:

  • After successfully adding the row numbers atop the grid, I considered how to change the stateOverlay successfully.
  • I considered trying to re-implement the grid, so that an additional overlay was not needed.
  • I decided to create a javascript enviornment using repl.it to ensure that my javascript is correct before combining it with React.

Thoughts & Concerns

  • If I make the overlay contain the output information then the grid is only decorative (and not efficient). I need to find a way to just have everything appear on the grid panel.
  • By having the states entered in manually, other pieces of code will need the same requirements which is less efficient. I need to find a way to make everything more general/more accessible.

Acquired Knowledge:

  • Notional Machines
  • Memory Tracing **

Articles Read, Annotated and Analyzed

  • Why Teach Unix?, Bernard Doyle, Raymond Lister
  • Understanding Notional Machines Through Traditional Teaching with Conceptual Contraposition and Program Memory Tracing, Jeisson Hidalgo-Céspedes, Gabriela Marín-Raventós, Vladimir Lara-Villagrán
  • Engage Against the Machine: Rise of the Notional Machines as Effective Pedgagogical Devices, Paul E. Dickson, Neil C.C. Brown, Brett A. Becker
  • Trace-Based Teaching in Early Programming Courses, Matthew Hertz, Maria Jump
  • Are Visualization Tools Used in Programming Education? Essi Isohanni, Hannu-Matti Järvinen

Completed Tasks

  • Section 5 & 6 AJC
  • Above articles read, annotated, and analyzed using Dr. Anderson’s Conference Paper Template
  • Finished DREU Blog Post #4

Unfinished Tasks

  • Steps 6 - 11
  • Finish Creating VR Experiences & Advanced Java Concepts courses
  • Find more articles for report
  • Work on Final Report
Written on June 22, 2020