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

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

Jan 12, 2016

Download

Documents

Elmer Walton
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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