1 / 81

On The Cruelty of Really Teaching Computer Science Redux

Explore the concerns, decline in CS majors, and pathways to ensure the ongoing success of the academic discipline in a thought-provoking and insightful discussion guided by significant questions and historical insights.

vickif
Download Presentation

On The Cruelty of Really Teaching Computer Science Redux

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. On The Cruelty of Really Teaching Computer Science Redux Owen Astrachan http://www.cs.duke.edu/~ola

  2. Shoulders of Giants, Thanks “… it is a tale Told by an idiot, full of sound and fury, Signifying nothing.” Macbeth, V,v,19

  3. Where are we going … Questions • What should our concerns be for those choosing to major in Computer Science? • courses, research, jobs, … • Should we be concerned by the precipitous decline in those taking our courses? • majors, technical students, non-technical … • What can we do to ensure the ongoing success of our academic discipline? • Look inward, look to others

  4. WWDD?

  5. Questions If you gotta ask, you’ll never know Louis Armstrong: “What’s jazz?” If you gotta ask, you ain’t got it Fats Waller: “What’s rhythm?” What questions did you ask in school today? Arno Penzias via Isaac Isadore Rabi

  6. Questions and Answers • Judge a man by his questions rather than by his answers

  7. Don’t know much about history We are doomed if we don’t pay attention

  8. Who, when? “No stretching … is required to envision computer consoles installed in every home. Everyone will have better access to the Library of Congress than the librarian himself now has. Full reports on current events, whether baseball scores, the smog index in Los Angles or the minutes of the 178th Korean Truce Commission will be available for the asking.” John, McCarthy, Information, Chapter 1, 1966

  9. You win some, you lose some People will soon become discontented with the “canned” programs available; they will want to write their own. The ability to write a computer program will be as widespread as the ability to drive a car. Not knowing how to program will be like living in a house full of servants and not speaking their language. Many people can write simple programs after an hour or two of instruction. … Programming is far easier to learn than a foreign language or algebra.

  10. Then and Now Ouchless I/O Bailey, SIGCSE 1972 All of the Fortran statements were to be introduced as the need arose within the context of a problem-solving situation—that is, a here-is-what-we-want-how-can-we-do-it approach…the overall objective of the course was to make the instruction as interesting and informative as possible. It is remarkable that the majority of students can indeed handle fairly complex I/O by the end of the first six lessons, even though they have not actually been formally taught how to do it.

  11. Now and Then Java IO and Testing Made Simple, Proulx and Rasala, SIGCSE 2004 We believe that the combination of the well-designed tools with well-designed abstractions presented here provide a solid foundation for introducing input processing to novice programmers. In addition to making the input from the user an integral part of student's programs, students learn from seeing and using abstractions that provide tangible and significant benefits.

  12. 1984

  13. Teaching Compsci in 1984 • 64K memory, 128K extended • 8-bit, 1 Mhz 6502 processor • 5Mb drive: $3500 • UCSD Pascal: >$100 • Owen's machine: $3000 • $677.80 in 1984 has $1200 "purchase power" in 2003 • http://eh.net/hmit/ppowerusd/

  14. Typical machine in 2004? • 1 Gb memory • 3+ GHz, 32-bit chip • Cache, … • 160 Gb disk • Lots of free resources • Good academic pricing • Under $1000

  15. What has changed in 20 years? • Machines • Characteristics and Availability • Internet • Availability, IM, web, Google, … • Students • Comfort with technology, Expectations

  16. The more things change…? Assume I took your first course(s) in 1984 and understood the concepts so completely that I could still get a 100 on the final from 1984 if I took it today (e.g., I've been in a cryogenic chamber). How would I do on the 2004 final exam?

  17. What has changed in Physics? "You'd get a 100 plus or minus sigma. Intro classical physics hasn't really changed that much over the last 100 years. In graduate level e.g. E&M or quantum classes I think ditto, although sigma would be bigger (and might depend more on the instructor variation than on any real variation in the material). The main difference is, I think, that your chances of GETTING 100 now would be much higher." Rob Brown, Poohbah of Physics Instruction

  18. What has changed in Biology? "The basic principles and concepts of biology haven't changed much in 20 years.  What has changed relates to specific content, and in this arena the changes have been enormous.  20 years ago, we barely knew how to sequence DNA; today information of this kind has had a major impact on just about every topic in the biological sciences.  Thus, some questions on an exam today would address topics that would be completely unfamiliar to a 1984 time-traveller. " Greg Wray, Director of Undergraduate Studies, Biology

  19. What has changed in Economics? "… we now cover material that was only introduced in an advanced or intermediate course in 1984. In 1984 we spent the bulk of the time dealing with the Keynesian model and virtually no dialogue about supply side policies. Now the Keynesian stuff is a small subset of a much broader exposure to Aggregate demand and supply… Also there is more international coverage now - as opposed to 20 years ago for obvious reasons." Lori Leachman, Director of Undergraduate Studies, Economics

  20. What has changed in Calculus? We have two varieties of calculus courses, the lab courses and the traditional ...  The latter two have not changed significantly in decades, and I think that a student who fared well on the 1984 exam in those courses would do well today, and vice versa. [In the lab courses] You would ace about half the exam.  The other half would be unfamiliar to you.  For example, you would probably not know how to answer a problem on modeling a set of data, creating an approximation using Euler's method, interpreting derivatives in the context of applications in other fields, or giving explanations of ideas … Lewis Blake, Supervisor of First-year Instruction

  21. Changes in Computer Science?

  22. Changing CS? Rock, Hard place • If Computer Science has changed drastically is it to keep up with fads and stylistic changes or because of fundamental changes in the discipline? • Are we leveraging the technological and intellectual resources at our disposal • If we haven’t changed, is it because of a solid bedrock of principles that endures? Or because we’re lazy, good-for-nothing, …

  23. 1985, AP Computer Science, Q2 Write a procedure Compact that eliminates all elements with value 0 from its argument, a list. Compact leaves the order of the other elements unchanged. For example, if list is (0,9,7,0,0,23,4,0) When the procedure is called, it should be (9,7,23,4) After the procedure executes. All local variables should be scalar. (declaration for Pascal record with array and count)

  24. Concepts and Solutions • Why the restriction to use only scalar variables? • Force an expected solution? • Punish students? • What is expected solution, O(n) or O(n2) • What if I make a new array? • What does this look like today? (to appear)

  25. 2004, AP, Question 1 public class WordList { ArrayList myList; public void removeWordsOfLength(int len) { // you write this } }

  26. Details of Question Revisited Write the WordList method removeWordsOfLength. Method removeWordsOfLength removes all words from the WordList that are exactly len lettters long leaving the order of the remaining words unchanged. For example assume that the instance variable myList of the WordListanimals contains the following: {“cat”, “mouse”, “frog”, “dog”, “dog”} After the call animals.removeWordsOfLength(3) {“mouse”, “frog”}

  27. What about trends today?

  28. What is CS? Why study it? • Do we have Physics (Math, …) Envy? “It's hard for voice over Internet Protocol or e-commerce to compete with finding the age of the universe,” Peter Lee, CMU • Does familiarity breed contempt? • What was different in 1984 than today?

  29. Cause for comfort or concern? Source: CRA

  30. COHFE Amherst College, Barnard College, Brown University, Bryn Mawr College, Carleton College, Columbia University, Cornell University, Dartmouth College, Duke University, Georgetown University, Harvard University, Johns Hopkins University, Massachusetts Institute of Technology, Mount Holyoke College, Northwestern University, Oberlin College, Pomona College, Princeton University, Rice University, Smith College, Stanford University, Swarthmore College, Trinity College, University of Chicago, University of Pennsylvania, University of Rochester, Washington University in St. Louis, Wellesley College, Wesleyan University, Williams College, Yale University

  31. What’s wrong with this picture? Why is the first year different from all other years?

  32. Books and Approaches Used

  33. If you don’t take a course in CS, you won’t major in it. Why is the first year different from all other years?

  34. Who's going to College?

  35. Who's going to College?

  36. Who's going to College?

  37. Interdisciplinary minors • At Duke it is difficult to double major in sciences • Too many requirements, 17 courses in biology • Students are interested in credentials • No business major/minor, certificate program (requires intro, capstone, six courses) • Minor requires five courses, double counting ok • Three courses in CS, two in econ or biology • From gene to social networks, data mining, …

  38. Genome Revolution Focus Course • Arts in Contemporay Society, Exploring the Mind, Evolution and Humankind, 20th Century Europe, Visions of Freedom, The Genome Revolution and its Impact on Society, … • Three of four courses, one writing, two others. Interdisciplinary 0.5 credit seminar P/F • Seminars, students live in same dorm • 600+ out of 1600 in FOCUS course • For Genome, 80 applicants for 30 slots, 65% women • In CS Genomics course 8 women, 9 men

  39. Simple examples • Given strand of DNA, calculate CG ratio • Potential source of proteins “CGGATTATC” • Given protein “HLVWW” calculate number of different DNA strands that could code for it • 64 codons, 20 amino acids • Find heaviest protein in array of proteins • Given atomic mass of amino acids • Interpret ORF data from NCBI website

  40. From Algorithms to Objects • Read DNA assumed to be in 5’ to 3’ orientation • Use BioJava to read via http • Construct reverse complement (3’ to 5’) • From CAATT produce AATTG • How big is the human genome? • Runtime of algorithm O(1)

More Related