1 / 41

“…But What Do the Top-Rated Schools Do?” A Survey of Introductory Computer Science Curricula

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.

quyn-gray
Download Presentation

“…But What Do the Top-Rated Schools Do?” A Survey of Introductory Computer Science Curricula

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. One Take on Enrollment A Survey of Introductory Computer Science Curricula www.cs.duke.edu/csed/openwiki/doku.php?id=teaching:start

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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

  39. 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

  40. 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

  41. 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

More Related