====== Notes (Mostly) from SIGCSE 2010 ====== * [[http://www.computingportal.org|Computing Portal]] * Nifty Assignments [[http://nifty.stanford.edu|source]]. * Nifty assignments from Tom Murtagh: [[http://cs.williams.edu/~tom/weavingCS|Weaving CS into CS1]]. * ACM Java Library * Box Game: Sorting moving colored dots into correct half. * [[http://webphysics.iupui.edu/jitt/what.html|Just in Time Teaching]] * Intel Smoke demo * Visual Learning * Gonick cartoon guide * The FORTRAN coloring book * [[http://www.eecs.berkeley.edu/~ddgarcia/papers/SIGCSE2010PBJA3.pdf|PBJA: Passion, Beauty, Joy, and Awe of Computing]] * Computing Portal [[http://www.computingportal.org/pbja|site]] * No one right answer: Greep, Battleship, Blackjack simulation * "Don't be a Google story." * Gallery/quilt of project results. * GWAP games. * Concurrency Session * [[http://www.concutest.org|ConcJunit]] works with DrJava for unit testing of concurrent programs. * Example programs: multithreaded breakout, increment shared counter, breakout (from SIGCSE 2006 nifty assignments). * Event-based programming in Java: [[http://eventfuljava.cs.williams.edu/|Java: An eventful approach]] from Kim B. Bruce, Andrea Pohoreckyj Danyluk, and Thomas P. Murtagh. * More examples: pong, boxball, frogger. * Keynote: Carl Wieman * Experts have an organizational framework for their expert knowledge. * Monitoring of thinking. Not built in. * Takes many hours of intense thinking to change brain wiring. * Example of code perception--how an expert sees the check for sorted example. Less than 30% of CS students. * Content: isolated pieces to be memorized vs coherent structure. * Problem solving example. * Study shows physics etc students become more novice like! * Effective teaching. Motivation. Build on prior thinking. Memory understanding. Authentic practice of expert like thinking in a strenuous extended way. * Robert Bjork articles. Repeated and spaced over time. (http://www.SpacedEd.com) * Common error: make exams count. Encourages students to cram. * Limits on working memory. Very limited in short term. Thrashing ackowledge. 7 new items is max. * Curse of common knowledge teaching mistake. Requires student to buffer all the pieces until can be shown how they fit together. Better to start with the big problem. * Learner needs to be challenged at the right level. Developing models, recognizing relevant and irrelevant material. Checking on sense making. * Feedback from teacher must be timely and specific. Also need to know what and how to think about it. * Sinnentag chap 21. Cambridge handbook of expertise. Missing from teaching but in experts: * Debugging and testing * Communication and collaboration * Implementation * Use technology. * Assign read chapter before class. Test online or at start of class. Frees up working memory. * Build class around series of questions. * Use clickers. * Discuss in small groups, then revote. Instructor snoops in conversations. * Ask for reasons. Review incorrect answers important. * Example. 10 minute activity. Group of 3. Code. How to test. * Homework is very important. Must be practicing outside if class for many additional hours. * Selected session notes * Justification to teach programming: More and more applications are scriptable * Moodle support anonymous peer review * Scratch being enhanced to support use with SiCP * Computing (and programming) being used for self expression in middle and high schools. Important to share the results online or in the classroom. * When Alice crashes it loses changes to the world in progress. * Java bat * Denning luncheon: Carse infinite and finite games * There is a paper on the 32 most difficult concepts in CS * Make classes immutable to simplify reasoning about concurrency. * Employment interviews are now requiring discussion about concurrency. * Feynman quote about concurrency * Olin College doing parallel programming first. Lynn Stein. * Keynote: Fincher * Max Boisot information * Taxi vs. GPS example * Onion in varnish story * From "concrete and codified" to "abstract and uncodified": narratives bridges the gap * Have narrative be descriptive not prescriptive. How I did it not how you should do it? (Disciplinary Commons) * Auhentic stories. Lightweight, fragmented, anecdotal. Collecting narratives of day every day academic. * http://www.sharingpractice.ac.uk. * T-shirt slogan: "This is what a Computer Scientist looks like."