410 likes | 421 Views
SIGCSE 2007 Covington, KY 2007-03-09 @ 10:30 EST. “…But What Do the Top-Rated Schools Do?” A Survey of Introductory Computer Science Curricula. www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start. Jeff Forbes Duke Univ. Dan Garcia UC Berkeley. Motivation.
E N D
SIGCSE 2007Covington, KY2007-03-09 @ 10:30 EST “…But What Do the Top-Rated Schools Do?”A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start Jeff ForbesDuke Univ Dan GarciaUC Berkeley
Motivation • What do top PhD-granting schools do in their intro CS curricula? • What courses offered? • Who teaches them? • What is taught? • How are they run? • Who are students? • What is the innovation? • Who are “sep at birth”? • We had questions! Computer science A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Survey • We surveyed top 32 schools • 33 Qs in 7 categories: • Institution • Staff • Demographics • Content • Delivery • Style • Meta • Method • Swept web sites for info • Emailed text questions to faculty at each school • Built SurveyMonkey form • Phone calls • Email follow-ups A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
CMUMITStanfordUC Berkeley CornellUI Urbana-Champaign U Washington Princeton UT AustinU Wisconsin-Madison Cal TechGeorgia Tech UC San DiegoU Maryland - College Park HarvardUCLA U Michigan-Ann Arbor ColumbiaPurdue - West LafayetteU PennYale BrownRiceUNC - Chapel Hill DukeU Mass - AmherstUSC Johns Hopkins NYURutgers - New BrunswickUC IrvineVirginia Schools (2006 “US News & WR”) A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Disclaimers • Why these schools? • These were NOT necessarily the best undergraduate programs by any means • We’re from big schools, and we wanted to find out what our “cousins” were doing • Our results may be buggy! • We often have results from only one person, with one perspective on the whole! • Other instructors may do things differently A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
MIT “What you're looking to do is indeed potentially very worthwhile. However, after discussing your request, including with the department heads, we have unfortunately had to conclude that we're not in a position to respond at this time.” Yale “We have no interest in completing your survey, which would take a great deal of effort for very little apparent gain.” Gathering Data Wasn’t Easy! People answered the survey with varying degree of detail and completeness. Sometimes responses were opinions of one person, other times of several faculty. A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
UC Berkeley: Mike Clancy & Brian Harvey CMU: Rich Pattis, Tom Cortina & Don Slater Columbia: Adam Cannon Georgia Tech: Mark Guzdial Maryland: Bill Gasarch & Jeff Foster NYU: Victor Shoup Rice: John Greiner Rutgers: Rich Martin, Sesh Venugopal & Don Smith Stanford: Nick Parlante & Julie Zelenski UC Irvine: David Kay UCLA: David Smallberg UIUC: Sam Kamin & Cinda Heeren USC: Claire Bono UW: Stuart Reges Wisconsin: Jim Skrentny & Perry Kivolowitz Duke: Owen Astrachan & Camelia Eaves Brown: Chad Jenkins & Tom Doeppner Caltech: Leonard Schulman Cornell: David Gries Harvard: Matt Welsh & Mike Smith Johns Hopkins: Rao Kosaraju, Joanne Houlahan Princeton: Kevin Wayne Purdue: Jeff Vitter & Buster Dunsmore UCSD: Beth Simon & Paul Kube UMass: Andrew McCallum UNC: Ketan Mayer-Patel UPenn: C.J. Taylor UT Austin: Mike Dahlin & Roger Priebe Thanks so much to… Jeremy Huddleston Samantha Jones, Brandon Johnson,Beth Trushkowsky A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Institution • Quarters vs. semesters? • Offerings? • Flexibility? • Types? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Is the institution on quarters or semesters? • Some schools on the west coast are on quarters • Opportunities for more varied classes and tracks? • Comparisons between courses can be tricky A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Course offerings • Is a literacy course available for students not interested in programming? • Models • Fluency in Information Technology • Great Ideas in Computer Science • UPenn: Networked Nature of Society • UNC: Power Tools for the Mind A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What is the flexibility in the lower-division sequence? • Georgia Tech’s Threads curriculum provides a great deal of flexibility • Multiple introductions to CS • Brown (Java vs. Scheme/ML-> Java) • Columbia (C/Java/Matlab) • UCI: multiple majors and sequences • Inflexible curricula • Do not accept AP • Required to take CS courses and prereqs in first semester • 10 schools noted that courses are part of a common first-year A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What types? • Ethics • 2 schools had required Ethics courses • Surveys • UCLA & Harvard have survey as CS 1 • Irvine & UCSD have courses where profs talk about their work A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Staff • Who are instructors? • Do they change? • Who covers section? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Are the instructors research faculty, teaching faculty, or graduate students? • Teaching • USC, CMU, Duke, Maryland, Rice, Stanford, UNC, UCSD, UT Austin • Both • UW, NYU, Cal, Cornell, Princeton, Columbia, Georgia Tech • Depends on Course • Wisconsin, U Penn, UCLA, Rutgers, UIUC, UC Irvine • Research • Harvard, Purdue • Quotes • UCSD: “In theory Research Fac, Teaching Fac or Lecturers. In reality, the latter 2.” A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Are the courses taught by the same person every semester? • Quotes • Purdue: “No, but the pool is small” • UW: “Lecturers teach the course often, but a large pool of people rotate in” • UIUC: “Instructor-led courses yes, research-led no” • Yes • Caltech, Cornell, Harvard, USC, UT Austin • Depends on Course • U Penn, UC Irvine, UCLA, UIUC A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Who teaches discussion sections / recitations? Labs? • Analysis • People said “TAs” -- it was not clear whether grad or undergrad • No sections or labs • UNC • Quotes • UCSD: Closed: Faculty assisted by tutor, Open: TAs A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Demographics • What are the enrollment numbers and trends? • Who takes the courses? • What kinds of grades are awarded? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Enrollment Summary Long-term, recent • Down,up: 5 • down over the long term up in recent years • Down: 8 • Down, level: 7 • down over the long term steady in recent years • Up: 7 • cmu, harvard, princeton, ucla, upenn, ut, uw A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
One Take on Enrollment A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What is the typical grade histogram for the course? • Upper end • Percentage of As range from 75% at Brown to 15% at Purdue A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Content • Languages • Textbooks • Stale vs Fresh • What works and what doesn’t A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What versions of what languages are taught? • All Java • CMU, Duke, Princeton, Purdue, UNC, UT Austin, UW, Rutgers & UCSD • No Java (C++ & MIPS) • UCLA • Java C • Maryland • Java C++ • Stanford (just enough), Wisconsin & USC • Java Matlab • Cornell • Java & Scheme/ML • UC Irvine (Java Scheme) • Brown (Scheme/ML Java) A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What versions of what languages are taught? • 3: Matlab, Python, Java • Georgia Tech • 3: Java, C, Python • U Penn • 4: C, Ruby, little C++ & Java • Harvard • 4: Scheme, Java, Assembler, C99 • UC Berkeley (MIPS) • Rice (Patel & Patel’s asm) • 4: Java, C, Matlab, Python • Columbia • 5: Java, C++, C, Assembler, Variety (student’s choice) • UIUC • 7: Scheme, C, C++, Java, Python, ocaml, haskell • Caltech A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Brown Sanders and van Dam Cal Grillmeyer, SICP, Bates & Sierra, Goodrich & Tammassia, K&R, Patterson & Hennessey Caltech SICP, Darnell & Margolis, K&R CMU Varies, sometimes none Cornell Gries & Gries Duke Goodrich & Tammassia Georgia Tech Smith, Guzdial Harvard K&R Johns Hopkins Malik, Goodrich & Tammassia, Deitel & Deitel Maryland Lewis & Loftus, Bates and Sierra, Koffman & Wolfgang, Sestoft, Reek, Bryant & O’Hallaron, Epp Princeton Sedgewick, Sedgewick & Wayne Purdue Savitch What are the textbooks used? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Rice Felleisen et all, Rosen, Patt & Patel, Bryant & O’Hallaron Rutgers Downey, Venugopal, Horstmann Stanford Roberts UC Irvine Felliesen, Horstmann, Goodrich & Tamassia UCLA Savitch, Carraño UCSD Savitch UIUC Kamin et al, Rosen, Woodbury, Collins, Mano, Patterson & Hennessey, Stallings, McConnell UNC Bloch, Metsker & Wake USC Forouzan & Gilberg, Malik, Lauesen, Liang UT Austin Weiss UW Reges & Stepp What are the textbooks used? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Is there a feeling that the course is “fresh” or “stale”? • Lessons • Some said no, but the Q was meant to evaluate a range. • Q should have asked for a #! • Hard to admit staleness! • Quotes • Wisc: “I believe, and I sense my students would agree, that I teach the course in a manner that makes it feel fresh regardless of whether the same content has been taught for ages.” • UIUC: “Not fresh, but little perceived need to change” • Some Stale? • Cal, Cornell, UIUC • “Probaby stale” • UCSD • “Going to discuss overhaul” • USC A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Brown High TA-student ratio Intro Experience Disparity Cal Closed required labs Undergrad teaching staff More pair programming CalTech CS11 is several minicourses. Each student only takes 1 of these a term (of their choice) A course can be repeated three times for credit CMU All courses taught in small sections – no large lectures! Cornell DrJava demos during lecture Closed required labs 1/2 Matlab, 1/2 Java Georgia Tech (Compared to peers) very low attrition 90% success in Media CS2 No closed labs Harvard Teacher training Princeton Appl to commerce, science, engineering w/real datasets Too much to cover! Huge increase in enrollments What works really well and what is broken? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Purdue Lecture, lab Hard to have creative projects but consistent grading Rice Some want to move intro Scheme course to Java Easier later transition But, wide background variety! Rutgers Online exams Java as intro language! Stanford Undergrad section leaders Staffing in computer cluster while students work on assignments, which are good We (all of us) still tuning CS1 Java UC Irvine Informatics curriculum UCLA Getting students to program to specs Intro Experience disparity UCSD Accelerated intro course track Closed labs Teaching memory allocation to beginners UIUC All courses! Undergrad-led reviews Assembler EOS competition Programming studio structure Low-level understanding New student communities What works really well and what is broken? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
U Penn Compelling programming assignments USC Intro experience disparity UT Austin Students move well through CS2 Java doesn’t allow them to learn memory management! One course is “geeked out” which could turn off non-programmers UW Everything is fine U Wisconsin Infornation overload Reduce sources of info Active and collaborative learning! “Information overload has been mentioned repeatedly to me by students as a principle problem in many of their courses. It is not uncommon for courses today to have a textbook or two, course notes, as well as lecture slides which overwhelm students with presentations of the same or similar material. Add to that course email, web pages/links, blogs, etc. and students get trapped spending too much time reading and reviewing and insufficient time actively applying their newly gained knowledge. What has worked well for us is to reduce the sources of information and to direct students’ efforts to more active and collaborative learning both in and out of class.” What works really well and what is broken? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Delivery & Style • How are courses run? • What style(s) of programming are taught? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Contact hours • Standard seems to be 3 hours of lecture and 1-2 hours of lab/discussion • What drives labs ? • Some open labs • Discussion sections A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What programming paradigms are covered? • Everyone includes some OO • Paradigms • P: Procedural • O: Object-oriented • F: Functional • L: Logical • D: Declarative • OO is everywhere • About half say they teach “objects-first” A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Meta • Grading guideline? • What questions were missing? • Anything else? • What are the innovative techniques being deployed? A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Is there an institutional or departmental grading guideline? • Who answered yes? • Princeton: 35% As • UC Berkeley: 2.7 GPA • UC San Diego: 2.8 GPA • Harvard • Other answers: • UIUC: Grading standard of previous semester sent around A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What questions are missing on this survey? • Brown: Are numbers at day 1 or N? • Caltech: Ask more about languages • Us: scheme, java, then what the student wants! • CMU: What are your ugrads paid? • Cornell: % of your incoming kids who have prog experience? (60%) • Harvard: Training of teaching staff? • Princeton: Demography of course should include major • Rice: What related courses exist outside yoru dept? Are courses weeders? (us: no) A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Was there anything not captured by this survey you would like to add about your institution, staff, demographics, content, delivery or style? • Brown: We don’t track ethnicity • Caltech: We have outstanding students. We try to give them resources they need to excel, & introduce material not found elsewhere • Functional programming, ocaml, haskell • Cornell: We give CS or IS majors in three colleges and have two different intro courses (OO-first Java & Matlab) • Harvard: We work hard to have gender-balanced (or all male) sections. This yr, > 1/2 of our teaching staff was female. We will soon offer on our own survey of what works best to revamp our intro courses! A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What are the innovative techniques being deployed? www.eecs.mit.edu/images/EECS_VI_Fall06_FINAL.pdf www-tech.mit.edu/V126/N63/63course6.html MIT • Overhauling EECS curriculum • Had been unchanged for nearly 30 years • 6.001 (Scheme) out, Python in! • 6.01 and 6.02 to be new mandatory intro courses • Offer intro to dept • Cut broadly across EECS • Strong hands-on component • Build robots, apply concepts like radio, Fourier transform, networks, large systems • Then choose 3 or 4 subjects from foundation courses • E.g., Circuits, Signals, Systems A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What are the innovative techniques being deployed? www.cm.gatech.edu Georgia Tech • Computational Media degree! • Different entry points to major • CS1 for different majors • Robotics • Media Computation • Flexibility • CS Majors can take any CS1 • Contextualization • CS1s are typically dry! • Students today use flikr, youtube, etc -- leverage that! • Allow the data to be THEIRS • movies, sounds, pix Wil Justis, Milton HS A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
What are the innovative techniques being deployed? inst.eecs.berkeley.edu/~selfpace www.ucwise.org UC Berkeley • UC-WISE • Web-based learning system • Interactive, collaborative & assessment • Decrease passive learning in lecture (Old: 3 Lec, 2 Lab) • Increase active learning in lab (New: 1 Lec, 6 Lab) • Top-down instruction • Scheme, Java, C, Assembler • Self-paced courses • 1-unit course for programmers in Matlab, Pascal, C, Scheme, Unix, C++, Java, Python • Intro to programming in Scheme • Awesome undergrad tutors! A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Meta-lessons we learned? • Too many questions! • Should have limited scope. • Just first course? • Could have presented all results in one session • Should be answerable in minutes, not hours • Some questions redundant • Discrete math courses fell through cracks • We leaned on friendships to get data • Thank you!! • Next time: get funding, provide incentives A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start
Conclusion • There is so much more to squeeze out of the data! • It’s all online!! We encourage you to squeeze! • There are clear clusters based on language (& book) choices, tracks for the major, etc. • Best & Worst practices • There is some great innovation going on around the country! • MIT, GaTech, UC Berkeley, Caltech, U Penn, … A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start