CAITL Faculty Fellowship Proposal

William J. Klinger
March 17, 2004

Title: An Internet-based Tool for Collaboration Exercises and Research

Abstract: This application is for a two-semester project to produce a collaborative software application that can be used in RVCC classrooms and in team building exercises. The application will run on the Internet and can be used in classrooms to expose students to the topics of collaboration, teams, management, and leadership. The tool will require people to collaborate to achieve a mutual goal and students can evaluate the effectiveness of different leadership or management styles and collaboration techniques. The tool can be also be used in team building exercises by faculty and staff and may be useful in CAITL leadership training and team building exercises. Because the application will be Internet based, it will also allow for groups to be distributed geographically.

In addition to its use in collaboration evaluation and teambuilding, the tool will allow the measurement of the effectiveness of the collaboration. For example, it will be possible to measure if there is a difference in the collaboration of men versus women, different cultural groups, or any number of groups. The application will also be useful in computing and networking courses to demonstrate the use of advanced computing techniques, such as threads , sockets , and protocols .

I will demonstrate this program to faculty and mentor colleagues interested in using it in their classes. This work will also produce a manual for using the application, an instructors’ manual for performing various collaboration and team building exercises, and instructional material that can be used in computing classes. If possible, I will also work to have the application work in conjunction with the Lion’s Den

Plan: My proposal is to build an Internet-based collaborative tool that can be easily and cheaply used in any classroom with PCs. Because the system will be Internet-based, it will also allow for collaboration sessions with groups that are geographically distributed. For example, two different classes could participate in the same exercise. The groups could be down the hall or across the country.

In my collaboration application, I plan to have people work together to have a swimmer swim through a maze to reach a goal. Participants will determine the direction the swimmer moves. They will ‘vote’ by clicking a button on their screen to register a green or red vote. Voting is continuous and changes are registered in real-time. Each second, the system will tally the votes of the players to determine if the swimmer should turn left, right, or go straight ahead. Since voters can only vote red or green, the criteria will be that two-thirds of the group must vote for left or right to turn in that direction, otherwise the swimmer will move straight ahead.

Because the goal is a known number of moves away and each move requires one second, it is easy to calculate how fast a swimmer will reach the goal with “perfect collaboration.” Thus we can compare groups to each other and even normalize them to the perfect collaboration time.

In addition to the basic maze collaboration, I plan to build two variations. One will instruct one-fourth of the participants that they should sabotage the progress of the group. Because of the voting algorithm used, the saboteurs will not be able prevent the group from reaching the goal, if everyone else collaborates. In a second variation, I plan to allow for two different goals. The group will be able to collaborate up to a point but will not be able to achieve both goals and, without one group sacrificing its goals, will not be able to achieve either goal.

I then plan to extend the basic collaboration exercise to two other exercises. I plan to create a simple Pong game where the players are divided into two teams and must collaborate to control the paddles. In a more ambitious exercise, I would like to create an application where the players control a simulated airplane. I do not know, at this time, if I can complete the flight simulation collaboration within one year.

Steps to Project Completion:
Semester I:
1. The project requirements are outlined above.
2. The software will be written using Java applet technology with Sockets and Threads. I estimate that approximately 4000 commented lines of code will be required.
3. The software will be tested on a PC first to ensure the proof of concept.
4. The software will then be ported to a server, most likely rvcc2.
5. The software will be tested using the server and remote applets. This step will test the technical limits of the game. For example, it will determine how many players can play simultaneously and ensure good response times.
6. The game will be tested on a group. This will test the user interfaces and reactions to the game.
7. Demonstrate the game to interested faculty.
8. Mentor faculty interested in the application.
Semester II:
9. Produce instructional material.
10. Train and mentor instructors
11. Perform exercises and collect data using differently composed and distributed groups.
12. Analyze and report findings of research.
Future work, time permitting:
13. Add capability to play Pong game cooperatively
14. Distribute new exercise and train instructors
15. Add capability to play a flight simulator cooperatively

