Brian Harvey

Learn More
W e last presented our Beauty and Joy of Computing (BJC) course in a special issue of ACM Inroads in June 2012 [13]. At the time, we taught BJC in two of the first five CS Principles national pilots In this article, we share our philosophy, an update on our course design principles, a general flow through our curriculum, the impact BJC has had, and conclude(More)
Intelligently conceived, comprehensive, meticulously researched, detailed and effectively organized, Standards for Success provides a major step forward in tightening the links between high schools and universities and thus increasing the chances for both academic achievement and personal satisfaction for our nation's students. Faculties, too, on both sides(More)
Very few tools exist which support the process of studying back end optimizations. Currently, researchers examining diierent back end optimizations must rely on general debugging tools or design their own tools to help in the generation of optimizing functions. A tool designed to give information speciically tailored for optimization designers is necessary.(More)
We have incorporated cluster computing fundamentals into the introductory computer science curriculum at UC Berke-ley. For the first course, we have developed coursework and programming problems in Scheme centered around Google's MapReduce. To allow students only familiar with Scheme to write and run MapReduce programs, we designed a functional interface in(More)
SUMMARY Current trends in microprocessor design are fundamentally changing the way that performance is extracted from computer systems. The previous programming model for sequential uniprocessor execution is being replaced quickly with a need to write software for tightly-coupled shared memory multiprocessor systems. Both academicians and business leaders(More)
■ Grading: Weekly reading quizzes and homework (15%), 2-3 page paper [later evolving into a 1-page blog with 3 mandatory response paragraphs to other students posts] (15%), Midterm Project (15%), Final Project (15%), Quest [early, sanity-check exam, halfway between a " quiz " and a " test " ] (5%), Midterm (15%), and Final (20%). The name of the course(More)
This workshop is for high school and college teachers of general-interest ("CS 0") CS courses. It presents the programming environment used in two of the five initial AP CS Principles pilot courses. SNAP! (Build Your Own Blocks) is a free, graphical, drag-and-drop extension to the Scratch programming language. Scratch, designed for 8-14 year olds, models(More)
Since the decline of Pascal as a " standard " introductory language in the late 1970's and early 1980's, faculty members have adopted (and, often, discarded) a variety of languages for the introductory Different approaches and different opinions have led to a number of " language wars " in the SIGCSE community, wars that we hope to avoid in this panel.(More)
The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at UC Berkeley (and adapted at the University of North Carolina, Charlotte), intended for high school juniors through university non-majors. It was used in two of the five initial pilot programs for the AP CS Principles course being developed by the College Board(More)
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to(More)