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

Slides:



Advertisements
Similar presentations
Announcements You survived midterm 2! No Class / No Office hours Friday.
Advertisements

1 Using Octave to Introduce Programming to Technical Science Students Nuno C. Marques Francisco Azevedo CENTRIA, DI-
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Lecture: Algorithmic complexity
Tracking an Innovation in Introductory CS Education from a Research University to a Two-Year College Allison Elliott Tew and Mark Guzdial Georgia Institute.
Innovative Practices in Computer Science Barbara Ericson Georgia Institute of Technology CCLI Conference Aug 2008.
Impact of Alternative Introductory Courses on Programming Concept Understanding Allison Elliott Tew W. Michael McCracken Mark Guzdial College of Computing.
The Core Curriculum Center for Academic Excellence New York City CampusPleasantville Campus 2 nd Floor, 41 Park Row3 rd Floor, Mortola Library
CS 206 Introduction to Computer Science II 01 / 28 / 2009 Instructor: Michael Eckmann.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Using Multimedia, Animation, and Robotics to Increase the Number of Students and Teachers in Computing Barbara Ericson ICE, College of Computing Georgia.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Coding for All Barbara Ericson Georgia Institute of Technology October 18, 2013.
PYTHON: LESSON 1 Catherine and Annie. WHAT IS PYTHON ANYWAY?  Python is a programming language.  But what’s a programming language?  It’s a language.
Spring2012 Lecture#10 CSE 246 Data Structures and Algorithms.
The Institute For Personal Robots In Education (IPRE) Tucker Balch Associate Professor College of Computing at Georgia Tech Stewart Tansley Program Manager.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Python Mini-Course University of Oklahoma Department of Psychology Day 1 – Lesson 2 Fundamentals of Programming Languages 4/5/09 Python Mini-Course: Day.
Update on the State Testing Program November 14, 2011.
Nifty Assignments for BlueJ Day March 1, 2006 Rathika Rajaravivarma Central Connecticut StateUniversity.
Computer Science Curricula Computer Science Major Computer Systems Concentration (CSC) Software Engineering Concentration (SEC) –New for Fall 2005.
Picture Color Manipulation. Using a Loop Our first picture recipe def decreaseRed(picture): for p in getPixels(picture): value=getRed(p) setRed(p,value*0.5)
CS 0.5: A Better Approach to Introductory Computer Science for Majors Bob Sloan, Pat Troy University of Illinois at Chicago SIGCSE 2008.
CS 101: Introduction to Computing Programming picture manipulations Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified by.
Georgia Computes! Improving Computer Science Education in Georgia Barbara Ericson Director Computer Science Outreach Institute for Computing Education.
Georgia Tech’s Three CS1’s CS1321: Introduction to Computing Based on How to Design Programs and the TeachScheme Project Was the only CS1 course, on a.
 address the challenges of  increasing interest and participation  improving the preparation of girls in computing and cyber.
Towards Collaborative Dynabooks In Alan Kay’s vision, the computer’s greatest purpose is to facilitate learning through creation and exploration of multimedia.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
Contrasting Women’s Experience in CS at Different Institutions Mark Guzdial College of Computing/GVU Georgia Tech Our Goal: Ubiquitous Computing Education.
A CS1 Course Designed to Address Interests of Women Lauren Rich¹*, Heather Perry, and Mark Guzdial* College of Computing/GVU Georgia Tech *Presenting¹Now,
CS1315: Introduction to Media Computation Referencing pixels directly by index number.
Happy new year and welcome to… “Setting the Tone from Day 1” CAUSEweb Activity Webinar January 24, 2012 based on Lesser/Kephart paper in Nov J. of.
Analysis of Algorithms CSCI Previous Evaluations of Programs Correctness – does the algorithm do what it is supposed to do? Generality – does it.
Ministry of Higher Education Sohar College of Applied Sciences IT department Comp Introduction to Programming Using C++ Fall, 2011.
CS1315: Introduction to Media Computation How to design and debug a program: Top-down, bottom-up, and debugging. Using background subtraction and chromakey.
CS 101: Introduction to Computing Color replacements and targeted color replacement (if statement) Developed by Mark Guzdial, Georgia Institute of Technology,
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
Great Principles of Computing: Computing for Everyone Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
CS1315: Introduction to Media Computation Color replacements and targeted color replacement (IF)
Yet Another Version. More Careful Edge Detection def lineDetect(filename): orig = makePicture(filename) makeBw = makePicture(filename) for x in range(0,getWidth(orig)-1):
“But it looks right”: Bugs in non-majors media programs Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
Georgia Institute of Technology Speed part 4 Barb Ericson Georgia Institute of Technology May 2006.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Some Computer Science Conceptual Background Material Doug Hogan This version for UIC Spring 2016 CS 107.
Music in Artificial Intelligence Victoria Tran. Why Music in Artificial Intelligence? Technology is improving every day, so music is beginning to depend.
CS 101: Introduction to Computing Programs that change Pictures Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified by Robert.
Examples from Georgia Tech’s CS 1315: Introduction to Media Computation Class examples and student work.
An Update on the New AP CS Course Chris Stephenson CSTA Mark Guzdial Georgia Tech Jan Cuny National Science Foundation.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Improving Undergraduate Computing Education NSF Site Visit, December 5, 2008.
Introduction to Media Computation: A new CS1 approach that addresses women’s interests Mark Guzdial College of Computing/GVU Georgia Institute of Technology.
CS Educators Summit Jenna Garcia District Manager May 4, 2016.
Web Application Development Instructor: Matthew Schurr Please sign in on the sheet at the front of the room when you arrive.
CS 101: Introduction to Computing Referencing pixels directly by index number Developed by Mark Guzdial, Georgia Institute of Technology, 2003–2004; modified.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Christine W. Heilman, Ph.D.
Problem Solving & Computer Programming
Compiler Design (40-414) Main Text Book:
Programming Languages
UTeach Computer Science Principles
Algorithms & Pseudocode
CS1315 Introduction to Media Computation
Mark Guzdial College of Computing/GVU Georgia Tech
Data Structures, Algorithms, & Applications
CS 101: Introduction to Computing
CS1315: Introduction to Media Computation
Dasar-Dasar Pemrograman 2: Java Basics
Presentation transcript:

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

