<H2><B>Frontiers in Education, San Juan Puerto Rico, Nov 10-13, 1999</B></H2>
9/21/99 Version Frontiers in Education San Juan, Puerto Rico Nov. 10-13, 1999 To be presented 11/13 www.cs.ucla.edu/~klinger/fie_6_7.html
Course Development in Computer Science Design

Course Development in Computer Science Design

Allen Klinger

School of Engineering and Applied Science

University of California Los Angeles

Los Angeles California 90095-1596

Abstract - This paper concerns new procedures devised to stimulate creative accomplishment by undergraduate students. The methods employed involve a wide range of educational technologies, and include flexibility for participant choices. Almost all students in the twelve offerings to date have been seniors in computer science. Thirty-five individuals completed team projects in one class. Typically from six to twenty students take this course.

The course has objectives of furthering participant ability to communicate. Students gain experience with presentations, composing visuals, dealing with questions, participating in discussions, and in developing technical report writing skills. I lead them to inquire and reach out by library, inter-net, and personal interaction means. (Both with potential users of products they design, and authors of material they read on current computer technology). The methods discussed in the talk include ways to foster group interaction.

Students are subtly encouraged to regard the class as an entity. This is done by the instructor adopting a 'guide on the side' stance, no grade being assigned to oral exposition, and giving only feedback-grades to written work prior to the submission of the team project.

Some of the techniques used rely on electronic mail, complex use of the world-wide-web, availability in the university library of volumes compiled from professional and student work by the instructor, and multiple surveys of class participants. These means foster student cooperation and generate a sustainable noncompetitive dynamic. Forms and methods presented show what has been done over the past four years at UCLA.


This paper concerns a four-year process of devising new instructional methods in an undergraduate course where students work in teams on computer design projects. Many of these methods used the computer, for example by prompt electronic mail interactions, posting course forms to a world-wide-web site, etc. Others involved developing and teaching procedures to record/describe work product. Ways to overcome self-imposed limits ("outside the box" thinking), to facilitate brainstorming, to create a consensus through negotiation techniques, and to sustain effort, became fundamental through new material developed for the class. The following sections document the effort.

The group project course at the undergraduate level responded to an accreditation visit comment regarding student proficiencies/deficiencies. Engineers in industry increasingly believe of computer science graduates: "they know a lot of programming languages but can't talk to each other"; "they aren't able to speak about what they've worked on." (I've heard it within the past six months. But I took on this teaching role after others set up the course…and my first time as instructor was in Spring 1995.) The design course was to enable communication by requiring team effort. My two relevant background experiences for becoming instructor were: having taken many design courses as an undergraduate in electrical engineering; and years as instructor in junior- senior-level data structures and algorithms computer science classes.


Written documents, effective figures, and oral presentations are fundamental in business. Building procedures to train students in preparing memoranda; graphs and similar diagrams; and in becoming at ease in responding to questions, was the subtext of the design course. To reach this level a process had to be put into place to manage the main theme: helping individuals work together on a group design.

The theme of the first third of this course is initiating a project. There are two parts to this. First, students must find partners to work with. Second, all must agree on a common goal. Two methods: giving a talk, and writing a short description of work done or to be begun; were the cornerstone of this starting segment.

At the first class meeting I distributed a course overview document. This contains several sample project descriptions. Two of the many administrative statements listed there govern the nature of the ten to eleven week design process. A) All students must make at least two formal presentations to the class. B) There are three required written team submissions: project description, interim, and final reports (all are handed in via hardcopy).

I describe and demonstrate a variety of speaking styles. They range from chalk talks, prepared handouts (xerox copies), writing as one speaks on film transparencies shown by an overhead projector, to previously prepared slides or film-transparencies or computer-images. These examples become starting points for student class presentations.


At the beginning of each course students need to recruit partners to constitute a project team. Circulating a sign-up sheet to record email addresses and telephone numbers helps promote this. Some sharing of ideas and informal discussion or interaction should take place outside of class but allocating some meeting time to that helps students.

