(Comp 110/182/282)

Course Group Report

Spring 2002

 

Due to serious scheduling conflicts, three meetings were held with the faculty involved with teaching Comp 110, Comp 182 and Comp 282.  The participants were John Motil, Richard Covington, Ginter Trybus, Bahram Zartoshty, Mike Barnes, and John Noga (Course Group coordinator). The following information was obtained regarding the Course Group Questions:

 

Relationships between different sections of the same course.

 

     

      What differences exist in topics covered?

 

Differences tended to be minor. For Comp 110 and 182 this was in large part due to the homogeneity of the large auditorium based courses. However, there was general agreement that the Comp 282 courses were sufficiently similar.

 

 

      What topics cause the most difficulty?

 

It was suggested that primary difficulty the students had with Comp 110 was being able to handle the level abstraction necessary. Concepts including symbolic solutions, understanding parameter passing (especially the difference between value and reference), and the concept of objects were specifically mentioned.

 

Recursion and hashing were mentioned for Comp 182.

 

No specific topics strongly stood out in the discussion of Comp 282, although rebalancing trees (AVL trees) was mentioned.

 

 

      What aspects of the course cause the most frustration?

 

For Comp 110 the only specific topic mentioned was an “immaturity” of the students (behavior problems).

 

For Comp 182 and 282 weak programming skills were noted as a cause of frustration for both the instructor and the students. Some of the problem seemed to be caused by transfer students having taken “equivalent” courses using another programming language. In addition, a 182 instructor noted that he seemed to be unable to assume fairly basic prerequisite material even after a reminder of the concept (e.g. modulo, geometric sums).

 

           

      Should the sections use a common or very similar text/syllabus?

 

There was almost complete agreement that using common or similar texts would be desirable. However, there was uniform dissatisfaction with all of the current texts for Comp 182 and 282. Part of the difficulty is the desire to find a text which is appropriate for both data structure courses. It was not generally felt that a common syllabus was needed. Although some coordination between sections of the same course was necessary to make certain the same basic topics were covered.

 

 

      Which text(s) is being used? Why?

 

The Comp 110 course was using Savitch’s “Introduction to Computer Science and Programming” or Liang’s Introduction to Java Programming”.

 

The Comp 182/282 courses were using Weiss’ “Data Structures and Problem Solving using Java” or Carrano and Pritchard’s “Data Abstraction and Problem Solving with Java: Walls and Mirrors”.

 

Although general dissatisfaction with the latter 2 texts was expressed, other texts which were familiar were thought to be at least as bad. A suggestion that we continue looking for a better text was made.

 

 

      Should the sections have common or very similar projects/exams?

 

Common projects were felt to be a very bad idea. There are already some problems with academic dishonesty in the larger Comp 110 and 182 sections. There were no strong feelings about common exams. It was noted that if common exams were given then they would have to be given at a common time. The difficulty of making such an arrangement outweighs any benefit.

 

 

      Have/will all sections prepare students equally?

 

Although limited to anecdotal evidence, there was no feeling that different sections were preparing students unequally. It was noted that this was a problem in the past, but moving to the auditorium sessions greatly reduced the variation. It was mentioned by one of the Comp 282 instructors that the quality of students has risen slightly since the change.

 

 

Relationships between courses in the same group.

     

      What is/should be the current division of material between the courses?

 

Currently this seems to be the area with the greatest problem. This question and the following one were discussed in great detail. There was not general agreement on precisely which topics belonged to each course. However, the following table is an attempt to outline/summarize an approximate average of the opinions expressed. It should be noted that this is neither an exhaustive list of topics nor meant to be completely exclusive. Note that in many cases (particularly with respect to Comp 282) reviewing a topic from a previous course prior to covering the more advanced version is necessary (e.g. in Comp 282 merge sort should be reviewed prior to covering external sorting). It was noted that ongoing informal discussions should be held between the instructors.

 

Comp 110

Comp 182

Comp 282

Data Types

Control Flow

Structured Programming

I/O

Arrays

Simple OOP/D

Vectors/Linked Lists

Simple Hashing

Sets

Stacks/Queues/Deques

Binary (Search) Trees

Heaps

Sorting

More Advanced OOP/D

Balanced/Advanced Trees

Advanced Heaps

Graphs

External Sorting

Adv./Dynamic Hashing

 

 

      Is any material being missed or duplicated?

 

There was little material omitted. The prime exception was the Set ADT. The main areas of duplication were balanced trees and hashing (Comp 182 and Comp 282). This will be at least partially remedied in changes that will be made by the fall Comp 182 instructor for the auditorium session.

 

 

      Are there any topics that should be added/removed from the sequence?

 

There was basic satisfaction with the material for the sequence.

 

 

      To what degree is it necessary to review material from one course in the next?

 

Some review between the courses is essential. The main points stressed were that Comp 182 should review little if any basic java programming and that Comp 282 does need to review the simpler versions of structures before moving to the more advanced (e.g. BST, heaps, hashing).

 

 

Relationships between the course group and the overall program.

     

 

      Are the prerequisites appropriate (properly structured)?

 

There was no disagreement with the current prerequisite structure.

 

 

      Is any material needed for subsequent courses not covered?

 

There was no material identified as needed for subsequent courses but not covered. 

 

      Is there any material covered, but not needed?

 

Nothing was noted.

 

 

      Do the courses meet the relevant program objectives?

 

The instructors felt that the relevant program objectives were being met.

 

Student concerns.

 

     

      Are students taking each course (generally) prepared for the course?

 

For Comp 110 it was felt that a proportion of the students had neither the ability to sufficiently understand abstract concepts nor the maturity to behave in an adult manner (though it was noted that this was greatly reduced with a strict enforcement of the prerequisites). For Comp 182 the first problem still existed, but to a much lower degree. The second was not generally a problem. However, in many cases choices (such as attendance / time management) made by the student led to failures. These problems seemed to greatly reduce by the time Comp 282 was reached. These facts are one reason both Comp 110 and Comp 182 have approximately a 50% drop/failure rate.

 

 

      What are the biggest problems/challenges with the students?

 

Lack of maturity, attention span, and inadequate preparation were mentioned. Suggestions were made that a first day lecture describing computer science and giving a short summary of the courses they would be taking subsequently could be very enlightening. Particularly one which stressed that computer science was not “playing computer games”, “breaking into computers”, or “downloading music/software” and that this was a reasonably difficult major that had no form of “social promotion” (passing students so that they stayed in the same peer group rather than because they had learned the material).

 

 

      What are the biggest problems/challenges for the students?

 

The main item mentioned was time management (particularly relating to programming assignments).

 

 

Other miscellaneous problems.

     

 

      What problems are specific to this course group?

 

Having a better text was mentioned again.

 

 

      Anything else?

 

The Comp 182 students have a strong resistance against using Macs (the computers in the assigned lab).