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:
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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:
- 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.