I establish a clear priority for students' presentations at each class meeting. This is to highlight two goals for students: gaining facility in composing visuals for speaking; and learning to value dialog — in short, using feedback to stimulate work improvement. Instructor formal presentations were kept to the first twenty minutes. [Even there the class was first surveyed regarding the number of people who had prepared to give a formal talk that day.] Students' activities always took precedence, whether they were mainly "information-gathering" or "purposeful-design" in pattern.

I emphasize incremental effort and stress the value of regular reporting (for instance, to safeguarding intellectual property). Since students are reluctant to write but are interested in topics not covered in existing courses, I encourage submitting brief reaction or summary pieces on articles or book chapters (Figure 1). In allowing student selection of projects and background reading I sought to involve them in activity of their own individual strong interests. Figure 1 shows how this was done with regard to encouraging improved student writing.

Mild Incentives for Frequent Writing

Sample Bibliography

Braham, R., "Sharing Virtual Worlds," IEEE Spectrum, 34, 3, Mar. '97, 18-19.

Holliday, C., "The Residential Gateway," IEEE Spectrum, 34, 5, May '97, 29-31.

Roehle, B., "Channeling the Data Flood," IEEE Spectrum, 34, 3, Mar. '97, 32-38.

Summary and Reaction Assignment

Write short items about some article you read; items from newspaper, magazines, world-wide-web, book-chapters, and general items as in the above sample bibliography. Meet this requirement through one or more reaction paragraphs or a page-long summary. Record information you might use later after the item itself became inaccessible. Items to be handed in at any class meeting or office hour and returned with comments soon after.

Graded Items

Corrected and scored work given back to students without recording the score. (Student's can focus on raising accomplishment level without regard to items influencing course grade.) Lists containing number of items handed in over the quarter contribute to five percent of the course grade.

Figure 1. Using a Standing Assignment to Build Facility

Figure 2 shows the general approach used to incorporate report writing skill throughout the design project:

Project Writing


Write out a statement about what you have done.

Talk about your work.

Show and say things: use figures, graphs, diagrams, proofs, or quotes. Then in your own words describe what they mean to your key theme.

Use headings and titles to focus and describe the effort.

Employ emphasis (italics, bold, underline).

Keep a section on one issue. One thought per sentence or paragraph.


Evidence is always appropriate. Put another way, statements without evidence are hollow or sound empty. The two basic kinds of evidence are authority and proof.

Authority could be a citation. List a place where the thing you believe is so has been said to be true by others, in a reference list. (Belief is strengthened if those others are experts.)

Proof could be indicated by data: experimental results, a table, a graph, initial sketch or complete design. A working model is at one end of a continuum, a conceptual diagram at the other.

Learn and Use These Project Procedures

Team Work

Do something that requires more than one person’s effort.

Use different work skills.

Compose weekly progress reports.

Select your own goals.

Convert concepts to concrete work statements.

Convert work to things others will understand.

Decide how your efforts support the overall goal.

Figure 2. Creating A Team Project Report

Although students in computing vary greatly in their willingness to write, small incentives and emphasis on the value of practice have impact on all the course participants.

One way, would require student selection of a project-related book (e.g., [1, 2]). Handing in a page summary of a read chapter is a useful weekly assignment.


I view teaching design in computing as a little like starting a snowball rolling down hill. It involves something that may initially be small and can grow in size and importance. In an academic context students expect that their own useful activity can not begin until they complete a first degree (graduate from college). Nevertheless, many familiar computer products came into being without their originators needing such a heavy base of learning, and undergraduates in computing are well-served by letting them explore their own ability to innovate.

For instance small steps from existing technology led to familiar examples of software including spreadsheets, and other innovations based on graphic user interfaces (e.g., checkbook, outline, and browser styles). I use anecdotes about these cases in class. My goal is to motivate students to give the design project great attention. Then I put forward the classic model: decide what to do, divide it into parts, work, assemble results, highlight the achievements, create an overall report.

I break the process down into three parts. A) Initiation ("finding a flag to march under") - the project description phase focussed on team building and creating a consensus. B) Midstream (individual efforts toward coordinated objective) - where partial results are communicated to the class, documented in progress reports - to partners and a dated/witnessed notebook, and assembled in an interim report. C) Completion (the summing-up phase) - focussed on a high-quality final report and a group presentation or demonstration.


