CSE 494J: Software Development in Java
Report to Curriculum Committee on Pilot Offering

Author Paul Sivilotti
Report Written Jan 16, 2008
Pilot Offered Autumn 2007

Modification Log

Apr 7, 2008: Added demographic data for second pilot offering, Spring 2008
Added discussion and survey results on linkage between 494J and 560

Background

In Au 2007, I piloted a new course, CSE 494J: Software Development in Java. The goal was to evaluate this version of a new programming course that would fit between CSE 321 and CSE 560. This course was proposed during the 2006-07 academic year and the materials related to those discussions in Curriculum Committee are the following.

  • Proposal: Working document discussing motivation, goals, and challenges related to this new course proposal.
  • Questionnaire: Curriculum Committee's recommended questionnaire for new course proposals.
  • Syllabus: Draft of proposed syllabus for the permanent offering.

Also, a flyer circulated to advertise this pilot offering (and summarizing its objective and pedagogical goals) is available here.

The Au 2007 Pilot Offering

The total course enrollment was 32. (The enrollment would have been 33, but I recruited one of the enrolled students to TA the course instead of take it.) Of these, almost half characterized themselves as seniors. Almost half had previously taken CSE 560. The demographic data is summarized in the following table.

Total enrollment 32
Undergrad / Grad / R 30 / 1 / 1
Years 2 / 3 / 4 / R / G 0 / 10 / 20 / 1 / 1
Pre-Majors / Majors / Others 1/ 25 / 6

The course materials are available from the class web site. These materials include the lecture materials (overheads and example programs), lab assignments, and links to external resources.

Carmen was used for discussion groups, lab submissions, grade dissemination, and student feedback surveys. The discussion groups were quite active with about 360 postings over the quarter. I (or the TA) accounted for about half of these postings.

The average grade was B- (2.725) while the median grade was a B (3.15). The complete distribution (including distributions of lab, exam, and overall grades) is shown here. The final grade data is summarized in the following table.

A-/A 14
B-/B/B+- 7
C-/C/C+ 4
D/D+ 4
E 3

The Sp 2008 Pilot Offering

The total course enrollment is (currently) 40, plus one student auditing. There is a significantly greater fraction of sophmores and juniors taking this offering than in Fall 2007. The demographic data is summarized in the following table.

Total enrollment 40
Undergrad / Grad / R 38 / 0 (1 auditor) / 2
Years 2 / 3 / 4 / R / G 5 / 21 / 12 / 2 / 0 (1 auditor)
Pre-Majors / Majors / Others 5 / 30 / 5

Feedback and Assessment

Two Carmen-based student feedback surveys were conducted during the pilot offering (one immediately before the midterm, the other during exam week). Both surveys were anonymous, although the exit survey did allow for free-form comments which could be (optionally) signed. The raw data and reports from these surveys is available on Carmen, but here are pdf's of the aggregate data.

SEIs were basically positive (4.7 overall), but are generally more about the instructor than the course. The department assessment (SET) had the following responses relevant to the course (rather than the instructor)

Question Course Dept Avg.
Text books and note appropriate 1.7 2.1
Exams were reasonable 1.7 2.1
Exam grading was fair 1.7 1.9
Homeworks were reasonable 2.7 2.2
Homework grading was reasonable 2.7 1.9
Course objectives were clear 1.6 1.8
Effort in this course was 2.0 2.2
Rank of this course was 1.9 2.5

The department SET also asks for open-ended feedback on the course. The following table summarizes the responses.

B1. What single aspect of the course did you find most helpful? Why?

  • (5) Labs/programming
  • (3) Discussion on Carmen
  • (2) Example programs
  • (2) Notes
  • (1) Eclipse
  • (1) Connection between notes and labs
  • (1) Organization
  • (1) Grader
  • (1) Office hours
  • (1) Learning Java

B2. What single change in the course would you most like to see? Why?

  • (5) Fewer/easier labs
  • (2) Quicker grading of labs
  • (2) CSE submit instead of Carmen dropbox
  • (1) Clearer lab descriptions
  • (1) More example programs
  • (1) More advanced Java sooner
  • (1) Drop the textbook
  • (1) Better exams
  • (1) Slower pace
  • (1) Adding a follow-on course for more advanced techniques

A discussion group was created in Carmen for posting feedback on the pilot offering, and suggestions for improvement. This discussion group, however, was essentially unused.

Linkage between 494J and its primary post-requisite: 560. There were 10 students from the (Au 2007) CSE 494J pilot who took CSE 560 the following quarter, Wi 2008 (8 of these in my section, 2 in Rammath's). Immediately after completing 560, these 10 students were invited to complete a Carmen survey to assess which tools and concepts from 494J they used in 560. There were 6 respondants and the aggregate data is available here:

Analysis

  • Class was challenging. Many students thought there was too much lab work and/or the labs were too difficult and time consuming for a 3-credit class. On the other hand, many students also singled out the lab work as the single most important and useful aspect of the course.
  • Linux boxes are necessary. Eclipse runs well there, including shared installation. These boxes won't be officially supported until Su 08.
  • Carmen "dropbox" is a disaster for this kind of course. Files are renamed to avoid duplicates (but filename matters for compiling a java program!).
  • Tutorials for setting up Eclipse (+ other plugins) at home are needed.
  • C# handouts/summaries might work, but shouldn't spend class time (or student effort) on this. There's too much stuff to cover (in class) that's just Java.

Changes for Next Offering

Only a few, relatively minor, changes are planned for the next (pilot) offering in Spring 2008.

  • Write more example programs to support lectures.
  • Point students to Eclipse use/install tutorials (of which there are many).
  • Better decoupling of labs 2 through 5. Currently, each builds on the previous one, but it should be possible to do lab 3 well, even if the student's lab 2 solution is broken.
  • Add plugin installation for Eclipse. Have students install SVN and FindBugs plugin.
  • Have students use SVN for individual labs earlier in quarter.