COSC 123 Introduction to Computer Science

Spring (Winter Term 2) 2009 - University of British Columbia Okanagan

Overview

The first offering of a brand new introductory course was very interesting. The goal was to create a follow up course to COSC 122 that would teach enough programming to allow students to continue on into second year Computer Science with out taking the typical course sequence of COSC 111/121. This goal was overly ambitious and not feasible. Many of the students in the class came from COSC 122, but those that did not had very limited background. This made covering the content especially difficult. The course was offered in a lab instead of a classroom which overall worked out well. The midterm was given on the computer which did not work well at all as students (and I) underestimate the time it takes to code on a computer. Despite some very rough patches, the course achieved some of its goals in encouraging students in CS. In the future, it will not be focused on training students for 2nd year CS as there is not enough time to teach the required programming concepts in Java. The use of Alice was well liked, but the transition to Java has to be done better. Fewer topics should be done in Java with more practical applications. The course can encourage students to continue on in CS, but it should not be required to teaching everything COSC 111/121 does as that is not possible.

The first month of the course is learning programming in Alice. Despite some very annoying bugs in the Alice environment, students generally were very positive on Alice especially the ability to visually see their program work. Alice was useful and will be kept. The transition to Java and Eclipse was harder. Eclipse is a professional development environment with a steep learning curve. Students need more time and practice to use the tool. Too much Java was covered, especially object-oriented concepts. This was done to be similar to COSC 121, but it is not possible. The course should minimize learning OO and syntax and focus on some interesting projects that can be built with basic programming knowledge and critical thinking skills. Most students will not continue on in CS, and those that do may take COSC 121 later or concurrently (which several students did). The labs need to be better written and planned. The Alice project was enjoyed, and there were some great projects. Overall, this course is a work-in-progress. The idea is good, and the class will have to deal with moving to a traditional lecture environment like COSC 122. I think I can grow this class to 50 students annually by making the labs interesting and allowing students to learn programming through interesting examples.

The class was at 10:30-11:30 a.m. Mondays/Wednesdays/Fridays in FIP 133. Students were led by a TA in 2 hour labs at various times.

On-line Resources

Student Performance

Of the 19 registered students who started the course, 18 (95%) received a D or higher and 16 (84%) received a C- or higher. The average GPA was 3.03 or a B. Charts showing the mark breakdown are below. The marks were generally good. Students who were taking or had taken COSC 111/121 did considerably better. Students with limited background struggled.

Mark Breakdown Percentage Mark Breakdown

Comments

The instructor rating of 4.82 was excellent considering all the flaws in this course (from my perspective). However, I invested enormous amounts of time with these students and on this course which the students recognized. Interestingly, all course ratings were good including the overall course rating of 4.27. The course was also noted as challenging (4.36) with high expectations (4.55). Fair evaluation procedures was 4.64 despite the Alice midterm exam on the computer which was a failure (I compensated significantly on the marking).

The labs had positive comments and were done well.

Strengths of the Course

Weakness of the Course

Most Enjoyable Part of the Course


* Home Page * Go Back