Learn To Code #1: Does Everybody Really Need To Program? – Forbes

Everywhere I turn, there seems to be a new way to learn how to program online. There are free resources like Codeacademy, Udacity, Coursera, Mozilla’s P2PU, Google Code University, and MIT Open Courseware. There are also more and more high-quality paid resources, both online and off, like General Assembly, Treehouse or Bloc, not to mention local continuing ed classes across the spectrum of relevance and quality

via Learn To Code #1: Does Everybody Really Need To Program? – Forbes.

MUDEE

When working my students through the problem solving process I ask them to evaluate their plans and programs against five adjectives:

Unambiguous – This is most essential for the plan stage of the problem solving process. Plans for a program must be clear, concise, readable and understandable by those following the plan.

Efficient – Are there extra steps? Can the same goal be accomplished in less time or using less code?

Documented – This ties in and helps support unambiguous. Does the program have notes in each section of the program? Can a reader of your code understand it with out having to execute it? Are the variable names descriptive?

Modular – Are sections of code repeated or are they packaged into recallable blocks? Can the code sections be used in other parts of the program or other programs? Are the variable names so descriptive that they only make sense in this program?

Elegant – This is tying together of all the other adjectives. Have the right coding choices been made? Sometimes things like modularity trump efficiency. Is the program beautiful to look at? Are indentation and spacing used appropriately to make the program easy to read? Here experience helps to inform the evaluation.

I keep trying to work these together into an acronym but nothing seems to work MUDEE, MEEDU, DEEMU?

 

The Beauty and Joy of Computing

The Beauty and Joy of Computing (BJC) is an introductory computer science curriculum developed at the University of California, Berkeley, intended for non-CS majors at the high school junior through undergraduate freshman level. It was one of the five initial pilot programs for the AP CS Principles course being developed by the College Board and the National Science Foundation. We offer it as CS 10 at Berkeley.

via The Beauty and Joy of Computing.

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.