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