CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant...

15
CS 0.5 CS 0.5 A New Approach to A New Approach to Introductory Computer Introductory Computer Science Science for Majors for Majors Supported by NSF Grant Supported by NSF Grant DUE-0411219 DUE-0411219

description

Problems in Computer Science High Attrition Rate at Freshman and Sophomore level High Attrition Rate at Freshman and Sophomore level 19% National Average19% National Average As high as 66%As high as 66% 30%-40% at UIC30%-40% at UIC Worse for Female StudentsWorse for Female Students Not attracting students into the Program Not attracting students into the Program

Transcript of CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant...

Page 1: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

CS 0.5CS 0.5A New Approach to A New Approach to

Introductory Computer Introductory Computer Science Science

for Majorsfor Majors

Supported by NSF Grant Supported by NSF Grant DUE-0411219DUE-0411219

Page 2: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

CS 0.5 ParticipantsCS 0.5 Participants

Robert H. Sloan, University of Robert H. Sloan, University of Illinois at Chicago Illinois at Chicago

Patrick Troy, University of Patrick Troy, University of Illinois at Illinois at ChicagoChicago

Email: sloan|troy at host Email: sloan|troy at host uic.eduuic.edu

Page 3: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Problems in Computer ScienceProblems in Computer Science High Attrition Rate at Freshman High Attrition Rate at Freshman and Sophomore leveland Sophomore level• 19% National Average19% National Average• As high as 66%As high as 66%• 30%-40% at UIC30%-40% at UIC• Worse for Female StudentsWorse for Female Students

Not attracting students into Not attracting students into the Programthe Program

Page 4: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Reasons for High AttritionReasons for High Attrition Introductory CS often fail to Introductory CS often fail to engage students engage students

Class are described asClass are described as• too boringtoo boring• overly technicaloverly technical• lack creativitylack creativity

Page 5: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Reasons for High AttritionReasons for High Attrition Students have wide variations in Students have wide variations in background and experiencesbackground and experiences

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

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

Page 6: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Our SolutionOur Solution Divide and InstructDivide and Instruct

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

Use placement exam to determine Use placement exam to determine experience levelexperience level

Page 7: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Placement ExamPlacement Exam Focus on Semantics not SyntaxFocus on Semantics not Syntax

• Language IndependentLanguage Independent Write code showing some minimal Write code showing some minimal knowledge of:knowledge of:• VariablesVariables• ArraysArrays• If StatementsIf Statements• LoopsLoops• Basic Function CallsBasic Function Calls

Page 8: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

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

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

Page 9: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Curriculum of CS 0.5Curriculum of CS 0.5 Based on Mark Guzdial’s Media Based on Mark Guzdial’s Media Computation course from GA TechComputation course from GA Tech

Engage them with Pictures, Sound Engage them with Pictures, Sound and Movie manipulationand Movie manipulation

Prepare them for future CS CoursePrepare them for future CS Course

Started in Spring 2005Started in Spring 2005

Page 10: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Making Emma a redheadMaking 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 11: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Posterizing: Reducing range of Posterizing: Reducing range of colorscolors

Page 12: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

How do we compare algorithms?How do we compare algorithms?

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

than another?than another? Computer scientists use something called Computer scientists use something called Big-O notationBig-O notation• It’s the It’s the order of magnitudeorder of magnitude of the algorithm of the algorithm• The goal is to describe what happens to the The goal is to describe what happens to the running timerunning time

of the algorithm as the of the algorithm as the size of the input growssize of the input grows Big-O notation tries to ignore differences Big-O notation tries to ignore differences between languages, even between compiled between languages, even between compiled vs. interpreted, and focus on the number vs. interpreted, and focus on the number of of stepssteps to be executed. to be executed.

Page 13: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Preliminary ResultsPreliminary Results

Our CS 0.5Our CS 0.5 EnrollmentEnrollment Success RateSuccess RateOld: Fall 02Old: Fall 02 6161 74.8%74.8%Old: Spring Old: Spring 0303

3838 76.7%76.7%

Old: Fall 03Old: Fall 03 5151 68.6%68.6%Old: Spring Old: Spring 0404

2222 82.9%82.9%

Old: Fall 04Old: Fall 04 1515 93.3%93.3%Average “Old”Average “Old” 3737 75.9%75.9%New: Spring New: Spring 0505

1818 94.4%94.4%

Page 14: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

Absolute latest resultsAbsolute latest results

OLD Average OLD Average Success Rate (ABC)Success Rate (ABC) 76%76%

NEW Average NEW Average SuccessSuccess Rate Rate (ABC); 2 semesters (ABC); 2 semesters of dataof data

91%91%

Page 15: CS 0.5 A New Approach to Introductory Computer Science for Majors Supported by NSF Grant DUE-0411219.

A bit about the courseA bit about the course Tweaked version of Guzdial Media Comp Tweaked version of Guzdial Media Comp course for Georgia Tech non-majorscourse for Georgia Tech non-majors

Mildly slower paceMildly slower pace A bit more drill on easiest A bit more drill on easiest programming fundamentalsprogramming fundamentals

Our tweaked version is available on Our tweaked version is available on our website, of course: our website, of course: http:http://wiki//wiki..cscs..uicuic..eduedu:8080/CS101:8080/CS101