Applications and Languages being used in CS/CSP Curriculum
Alice — Alice is a 3D animation program developed at Carnegie-Mellon University and designed to teach basic computational thinking skills to K-12 students by using a visual drag-and-drop interface to piece together code snippets and create complete programs. It was one of the first visual programming languages designed exclusively for teaching. Alice version 2 is currently the most commonly used version. Alice version 3 is designed specifically to teach the Java programming language, whereas Alice version 2 was not designed for this purpose. Alice version 3 uses a higher quality avatar based on the Sims 3 models. There are versions of Alice for both Mac and Windows. There is also an active listserv for Alice teachers.
AppInventor — AppInventor is a browser-based visual programming language developed and hosted at MIT which uses puzzle-piece types of objects to represent code snippets and student connect the pieces together in a visually logical way in order to create a wide range of applications. AppInventor runs in the more current browsers and it outputs apps which run on Android devices. AppInventor was designed to teach, not to be used as a full-blown production tool, but students have demonstrated the ability to create some very advanced applications with it.
Scratch — Developed at MIT, is perhaps best described as a simplified version of AppInventor and in some ways, a stepping-stone to AppInventer intended for younger students with little to no experience with these kinds of programs.
Blockly — Visual programming language designed with puzzle-piece objects. Blockly is supported by Google and is generally considered to be the first of its kind. It is freely available. There are two sites of interest for teachers and students: Blockly Code for Developers and Educational Games for Parents and Teachers
More Advanced Programming Languages
Python — Download python for free.
- Intro to Computer Science in Python — The CodeHS introduction to Python course teaches the fundamentals of computer programming as well as some advanced features of the Python language. Students use what they learn in this course to build simple console-based games. This course is equivalent to a semester-long introductory Python course at the college level.
- Pythonroom — Pythonroom’s free online curriculum and powerful learning management system makes it easy for teachers of any background to get code into the classroom.
Java — Download Java for free.
C/C++ — Most popular programming language in existence depending on which poll you look at.
C# — Microsoft’s answer to Java, though it requires a Windows Server to run your code on.
Visual Basic — Some teachers say Visual Basic is possibly the best first language to teach K-12 students.
Adobe Flash and ActionScript — Adobe Flash and ActionScript are included in the Exploring Computer Science curriculum as options. Flash is the most popular web browser plugin on the internet. Most of the major multimedia sites such as TED and Youtube still use Flash. However, Flash is no longer supported on mobile devices, but Flash does offer the ability to develop for mobile apps using Adobe AIR for Android and iOS. Flash is still considered by many web developers to be the most powerful IDE ever created.