Models of what actually occurs in the ordinary course of work in "industry" are very helpful in moving undecided individuals and groups to delimit the scope of their activity. Likewise, the only chance for significant accomplishment is where the project is limited. Figure 3 below shows the fundamental approaches used in fixing the overall framework for a design project. There the vertical direction moves from items where students are able to manage completely on their own, to those where they must conform to the course requirement of completion as part of a team. The first line above the horizontal axis presents (left-to-right) the ideal trajectory from project start to completion. I recommend either no or slight suggestion that students work in that exact mode. In this course it seems best to concentrate on other objectives rather than foster a specific methodology. Furthermore, variations in work style are not what the course concerns. All are acceptable if those involved learn to cooperate and produce something of value.


Team Activities


| Required Written Project Report

| (or Team Demonstration or Presentation

| Optional) Talks, Design Reviews

| Items

| Reports, Weekly Progress

| Flow Chart, Preliminary Design

| Schedule, Information-Gathering

| Conceptual Design


| Requirements Specifications Design Review Integration


| Key: Requirements ... User's Need Design Review ...

| Critique

| Specifications ... Design Nos. Integration ... Synthesis

| (Bold Italic — required; Regular Font — optional;

| Italic — key concepts)


– – – – > Traditional Stages (start — end) – – – – >

Figure 3. A Project Design Matrix

Ten objectives in Figure 4 are posted to the world-wide-web in a file with greater detail [3]. They constitute the main instructional program of the design course. At UCLA there is a ten-week term with an eleventh finals week. This material obviously would be better suited to a larger portion of the academic year.

Objectives and inspirational items enable classes to begin with a lecture-like demonstration. Exercises based on these materials enable active learning by students. Items for class activities include composing a paragraph about an objective point or an inspirational saying, ordering several of either type in a list, exchanging results with others in the class and discussing reasons behind the written work.

Overview of Objectives

Week 1

Work Responsibility

Week 2

Professional Development

Week 3

Prepares - Pursues Goals

Week 4


Week 5

Applies Computer Knowledge

Week 6

Project Management Skill

Week 7

Seeks Information

Week 8

Conveys Achievements

Week 9

Meets Deadlines

Week 10

Completes A Good Project

Figure 4. Course Measures of Students’ Work

One useful and often mutually beneficial approach is to introduce personal narration into the course. Examples from professional practice ranging from conference and journal publication to university or public service and even consulting activity give a level of authority to the suggestions. My initial attempt to do that concerned computing estimates of p (read pi) the circle-circumference-to-diameter ratio. The investigation expanded into another quantity derived from a circle. This required calculating a limiting process easily visual. I posted to the web my report on these matters. A recent version [4] describes the inter-net search activity by many enrolled design course students.

This year I used a similar approach, distributing (and posting to the web) drafts of this paper. This demonstrated my own text rewriting and composition of visual figures. Also the relationship between speaking on a subject and writing one’s thoughts was made clear since many items shown as figures in this paper began as course visuals.


Inspirational sayings have a role in moving undergraduates toward initiative. A variety of such items posted to the web became the start for a class exercise. Students were asked to rank-order a set of brief statements such as those in Figure 5.

Startup Homework Assignment

Exercise: Select a saying from Emerson or Einstein. Write a paragraph about how it applies to an event in your professional or student life.

Emerson, Ralph Waldo

If we encounter a man of rare intellect, we should ask him what books he reads.

We aim above the mark to hit the mark.

Einstein, Albert

I never think of the future. It comes soon enough.

Make everything as simple as possible, but not simpler.

Figure 5. An Exercise Based on Inspirational Sayings

Inspirational material offers a way to overcome ingrained behavior patterns. Students’ work tends to stick to familiar paths. Interpreting the instructor, focussing on gaining a higher grade, too often control their efforts. However success both in working with a group and in computer design comes from communication, independent thought, and real work. It cannot be achieved by jumping through hoops. Great sayings can move others toward such activity.