CS 0.5 Participants Robert H. Sloan, University of Illinois at Chicago Robert H. Sloan, University of Illinois at Chicago Patrick Troy, University of Illinois at Chicago Patrick Troy, University of Illinois at Chicago sloan|troy at host uic.edu sloan|troy at host uic.edu

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

Reasons for High Attrition Introductory CS often fail to engage students Introductory CS often fail to engage students Class are described as Class are described as too boringtoo boring overly technicaloverly technical lack creativitylack creativity

Reasons for High Attrition Students have wide variations in background and experiences Students have wide variations in background and experiences Slower pace bores those with Greater Experience. Students lose interest!Slower pace bores those with Greater Experience. Students lose interest! Faster pace loses those with Lesser Experience. Students feel incompetent!Faster pace loses those with Lesser Experience. Students feel incompetent!

Our Solution Divide and Instruct Divide and Instruct Divide Incoming students into two groups Divide Incoming students into two groups Those with greater experienceThose with greater experience Those with lesser experienceThose with lesser experience Use placement exam to determine experience level Use placement exam to determine experience level

Placement Exam Focus on Semantics not Syntax Focus on Semantics not Syntax Language IndependentLanguage Independent Write code showing some minimal knowledge of: Write code showing some minimal knowledge of: VariablesVariables ArraysArrays If StatementsIf Statements LoopsLoops Basic Function CallsBasic Function Calls

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 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”CS 0.5 is not “remedial” but “normal” Students passing placement exam are Students passing placement exam are advanced into the aggressive CS 1 courseadvanced 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 students“Free” credit motivates the students

Curriculum of CS 0.5 Based on Mark Guzdial’s Media Computation course from GA Tech Based on Mark Guzdial’s Media Computation course from GA Tech Engage them with Pictures, Sound and Movie manipulation Engage them with Pictures, Sound and Movie manipulation Prepare them for future CS Course Prepare them for future CS Course Started in Spring 2005 Started in Spring 2005

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

Posterizing: Reducing range of colors

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 than another?How do we compare algorithms to say that one is faster than another? Computer scientists use something called Big- O notation Computer scientists use something called Big- O notation It’s the order of magnitude of the algorithmIt’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 growsThe 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. Big-O notation tries to ignore differences between languages, even between compiled vs. interpreted, and focus on the number of steps to be executed.

Preliminary Results Our CS 0.5 Enrollment Success Rate Old: Fall % Old: Spring % Old: Fall % Old: Spring % Old: Fall % Average “Old” % New: Spring %

Absolute latest results OLD Average Success Rate (ABC) 76% NEW Average Success Rate (ABC); 2 semesters of data 91%

A bit about the course Tweaked version of Guzdial Media Comp course for Georgia Tech non-majors Tweaked version of Guzdial Media Comp course for Georgia Tech non-majors Mildly slower pace Mildly slower pace A bit more drill on easiest programming fundamentals A bit more drill on easiest programming fundamentals Our tweaked version is available on our website, of course: Our tweaked version is available on our website, of course: