Recent Teaching Projects and Innovations

This page shows a selection of projects and innovations that I spent more time on in recent years. Please click on the links below to review my work. It took some effort to make this available in this way so I do hope you will at least give them a glance. Remember to click-on the Back button at the top of this window in order to get back to this page.

Microcomputers and Applications (23:101)

This course is primarily a freshman level service course. I have over 50 students in the class whenever I teach it (a couple years ago I had 115 when I forgot to place class size limit). Unfortunately, this results in more lecture and demonstration based class than I or the students desire. Still, hands-on practice comes in the form of lab assignments that students can either do on their own or sign-up for a lab time in which the T.A. will be present to assist. One of the challenges is the unpredictability of the technology (especially since it is open for use by others). Some recent innovations are:

  1. Mac + Windows - For the last few years the class has been taught without being specific to either Macintosh or Windows/PC platforms. This year (1998-99) I was involved in configuring the hardware in order to demonstrate on either platform and quickly switch between them. This has proved to be excellent for answering questions about the differences, but it does require more careful thinking on my part to keep things straight. Students are allowed to use either computer on most assignments, and are required to use a specific one or both on others. CLICK HERE to see a good example of a recent assignment designed to get the student to be more able to move information between Mac and PC platforms.

  2. Scanning Photos - This is the first semester that I have decided to require the students to scan an image. A lot is learned in this assignment such as digitized imagery, pixels, color depth, monitor resolution and settings, dpi, and offline vs. online devices. Furthermore, since I have students upload these images in preparation for their webpages, they also must learn some about the Internet and FTP software. You can review the assignment page for this lab if you like, but I want you to look at one innovation I did to make this interesting. CLICK HERE to see my seating chart for the class and then click on various seats to see student photos (of those who did the assignment correctly). This took some work to put together, but it adds immediate feedback to the student regarding whether they did it right or not.

  3. Internet Activities - Over the last few years Internet activities have taken on a larger part of the class. Clearly, students are motivated to do webpages so, to take advantage of that, I created a basic webpage building assignment and a choice of term project (which included webpage design and was chosen by most students). There is a lot of learning that takes place here. Students learn about the Internet, the Web, client-server software, working on different platforms (Mac, Windows, Unix), and more. CLICK HERE to see samples of student webpages (esp. Fall'98, the last complete semester).

  4. Other Assignments - Typically I assign labs that require creating pie charts and other types of series graphs from spreadsheet data. As you can see from these links to various assignments, I sometimes go to the trouble to add graphics to my assignment pages to both add interest and be suggestive of what I am looking for. Here are some examples: This year (1998-99) I discontinued this practice because of the amount of time expended which was needed for other pressing tasks. Still, I was pleased with these because several students asked how I created the drawings for all to see on the web and then tried to do the same themselves.

Java (23:320)

This year I am teaching Java for the first time. There was a lot of complexity and preparation involved in doing this.

  1. Learning the Language - Java has similarities with C and C++ but it has many profound differences, particularly with respect to its use as a way to create software that runs in the context of a web page (called Java Applets). I wrote an applet to identify to students when their Graceland final exams are and used it in several ways: I put the link in all my syllabi, I told colleagues about it so they could do the same, I required my 23:101 students to use it in a basic web usage assignment, and I let Java students pick it apart as an illustration. CLICK HERE to see this Final Exam Applet in operation.

  2. New Programming Approach and Textbook - I subscribed to an active e-mail list on the topic of teaching object oriented programming principles with Java. I shared my frustration that most textbooks on programming still follow a keyboard input and text-based output scheme. Students today want to work at a higher level (mouse input and graphical output in particular) and lose interest when that is not part of their educational experience. Furthermore, that is the type of software that is being developed commercially. Since Java is a programming language that facilitates web-based execution, it seemed the perfect place for this Graphical User Interface (GUI) approach to programming. I asked for help in finding a textbook which conformed with my ideas. It generated a lot of dialog with Computer Science professors... some who agreed and some who strongly disagreed. It was an interesting discussion and pointed to the fact that there are some strong "back to basics" viewpoints out there which are at odds with what I see as the shifting paradigm in programming practice. I did get directed to a textbook that fit the bill, one published in Europe (Prentice Hall Europe) titled, Java for Students, 2nd edition, by Bell and Parr. Unfortunately stocks were too low and the next printing was too late for my course, so I have been scrambling this semester.

  3. The Java Calendar Project - One assignment that students in the class were asked to do was to create a calendar based on any month or year. They learned a lot about calendars. Prior to 1752 every forth year is a leap year and by a Pope's decree there were some days removed from September 1752 to fix a growing error. After 1752 every forth year is a leap year with this exception: that century years are leap years if divisible by 400 (i.e., 2000, 2400, etc.) but otherwise not a leap year (i.e., 1800, 1900, 2100, etc.). Student versions to check out follow:

  4. Towers of Hanoi Project - This is a classic computer science problem that encourages a recursive approach to the solution. I decided to design a slick animated version (to show off that instructors can do such things). CLICK HERE to see the instructor example. Note: if you do not see anything it may be that your browser is not Java 1.1 compliant (in which case the student versions below may not work for you either). Several student versions follow:

Introduction to UNIX (23:121)

This year I had the students fix their inet-ux computer accounts so that nobody else could see or copy their work. But this made it difficult for me to grade their work and verify that it was not copied from someone else since they were protected from me too. My solution, was to create command scripts for the student to run themselves which would send me what I needed by email. You can look a a sample of this technique on one of my homework assignments. Furthermore, I was able to set up an email FILTER to gather each different assignment into different email folders automatically. Thus I could grade them at my convenience later on.