The world-wide-web can point students to files like those containing the Figure 5 Emerson and Einstein sayings [5]. Asking them to select a preferred saying from a group of several of them can help direct students away from emphasizing personal grades, and to building the team product.


An Interim Report enables feedback to lead to a high-quality final submission. Deficiencies at the interim stage reflect the new approach: needs for greater efforts and time in integrating individual drafts into a joint product. Some of the do and don’ts uncovered through the preliminary review of this in-progress document appear in the following table of Figure 6.

Students are asked to write items about their view of the project, any individual steps they take toward designing part of the job, and books they seek out, on a weekly basis. Each item they complete becomes a source of material to include in the Interim and Final Project Reports. Likewise they are told about using figures or visual materials in talks to the group, and then writing out what will be said about each item. A report-initiation method presented in class is using written descriptions of visuals on a page facing the figure.

Hints for a Project Report

Omit Include Omit Include Omit Include
History How Team Got to This Point Overview Entire Approach Promise What You Intend to Do Describe How It Functions Excuses Limitations, Learned Detail Specifics, Chosen

Figure 6. Project Reporting

At an early point in the process students learn that the exact measures used in rating their final project reports is available to them via the world-wide-web [6]. Figure 7 excerpts ten rating items that appear in that form. (Each of these items will be scored on a scale that ranges from one to ten, by the instructor at the end of the course.)

Likewise, the web item begins with the following pedagogical statement (under a heading Guidelines for Rating Projects):

This ten-point checklist can be used for rewriting your own project as well as rating final project presentations (written reports are usually like demonstrations or talks). Before submitting a report you may have group members compile an average score on a zero through ten scale. Rate each item, sum, and compute the mean.

Web Posted Project Report Evaluation Form

_____ 1. How Professional is the Report? Is the writing clear? Does the report cover an overall subject thoroughly and completely? Are the achievements understandable? Have they been placed in the context of the state of their field?

_____ 2. Outline and Contents. Did the report convey an overall objective? Was one specified through an outline or contents listing sections? Did main section headings' text begin with topic sentences? …

_____ 10. Excellence. Did the project participants work to create an outstanding product?

_____ Total

Figure 7. Excerpts from Final Report Evaluation Form (Entire Item Available as [6])

Shared Evaluation

All participate in ballots that distill experience in and out of class into general creativity and cooperation measures. Class members rate one another. Instructors can use the votes in different ways. I tend to compare raw values with mean and standard deviation over the sample (all students in the course) before assigning points toward the student’s grade. The actual grade point breakdown as well as the division of responsibility between student ballots and instructor judgement is shown in Figure 8.

Six Measures Stimulating Activity

A mixture of instructor and class evaluations of work accomplished along with an objective record of actual interaction leads to a composite course grade.



Instructor’s Evaluation



Interaction *



Readings #



Peer Evaluation








Project Report








*Comments and questions on formal presentations. Actual count compared to mean over group.

#Actual count of summaries and reaction pieces handed in compared to mean over group.

Figure 8. Detailed Breakdown of Grade Measures

Incentives and Responsibility

Students compose written comments on report drafts. Figure 9 shows one of several forms where they rate themselves. Such items assist an instructor: mean values are a fairly accurate measure of peer contributions to learning. (For six students ratings ranged from 8.2 to 9.2 with mean 8.7 and 0.33 standard deviation.)

Contributions and Cooperation

Evaluate impact to both Personal Learning and Class Growth by a single number for all class participants other than self. Use a scale of 0-least to 10-greatest.

Participant A _____________

Participant B _____________

Participant H _____________

Figure 9. Team Work Evaluation

Through paper ballots similar to Figure 9 they vote on the best project that term. (Similarly, student comments on instructor prepared talk visuals and paper drafts have value equal to those available from discussing preliminary drafts with professional peers). Funds provided when thirty-five students took the design course provided real incentives for the best project. (Small monetary prizes led to creation of the ballots.) The economic realities of the computer field as in Yahoo, Netscape/Mosaic, and AOL/ICQ, should cause strong student projects. However projects result from student (hence, initial) ideas and compete for time that could be used for paid work. The actual level of projects completed varies.

