The goals of our major include providing our students with the following abilities:

  1. To conceptualize multiple views of problems, to develop computational solutions grounded in theory, and to evaluate their solutions using a range of metrics.
  2. To work alone and in teams to identify, formulate, and solve computing problems.
  3. To gain a firm grounding in the core areas of computer science: theory, systems, programming languages, and algorithms.
  4. To apply the knowledge gained in core courses to a broad range of advanced topics in computer science, and to develop the ability to learn sophisticated technical material independently.
  5. To be able to communicate technical information both orally and in writing.
  6. To understand the theoretical, practical, and ethical ramifications of computational solutions to problems, and to be aware of current research developments in computer science.

Assessing the goals

Each of our goals is assessed in multiple ways by students satisfying the requirements of the major. Most of these goals are tested in each of the core courses of the major, as well as the senior seminar and senior project. For example:

  • Goal 1 is assessed via problem sets and exams in CS 62, CS 140, CS 81 and CS 131, all of which are required courses in the major. Here are a few examples. In CS 62 and CS 140, students learn to design algorithms and data structures to solve computational problems. Students are assessed on their ability to analyze their algorithms for time and space efficiency in order to determine the ideal solution given the problem constraints. As an example of a different sort, in CS 131 students are assessed on their ability to implement parsers based on the theory learned in CS 81. Based on student performance in these required courses, we believe students are meeting this goal.
  • Goal 2 is assessed in virtually all of our courses, both required and electives, as students are assigned problems and work out computational solutions to homework, lab, and exam problems. Many courses encourage students to work together in teams on implementing programs, while teams are explicitly required in the required Computer Systems course, CS 105.
  • Goal 3 is attained by requiring students to take courses in the four core areas of computer science. Assignments and examinations show that students are indeed exhibiting substantial mastery of those areas.
  • Goal 4 is assessed by student performance in three or more electives, by attendance at computer science colloquia, by participation in the senior seminar, and most particularly by meeting the requirements for the senior project.

The senior project is primarily focused on having students demonstrate their competence in this goal, as they must propose and solve a major computing problem, and present a series of oral reports and a substantial (roughly 30 page) paper on their solution. This project requires students to use the knowledge gained in previous courses to learn new material, find and evaluate prior research in the area, and to show that they can solve and analyze the solution to a substantial problem in that area. While student performance was somewhat erratic in the past, we were very pleased this year with the skills exhibited by our students in their senior exercises. (See remarks below on senior exercises.)

The senior seminar helps students prepare for their senior exercise. Students read research papers in different areas of computer science and prepare the proposals for their senior exercise.

In the CS colloquium students are presented with current research in computer science, experiences of alumni in the profession, and an overview of computer science graduate school, all of which helps prepare them for life after Pomona.

  1. Goal 5 is assessed throughout our advanced courses. Many electives require final projects that result in oral presentations and / or substantial written reports. All seniors make presentations in the senior seminar on current research in computer science. The final assessment of this goal, however, is based on oral and written presentations of the results of the senior exercise. Overall, our students have learned to make effective oral presentations. We have also seen significant progress in written presentations, but would like to see further improvement.
  2. Goal 6 is assessed by evaluating student understanding of research papers read in CS 190, Senior Seminar. Students are also exposed to current research developments by their required attendance at the Computer Science colloquium. Based on our evaluations of student presentations and the questions asked of colloquium speakers, we believe students are meeting this goal.

Assessing senior exercises

In response to perceived shortcomings in senior projects in the spring of 2007, this year we provided students with clearer guidance on how their projects would be assessed. As reported last year, Rett Bull, in consultation with other departmental faculty, wrote a 50 page document, "A guide through the senior exercise [pdf] '', that is provided to each senior major.

As stated in that document, senior exercises are assessed as follows:

"A student's grade in Computer Science 192 is determined by the Computer Science faculty members who consider five components of the project: the goals of the undertaking; the effort that went into achieving them; the 3 success of the undertaking; the quality of the presentations, including the informal ones; and the quality of the paper.

An A-range project is interesting, well conceived, ambitious, and successful. There is a significant result, although it need not exactly match the original goal of the project. Any obstacles that arise are handled thoughtfully and creatively. All work is submitted on time. The presentation and the paper are clear, polished, and well organized. In order to receive an A, all the components -- conception, preparation, execution, presentation, and written work -- must be of A quality.

A B-range project is fairly ambitious but only partly successful, or else it is less ambitious and solidly successful. There are results, but they may be incomplete or tentative. All the requirements and deadlines are met. The presentation and the paper or thesis are clear and organized.

A C-range project is insubstantial or falls short of its goals; there are few definite results. All the requirements are met, even if some of the work is a little late. The presentation and the paper or thesis are disorganized or occasionally muddled.

A failing project is poorly conceived and inadequately executed. It is lacking substance that might lead to a solid and interesting conclusion. Some of the work may be seriously late or missing altogether. The presentation and paper are ungrammatical or difficult to follow."

During the course of the year, we further refined our guidance on assessment to make clearer to students the different factors that were to be assessed in order to determine the final grade. The criteria are:

  • The goal: Was it appropriately ambitious?
  • The preparation: Did the literature review cover the appropriate prior work in the area?
  • The execution: Were sufficient efforts (quality and quantity both count) made to accomplish the goal?
  • The evaluation of results: Were appropriate steps taken to evaluate the results?
  • The presentations: Were the oral and written presentations clear, understandable, and complete?
  • Participation: Did the contributions and attendance during group meetings, meetings with the advisor, and the final presentations meet faculty expectations.

We believe that this clarification of criteria contributed to greatly improved senior projects this year. While last year no one received a grade above B+, this year we had several A level projects and two students were awarded distinction on the basis of their senior projects.

Based on our discussions of the senior projects from this spring, Professor Bull has made minor revisions to the ``Guide'' to include the criteria listed above. We will also try to do a better job of emphasizing the importance of the written presentations of student work, as that was one of the few areas that we felt needed more attention. View the senior guidelines [pdf] .

All in all, we felt that our increased attention to the criteria for assessing senior projects better communicated our expectations to the students and resulted in much improved projects.