Java Perspective: CS 1502

Introduction
We wanted to allow CS 1502 students to interact with VRMidtown through Java. We decided to look at VRMidtown from the perspective of a CS 1502 student and try to understand how to make this interaction a reality. We didn't want to confuse the students with the specifics of VRMidtown nor did we want to stray from the learning objectives of CS 1502, so these were some of the initial challenges we faced.

CS 1502 Research
We spent a lot of time looking at existing CS 1502 assignments, labs, programs, and learning objectives. It seemed as if students were being introduced to object oriented programming using Java as a tool. We realized that there was so much being taught through CS 1502 that we had to make the interaction with VRMidtown simple, so we did not take attention away from the CS 1502 curriculum. We tried different ideas and suggested several programs that could help reinforce the CS 1502 learning objectives while working with VRMidtown. We finally narrowed it down to three individual programs that seemed realistic to combine VRMidtown and CS 1502.

Program 1 - "Introduction to VRMidtown"
The goal of P1 is for students to create an object in the VRMidtown environment and have it move around so that they could "see" their code working. This program should be simple to do and time should mostly be spent on setting up environments on the computer to be able to see VRMidtown.

Program 2 - "Searching through VRMidtown"
The goal of P2 is for students to develop a search-algorithm to find the best path between points in VRMidtown. Then their object could follow this path so that they could see their object finding the best path. Time should mostly be spent on developing the search algorithm.

Program 3 - "AWT UI for VRMidtown"
The goal of P3 is for students to create a user interface using Java's AWT functionality for an applet. The student should create a joystick in an applet and be able to move an object around in VRMidtown. Time should mostly be spent on understanding how to create an applet.

Problems encountered
Unfortunately things usual don't go as planned. With all these great ideas we were ready to test them out and make these programs a reality. But there was a problem still that we could not fix. Guaranteed message packages were not guaranteed at all, so our Java objects could not "live" in VRMidtown yet. We spent a lot of time trying to solve this problem and another group tried to solve it as well. We were desperate for time and decided to try to implement the programs without the interaction with VRMidtown. We create a temporary fix that looked like it was interacting with VRMidtown all though it wasn't, and this worked to a limited degree. We, however, were never able to "see" our Java objects interact with VRMidtown and that will be a challenge for next quarter.

Another problem we encountered was the difficulty in meeting with CS 1502 TA's to discuss how to introduce CS 1502 students into VRMidtown. We realize that we asked them late in the quarter and so they are not to blame for being so busy late in the quarter. We tried to meet with them once and they had canceled their meeting, so this will be a priority for next quarter.

Next quarter goals for the Java perspective
Meeting with CS 1502 TAs and understanding their perspective is going to be very important. We started to realize that all these 'great' ideas we had may not be so great because we didn't have to teach them to the students nor did we have to evaluate the programs. Next quarter we need to meet with the TAs and get ideas from them as to how to introduce this new environment to a bunch of students they may already be struggling to learn Java. We wanted to take the top students and only a few students to test it out this quarter, but we realized that this may not be the best idea either. Getting ideas from the CS 1502 side will really help us move forward and produce something that is worth while for the students as well as the TAs.

Implementing Java into VRMidtown will also be a goal for next quarter. We have ideas and templates to let Java code create and influence objects in VRMidtown, next quarter we just have to make them a reality. More functionality will be need to support all the new programs that we may want to try and the Java Native-Interface will have to be modified to reflect addition functionality.

A lot of work was done to make the interaction between CS 1502 and VRMidtown real this quarter. Now that we have solid templates and programs out of the 'big cloud' of ideas, we can now focus on making them real. We have three programs that work in the Java environment and they will just need to be incorporated with VRMidtown once the 'guaranteed packages' problem has been solved. It looks as if the porting of VRMidtown onto Windows NT will be done this quarter too, which is yet another step closer to making it a reality for CS 1502 students.

<< Back to Course View: Fall 1998