Keynote Mark Guzdial
- Computing is key to many disciplines and we aren’t producing the number of people required
- Mark’s advisor was Elliot Solloway! He made all of his students read the book “The two cultures and the scientific revolution”. More recently the book Denialism.
- Estimates are that in the US by 2012 there are 3 million professional software developers and 13 million who never studied computer science.
- Gimp and Adobe Photoshop are now scriptable, and there are many people who are learning computer programming on the side to make what they need to happen happen.
- How can we help people who don’t want to be CS majors?
- Need #1: Match or tailor context to make sense to students.
- Need #2: Given a piece of code, suggest CS concepts and examples, or productive/appropriate search terms.
- Need #3: Help students learn programming using less time spent programming.
- Georgia Tech requires all undergraduates to take an undergraduate programming course. Overall failure rates about 78%. Failure rates of women was almost double that of men in some semesters, and students from more arts-oriented courses often have failure rates of more than 50%.
- Margolis and Fisher – excellent book that recommends alternative pathways
- Georgia Tech created three CS1 courses: a Python, a Mathlab, and a Media Processing.
- The Media Computation: do all of the matrix, indexing, algorithms, linked lists, in contexts that are interesting to students.
- For the Media Computation course much higher proportion of students passing, in some cases more women than men, and students from the liberal arts having much higher pass rates, even some students admitted programming after course admitted.
- Media Computation CS1 students are more likely to be passing future courses (Beth Simons).
- Georgia Tech created CS2 that covers data structures, and again 70% felt the media computation approach improved their engagement.
- Only 23% of schools in Georgia offer (Alabama only offers 2%).
- US NSF wants to create Computer Science Principles schools (called CS10, see http://www.csprinciples.org ).
- Today we only have 2000 CS teachers and NSF wants 10000 by the year 2015. How to accomplish? For these sorts of numbers can only be in-service. Approach requires a substantial online approach to teaching computer science teachers.
Rachel Cardel Oliver: Harnessing software metrics to support novice programmers
Excellent use of JUnit4 to provide students with test cases for their code. Integrates with BlueJ.
Paul Denny: Understanding the syntax barrier for students (CodeWrite)
Excellent system (CodeWrite) where students create problems and see each other’s solutions. Have to create test cases. Student compiles are captured. Excellent analysis of student data – excellent project and paper worth looking up. Codewrite is free online (see http://codewrite.cs.auckland.ac.nz/create.php).
Note: for nifty programming assignments see http://nifty.stanford.edu
Note: Paul Denny is also the person who wrote the PeerWise collaborative question authoring system (http://peerwise.cs.auckland.ac.nz/)
Robert Marmorstein: Open Source Contribution as an Effective Software Engineering Class Project
- Much of computer science coursework does not accurately emulate development in the real world
- Open-source projects as a way of overcoming this divide – students have access to high quality code, can rub shoulders with experts