Relevant Work: A group at U.C. Berkeley, under the direction of Ken Goldberg, has done research on collaborative control of robots. The U.C. Berkeley group uses the Internet to allow people to register their votes (again using simple color choices) and by collaboration control the movement of objects. This approach is also being used to direct the actions of people outfitted with cameras. Unfortunately, these systems are expensive and difficult to operate. They require custom equipment, such as robotic cameras and devices, and also custom software to register votes and make actions. Another disadvantage of the existing research tools is that it is difficult and often impossible to objectively measure the effectiveness of the collaboration. I plan to produce a simple, easy to use system that can be used by all groups at RVCC and which will provide metrics.

Proposed Method of Dissemination: In addition to developing the software, I plan to produce instructional materials, train and mentor instructors in the use of the exercises. Materials will include an instructor’s manual for setting up and running exercises. I will also produce instructional material with suggested exercises and material for use with students or team building groups. I will provide training sessions for instructors.

Courses Planned: I will use the material from this project in the Systems Analysis & Design course when I cover the topic of creating and leading teams. I will also use the software in the Operating Systems and UNIX courses as examples of advanced operating system principles. Stephen Brower has expressed an interest in using this in his Systems Analysis & Design class, as well as in his Computer Concepts & Programming class.

Statement of Approach to Teaching and Learning

I teach like I would like to be taught. It begins by demonstrating a passion and energy for the subject. Without energy, a class becomes tedious for all involved and learning becomes more difficult. With passion, the class can come alive and generate an atmosphere where students care about the subject, want to learn, and actively participate. If the instructor doesn’t care about the topic, neither will the students.

Different topics and situations require different approaches to the delivery of the material. Some topics work well with PowerPoint slides. Other topics, such as problem solving and programming, are better worked out on a white board. If I find one approach is not connecting, I will try another until the students understand the material. All my class material is available to students on a class web site. Class presentations, notes, exercises, homework, syllabi, office hours, and other useful resources are on the sites.

To help students connect, I do not just present material and have them take notes. I work out problems with them. I want to see how they think when faced with a problem. If I can uncover an obstruction to their understanding, then I can try to find a way to address it. It is often useful for students to hear my thought processes when tackling a problem, especially the dead ends I might pursue.

I want all students to connect to the topic and I will call on students, by name, to answer questions. Typically, I will work my way systematically around the classroom asking students to answer a question or explain a concept. Sometimes, I may perceive that someone does not understand the material and I will call on them more frequently to be sure they understand. I do not call on people to embarrass them because they might not know the answer. I will call on students who appear to be losing attention - not to embarrass them but to re-engage them.

I look for real world examples to incorporate into my classes. For classes such as Systems Analysis & Design, it is easy to find examples from my experience. In a concepts class, such as Operating Systems, I will use analogous problems found outside computing. My students become quite familiar with discussing queues and scheduling at McDonalds and will likely never again visit a fast food restaurant without thinking about the class. In my UNIX class, I tie in Internet concepts by having their shell scripts produce simple web pages so they can see how what they learn can be practically applied.

Group work is also an important element of my teaching. Exercises will often be worked in groups and we discuss both the material being covered and the dynamics of working in groups. In Systems Analysis & Design, we briefly cover personality types and I will create groups based upon their types. The students enjoy the added dimension of learning.

In addition to group work, I look for the opportunity to provide one-on-one instruction. Typically this will occur during lab time. For example, instead of just handing back homework at the beginning of a class, I will wait until I have given the students a lab exercise. During the exercise I will talk to the students individually about their work and give them suggestions for improvement.

I treat the students as though they are in a work environment. I expect them to be on time and assignments are due at the beginning of class, unless prior arrangements have been made with me. The same is true of exams. Of course, I also accommodate truly unexpected emergencies.

I demand a lot of my students but I also show them that I care about them and their education.

William J. Klinger
wklinger@raritanval.edu


Vitae:

Education: MBA – University of Chicago 1981
Awarded fellowship for international business program
Received dual MBAs from the University of Chicago and K.U. Leuven, Belgium
Finance and Marketing with honors from the University of Chicago
International Business and Finance with great distinction from K.U. Leuven
Elected Beta Gamma Sigma, national honorary business fraternity.

MS – University of Wisconsin – Madison 1976
Computer Science

