Project Summary Problem: CS pedagogical content knowledge (CS PCK) – i.e., knowledge of how to teach computer science – is mostly undocumented. Project Goal: Develop a set of CS teaching tips to help teachers anticipate students’ difficulties and build upon students’ strengths. Status: Beginning the project in October of 2013, we are currently recruiting CS teachers who have insights into student learning. Funding: This material is based upon work supported by the National Science Foundation under Grant No. 1339404. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Source: About | csteachingtips.org

8 iOS Apps That Teach You How to Code | Mac|Life

We’re rapidly heading into a world where those who can’t understand code are left behind. Everyone should try learning at least one programming language, even if it’s just so that they can communicate their needs to tech people. Knowing some code-fu does wonders for your problem-solving and logic, too. Whether you’re aiming for eventual App Store success, dipping your toes into a new hobby, or just trying to learn a new skill, these eight iOS apps will help you distinguish loops from conditionals and provide all the groundwork you need to become a 1337 coder — no matter your age or technical know-how.

via 8 iOS Apps That Teach You How to Code | Mac|Life.

From: Maxwell, Anthony
Sent: Friday, August 09, 2013 1:22 PM
To: Dioguardi, III, J. Edward; Tusch, Erich
Subject: 8 iOS Apps That Teach You How to Code

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?

 

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.

Processing

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context,

Processing also has evolved into a tool for generating finished professional work. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

via Processing.org.

Microsoft Small Basic

Help your students start writing their first programs quickly and easily. With only 15 keywords and an inviting development environment, Small Basic is structured to help them succeed. Students who wish to advance their software development skills can also take advantage of Small Basic’s online guides and e-books to help them move ahead.

via Free tools for teachers: Small Basic – Partners in Learning Network.

Micorosot Kodu

Teach your students programming by letting them have fun creating and playing their own games. Kodu is a visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox 360, allowing rapid design iteration using only a game controller for input.

via Free tools for teachers: Kodu – Partners in Learning Network.