Evaluation Comments

1. I really enjoyed this class. I strongly believe that this class should be offered and must be taken by every student at the beginning of the computer science program.

2. He has been one of my most wonderful instructors. His non-traditional approach to teaching is extremely efficient, and it gives students great satisfaction.

3. The worse should incorporate more talks from outside, real working world so that students know more abut the challenges and requirements

Two key median course ratings ("Your overall rating of the instructor" & "Your overall rating of the course") were both 8.

Figure 10. Winter 99 Student Comments

Work Statement

Original Draft

Short Version

I currently have two tasks in the group project. The first task that I have is to figure learn how to write CGI scripts in PERL and then write a separate test script. The CGI scripts will process the information tutoring information sent over the web. The second task I am doing for the project is to conduct a survey for the tutors at College Tutorials. The survey will gather information about what the tutors think are the current strengths and weakness of the enrollment system. The information gathered will be used to guide us in the design of our project.

To create a CGI script in Perl to process tutoring information sent over the web. Second, to conduct a survey on tutors’ opinions of strengths and weakness of the current enrollment system.



Add Items

Tabulation of survey results.

Preparation of a table covering the following aspects:

… , … , and … .

Explicitly state varieties of tutoring information (e.g., "Scheduling, … , … etc.")





Focus is on a person, not the work.


Figure 11. Concise Writing Leads to Further Content


Each time the course has been given students with only the common experience of majoring in computer science have worked together. No preliminary selection criterion restricts possible participants. (Indeed, occasionally students from Electrical Engineering, Material Science, and Medicine have participated.) Using forms and materials described in this paper these people formed themselves into productive teams of computer professionals. In a short academic quarter of ten to eleven weeks student teams - from two to five students - found their own project, completed a design and described the work in a competent technical report. This was done on twelve occasions; in all, there were about sixty different team projects.

The products of this project work have impacted research and student life at UCLA, as well as nonprofit and commercial entities in the Los Angeles region. Many design project course techniques introduce approaches useful to future graduate studies in computer science. This is evident in annual research review meetings where posters and talks by former design course participants reflect course methods.

Students’ responses to the design course show that it offers them a valuable experience. Some find the challenge aspect very uncomfortable. On the other hand, many benefit from the ability to choose their own work, design goal, reading material, and presentation topics.

Use of quotations from [7] to provoke going outside the boundaries of prior courses was not a success. Puzzles and thought-challenges act as stress creators.

There is a wide range of student reaction to work opportunity and to professional standards. Nevertheless all benefit by being treated as valued parts of a group able to contribute to the overall success.

A process to generate new computer tools, like Yahoo! [8], is a special thing. It opposes undergraduates' course grade concerns. Overall, the many design course participants who rise to a chance to design something real, and to learn about business standards, warrant teaching a course in the manner described here. Likewise, the techniques devised have general merit and warrant wider use.


[1] Horenstein, M., Engineering Design, Upper Saddle River NJ: Prentice Hall, 1998 (ISBN 0-13-660242-8).

[2] James, S., Introduction to the Internet, Upper Saddle River NJ: Prentice Hall, 1998 (ISBN 0-13-660242-8).

[3] Klinger, A., "Computer Science Design Project Course Objectives,"


[4] Klinger, A., "What We Learned About and Why We Looked at a Slowly-Converging Infinite Product ," http://www.cs.ucla.edu/~klinger/pipaper.html

[5] Klinger, A., Quotation Resources (Emerson, Einstein and Other Inspirational Saying Files; item and Bartlett familiar quote source cited in [8]:




[6] Klinger, A., Project Evaluation Form, http://www.cs.ucla.edu/~klinger/rate.html

[7] Chernyak, Y. B., and Rose, R. M., The Chicken from Minsk, NY: Harper Collins Basic Books, 1995.

[8] Filo, D., Yang, J., et al, Yahoo! Unplugged, Foster City CA: IDG Books, 1995.