BS – University of Wisconsin – Madison 1974
Mathematics with distinction

Experience:

2002 – Present RARITAN VALLEY COMMUNITY COLLEGE; North Branch, NJ
Instructor - Computer Science and Educational Technology
Teach Systems Analysis & Design, Data Structures using Java, Operating Systems, UNIX, C Language, and Computer Literacy

1998 – 2001 LUCENT TECHNOLOGIES; Holmdel, NJ
Director – Optical Networking Development
Created industry-leading optical networking switching system using pioneering object-oriented technology. Led the overall project management of 500 staff at 7 locations in the U.S., Germany, the Netherlands, and India. Directed the software development, integration, and customer support department of 120 staff with a budget of $20M.
• Recognized by The Wall Street Journal for outstanding leadership.
• Created innovative technical architecture to simultaneously deploy both domestic and international products resulting in increased sales and significantly reduced costs.
• Defined development processes that allowed 2 million lines of C++ code to be written by groups distributed across the country.
• Directed information technology group responsible for a complex, multi-platform environment consisting of Windows NT systems, UNIX workstations and servers, and embedded controllers.
• Improved productivity with innovative uses of Web technology and Oracle databases that provided real-time project status, management reports, development status, integration progress, and test results.

1992 – 1998 UNIX SYSTEMS (Includes divestiture from AT&T and two subsequent acquisitions)
1996 – 1998 SANTA CRUZ OPERATION (joined in Santa Cruz acquisition from Novell); Florham Park, NJ
Director Platform Products and Services
Directed the development of the UNIX operating system, including program management, systems analysis, integration, system test/quality assurance, and documentation. Led 100 developers in England, New Jersey and California, together with computer vendors as development partners, in producing a product of 6.5 million lines of C, C++, and Java code.
• UnixWare 7 received Byte Magazine's award for Best Operating System of the Year.
• UnixWare achieved world record benchmark performance results.
• Established formal metrics to be met before product could ship, resulting in extremely reliable, enterprise quality, product.
• Developed creative system tests to predict mean time between failures in the field, improving quality before deployment.

1993 – 1995 NOVELL (joined in Novell acquisition of UNIX System Laboratories); Florham Park, NJ
Director - Software Engineering
Led the breakthrough development integrating the UNIX operating system and NetWare to produce UnixWare, an industry leader in enterprise servers. Simultaneously delivered UnixWare 2 in six languages, unprecedented in the industry and setting the standard for software products.

1992 – 1993 UNIX SYSTEM LABORATORIES
Business Unit Head; Summit, NJ
Created and headed the UNIX Press publication business unit with complete profit and loss responsibility. Grew revenues from $5M to $7M over the eight quarters I led the unit.
• Invented new licensing and pricing scheme that reduced sales costs and increased revenues.
• Received Society for Technical Communication awards for Excellence and Achievement
• Negotiated contracts with major computer vendors that ensured future revenues.
• Created development processes and tools that increased productivity by 300% by enabling a single documentation base to be used for printed books, online help, and online documentation.

1976 – 1991 AT&T
1984 – 1991 Division Manager; Summit, NJ
Product manager for the UNIX operating system, taking it from an internal research and university project to a successful industry platform. Established product strategies, pricing, sales policies, and market positioning that started the open systems market. Also directed product development for an AT&T- Quotron joint venture to create an innovative financial information system integrating PCs, PBXs, AT&T Mail, and Quotron computers and terminals.
• Defined and executed program that developed and deployed the first graphical UNIX system.
• Invented pricing structure that resulted in explosive market growth.
• Led intellectual property effort that resulted in cross-patent licensing agreement with IBM.
• Keynote speaker at UNIX Expo and Gartner Group conference on open systems.

1981 – 1984 District Manager; Morristown, NJ
Product manager for minicomputers, creating market and product positioning for AT&T’s introduction into computers. Lead member of AT&T task force that defined AT&T’s entry into the commercial software market, its first venture outside of regulated telecommunications.

1976 – 1981 Member of Technical Staff, Technical Supervisor; Naperville, IL
• Architect at Bell Labs for the first distributed digital switching system in the industry.
• Awarded U.S. and foreign patents for innovative software.