cs 0.5: a better approach to introductory computer science for majors bob sloan, pat troy university...

21
CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Upload: elmer-walton

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

CS 0.5: A Better Approach to

Introductory Computer

Science for Majors Bob Sloan, Pat Troy

University of Illinois at Chicago

SIGCSE 2008

Page 2: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Two different parts

• Splitting incoming majors into different starting points: CS 0.5 and CS 1

• Material taught in CS 0.5: Mild variation on Guzdial’s Media Computation in Python

Page 3: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Problems in Computer Science

• High Attrition Rate at Freshman and Sophomore level– 19% National Average– As high as 66%– 30%-40% at UIC– Worse for Female Students

• Not attracting students into the Program

Page 4: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Reasons for High Attrition

• “The traditional approach to CS1 has been found to discourage many prospective computing majors”

• Introductory CS often fail to engage students

• Class are described as– too boring– overly technical– lack creativity

Page 5: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Reasons for High Attrition

• Students have wide variations in background and experiences

– Slower pace bores those with Greater Experience. Students lose interest!

– Faster pace loses those with Lesser Experience. Students feel incompetent!

Page 6: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Our Solution

• Divide and Instruct

• Divide Incoming students into two groups– Those with greater experience– Those with lesser experience

• Use placement exam to determine experience level

Page 7: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Placement Exam

• Focus on Semantics not Syntax– Language Independent

• Write code showing some minimal knowledge of:– Variables– Arrays– If Statements– Loops– Basic Function Calls

Page 8: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Division of Students

• Students not taking or not passing the placement exam follow normal route of CS 0.5 course followed by an aggressive CS 1 course– CS 0.5 is not “remedial” but “normal”

• Students passing placement exam are – advanced into the aggressive CS 1 course – receive credit for our CS 0.5 course– “Free” credit motivates the students

Page 9: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Jargon: CS 1, CS 0, etc.

• CS 1: First course for CS majors, programming in Java in >50% of U.S. schools today.

• CS 0: Survey of computer science topics, may or may not include a drop of programming (Javascript, VB); typically for non-majors.

• CS 0.5: Our term for starting point for ~75% of incoming CS majors

Page 10: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Curriculum of CS 0.5 at UIC

• Based on Mark Guzdial’s Media Computation course from GA Tech

• Engage them with Pictures, Sound and Movie manipulation

• Programming in Python with special IDE and add-ons for novice media programmers; programming important but not entire course

Page 11: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Making Emma a redhead

def turnRed(): brown = makeColor(48,20,17) file = "/Users/sloan/MediaSources/emma.jpg" picture = makePicture(file) for px in getPixels(picture): color = getColor(px) if distance(color,brown) < 25.0: redness = getRed(px)*1.5 setRed(px,redness) show(picture) return(picture)

Original

Page 12: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Posterizing: Reducing range of colors

Page 13: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

3D Images: Combining 2 images

Page 14: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

How do we compare algorithms?

• There’s more than one way to sample.– How do we compare algorithms to say that one is faster than another?

• Computer scientists use something called Big-O notation– It’s the order of magnitude of the algorithm

– The goal is to describe what happens to the running time of the algorithm as the size of the input grows

• Big-O notation tries to ignore differences between languages, even between compiled vs. interpreted, and focus on the number of steps to be executed.

Page 15: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Advantages of Python

• Fun, relatively easy language

• Not terribly Java-like, so not overlapping with Java students will learn later

• Easy to do Internet things, like downloading web pages, and string things, like writing web pages

Page 16: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Old and New Version of CS 0.5

• Old Version– HTML & JavaScript– Just about everyone took the class– Placement Exam given mostly to transfer

students who already had CS 1 credit

• New Version– Media Computation– Placement Exam given in class during first

week of the semester

Page 17: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Results – “Old” Version

Our CS 0.5 Enrollment Success Rate

Retention

Old: Fall 02 61 74.8% 42.1%

Old: Spring 03 38 76.7% 22.2%

Old: Fall 03 51 68.6% 38.6%

Old: Spring 04 22 82.9% 44.4%

Old: Fall 04 15 93.3% 44.4%

Average “Old” 37 75.9% 38.1%

Page 18: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Results – “New” Version

Our CS 0.5 Enrollment Success Rate

Retention

New: Spring 05 18 94.4% 62.5%

New: Fall 05 29 90.0% 57.1%

New: Fall 06 42 76.2% 63.9%*

New: Spring 07 24 83.3%

Arerage “New” 28.3 84.1% 61.4%

Page 19: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Results Summary

Average Success Rate (ABC)

Average Retention Rate

OLD Version 75.9% 38.1%

NEW Version 84.1%4 semesters of data

61.4%3 semesters of data

Page 20: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

Diversity Remarks

• Gender– Male 95%– Female 5%

• Ethnicity– African American 11%– Asian 28%– Caucasian 44%– Hispanic 17%

Our results give another data point to the Media Computation approach showing a different student demographic than earlier work.

Page 21: CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008

• Thank You

http://www.uic.edu/~troy/sigcse