From NAND to Tetris

Building a Modern Computer from First Principles

The site contains all the software tools and project materials necessary to build a general-purpose computer system from the ground up. We also provide a set of lectures designed to support a typical course on the subject.

The materials are aimed at students, instructors, and self-learners. Everything is free and open-source; as long as you operate in a non-profit educational setting, you are welcome to modify and use our materials as you see fit.

via The Elements of Computing Systems / Nisan & Schocken.

Few Students Make Time to Study Computer Science

http://www.acm.org/runningonempty/exec_summary.pdf

The ACM news summary refers to another article by includes the above as its foundation:

Few Students Make Time to Study Computer Science
Pittsburgh Tribune-Review (PA) (02/20/11) Amy Crawford

ACM and the Computer Science Teachers Association’s recent Running on Empty report examined the decline in the study of computer science in U.S. public schools. “As the digital age has transformed the world and workforce, U.S. K-12 education has fallen woefully behind in preparing students with the fundamental computer science knowledge and skills they need for future success,” the report says. The study found that between 2005 and 2009 the number of secondary schools offering introductory computer science courses dropped by 17 percent, and the number of high schools offering Advanced Placement computer science fell by 35 percent. Some of the study’s researchers, such as Carnegie Mellon University graduate student Leigh Ann Sudol-DeLyser, say states should have computer science standards that are a required part of the curriculum. Computer software engineering and information technology are among the fastest growing careers, with more than 300,000 additional jobs expected to be created by 2018, according to the U.S. Bureau of Labor Statistics. “It’s not only important for a student to learn to write a letter in Microsoft Word,” says Sudol-DeLyser, explaining that every student should learn about basic computer security, media production and simple programming, and interested students should be encouraged to study computer science in depth.

From: Lyons, Jennie [mailto:jlyons@hackleyschool.org]
Sent: Thursday, February 24, 2011 8:26 AM
To: Dioguardi, III, J. Edward; King, Andrew
Subject: Apropos of the US Coffee presentation

Exploring Computer Science Curriculum

Anne, Jennie, and Mary,

I read in the May 2012 edition of the CSTA Voice that the Chicago Public Schools was adopting the Exploring Computer Science curriculum for students. CPS is also providing PD for its faculty to support their move to transform technology education teachers into computer science teachers. That is a major decision and undertaking for such a large district!

Developed by a cadre of west coast high school and college professionals, this curriculum is designed to introduce high school students to the field of computer science and is aligned with the goals of the ACM’s A Model Curriculum for K-12 Computer Science (2003). Most objectives align with level 3 while some align with level 4 of the ACM document. We have reviewed the ACM model curriculum document in our department meetings and the specific objectives are in our shared google doc.

At first review it’s easy to see that our current Computers I: Technology in a Digital Age class follows a similar approach and employs many similar types of learning activities – another indication that we appear to be on the right CS path when compared with schools and districts around the country. I thought I would share the link in the event you wanted to review the scope and sequence and/or the full curriculum for ideas – http://www.exploringcs.org/curriculum.

Enjoy,

Erich

From: Tusch, Erich
Sent: Thursday, May 03, 2012 1:27 PM
To: Lyons, Jennie; Budlong, Anne; Murray-Jones, Mary; Dioguardi, III, J. Edward
Cc: King, Andrew
Subject: Exploring Computer Science curriculum

 

Alice

Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.

In Alice’s interactive interface, students drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#. Alice allows students to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, students gain experience with all the programming constructs typically taught in an introductory programming course.

via Alice.org.

Bootstrap

Bootstrap is a FREE curriculum for students ages 12-16, which teaches them to program their own videogames using purely algebraic and geometric concepts.

Our mission is to use students’ excitement and confidence around gaming to directly apply algebra to create something cool.

We work with schools, districts and tech-educational programs across the country, reaching hundreds of students each semester. Bootstrap has been integrated into math and technology classrooms across the country, reaching thousands of students since 2006.

via Bootstrap.

Berners-Lee calls for computer science education at a younger age | VG247

Mon, Jan 28, 2013 | 12:29 GMT

Story by Dave Cook

Accredited with creating the World Wide Web, Tim Berners-Lee Knows a thing or two about the possibilities of computer coding. In a new new interview, Berners-Lee has called for an increase in computer science education at a younger age, to help children develop greater understanding of what makes computers tick, and how to code new applications and even games themselves.

Speaking in a video interview with World Economic Forum, Berners-Lee cautioned that while millions are using computer programs and using services like Twitter and Facebook, a low percentage of those users actually know how to code, or to understand why these tools and services work the way they do.

via Berners-Lee calls for computer science education at a younger age | VG247.

Raspberry Pi, a Computer Tinkerer’s Dream – NYTimes.com

By JOHN BIGGS

Published: January 30, 2013

Raspberry Pi may sound like the name of a math-based dessert. But it is actually one of the hottest and cheapest little computers in the world right now. Almost one million of these $35 machines have shipped since last February, capturing the imaginations of educators, hobbyists and tinkerers around the world.

via Raspberry Pi, a Computer Tinkerer’s Dream – NYTimes.com.

jQuery

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensbility, jQuery has changed the way that millions of people write JavaScript.

via jQuery.

AppInventor.org

AppInventor.org is the site for learning how to program mobile apps using MIT’s App Inventor. The site provides an on-line book and video lessons that step you through the creation of successively more complex apps. These tutorials are refined versions of the tutorials that have been on the Google and MIT App Inventor sites from App Inventor’s inception– thousands of beginners have used them to learn programming and learn App Inventor!

via AppInventor.org.