Software Used to Support CS1 & CS2

The following list provides links to descriptions of the software and development environments used in support of the first two introductory courses in computer science as reported in the Language and Text Survey updated Fall 2004.

BlueJ

CodeLab

Code Warrior

DrJava

Eclipse

IDLE

JBuilder

JCreator

JES

jGrasp

Jython

NetBeans

Python

Sun’s JDK/SDK

TextPad

 

BlueJ http://www.bluej.org/, http://java.sun.com/features/2002/07/bluej.html

BlueJ is a simple IDE that encourages experimentation and exploration through simplicity, visualization, and interactivity.  An integrated Java development environment specifically aimed at teaching and learning object-oriented programming. BlueJ offers unique interaction facilities that allow the interactive creation of objects and interactive invocation and testing of individual methods. The environment is ideal for small scale development and beginners getting into Java. It features sophisticated visualisation tools and an easy-to-use interface.  The BlueJ environment was developed as part of a university research project for teaching object-orientation to beginners. The system is being developed and maintained by a joint research group at Monash University in Melbourne, Australia, Maersk Institute at the University of Southern Denmark, and is supported by Sun Microsystems as a teaching tool for object oriented programming. The application runs on top of the Java 2 Platform, Standard Edition (J2SE) and uses the standard compiler and virtual machine. It also includes:

Built-in editor and project manager

Automatic Unified Modeling Language (UML) like diagrams

Visuals to demonstrate classes versus objects and application structure

An interactive interface that allow students to create and test objects, call methods and fields

Ability to run applications and applets

A simple debugger

 

CodeLab www.turingscraft.com

CodeLab is a web-based interactive programming exercise system for introductory programming classes in Java, C++, C and other languages. Designed to reduce attrition and raise the overall level of the class, it has been adopted at a growing number (now 50) of institutions.  The facility has over 200 short exercises, each focused on a particular programming idea or language construct. The student types in code and the system immediately judges its correctness, offering hints when the submission is incorrect. Through this process, the student gains mastery over the semantics, syntax and common usage of the language elements.  For technical and sales support, contact David Arnow at arnow@turingscraft.com.

 

CodeWarrior www.metrowerks.com/pdf/Whitepapers/CW_and_Java_Whitepaper.pdf

Compiler, Debugger, Editor Metrowerks prides itself in its industry leading compilers, editors, and debuggers. The Java IDE is no exception. For novice programmers a rich set of wizards, templates, and examples get you started writing Java code with minimal effort.  The CodeWarrior Java debugger enables the programmer to step through code one line at a time, set breakpoints, and view variables as the program runs. For advanced users, the debugger includes additional features like viewing separate threads and calculating expressions that do not appear in code.  The CodeWarrior editor features customizable syntax coloring, auto completion, and punctuation balancing to name a few features.

 

DrJava drjava.org
DrJava is a lightweight development environment for writing Java programs. It is designed primarily for students, providing an intuitive interface and the ability to interactively evaluate Java code. It also includes powerful features for more advanced users. DrJava is available for free under the DrJava Open Source License, and it is under active development by the JavaPLT group at Rice University.

 

Eclipse www.eclipse.org
The Eclipse Platform is designed for building integrated development environments (IDEs) that can be used to create applications as diverse as web sites, embedded Java TM programs, C++ programs, and Enterprise JavaBeans TM. Eclipse is an open platform for tool integration built by an open community of tool providers. Operating under a open source paradigm, with a common public license that provides royalty free source code and world wide redistribution rights, the eclipse platform provides tool developers with ultimate flexibility and control over their software technology.

 

IDLE  www.python.org/idle/
IDLE is the new Python development environment which was first released with version 1.5.2 of Python. It is being developed by Guido van Rossum with contributions from among others Tim Peters, Mark Hammond, Moshe Zadka and now Jeremy Hylton. It currently has been tested to work on both Unix and Windows platforms.  It has a Python Shell Window, which gives you access to the Python interactive mode. Its File Editor lets you create new or browse through and edit existing Python source files. There is a Path Browser for searching through the path of available module source files as well as a simple Class Browser for finding the methods of classes. It has a flexible search capability through its Find in Files dialog that lets you search through your files and/or the systems' files to find occurrences of identifiers or any other text fragments. Finally (although this is still is in the process of maturing), it has a Debug Control Panel which provides for the symbolic debugging of Python programs.

 

JBuilder www.borland.com/jbuilder/
JBuilder Professional is a comprehensive, visual development environment for creating JAVA 2, platform-independent database and Web applications.  JBuilder combines a rapid application development environment for building and deploying JavaBeans, applets, servelets, and Java/XML.  This environment includes extensive source management and a professional graphical debugger.

 

JCreator  www.jcreator.com
JCreator is a powerful IDE for Java. JCreator provides the user with a wide range of functionality such as : Project management, project templates, code-completion, debugger interface, editor with syntax highlighting, wizards and a fully customizable user interface. With JCreator you can directly compile or run your Java program without activating the main document first. JCreator will automatically find the file with the main method or the html file holding the java applet, then it will start the tool.

 

JES coweb.cc.gatech.edu/mediaComp-plan/94

The Jython Environment for Students is a full-featured media computation environment for programming in Jython. It includes facilities for programming, debugging, and media examination. JES also comes with an extensive multimedia API, enabling easy and rapid manipulations of sounds, images, and on some platforms, video. JES was originally designed and implemented by Jason Ergle, Claire Bailey, David Raines, and Joshua Sklare. The second version was implemented by Larry Olson, Toby Ho, Ellie Harmon, Keith McDermott, and Adam Wilson. It comes in distributions for Windows and Macintosh OS X. There is also a source distribution available that can be run on any platform with a Java VM.

 

jGRASP  www.jgrasp.org
jGRASP is a lightweight development environment, created specifically to provide automatic generation of software visualizations for the purpose of improving the comprehensibility of software. jGRASP is implemented in Java, and runs on all platforms with a Java Virtual Machine (Java version 1.3 or higher). jGRASP produces CSD diagrams for Java, C, C++, Objective-C, Ada, and VHDL; CPG diagrams for Java and Ada; UML diagrams for Java; and has an integrated debugger and workbench for Java.

 

Jython www.jython.org
Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. The predecessor to Jython, JPython, is certified as 100% Pure Java. Jython is freely available for both commercial and non-commercial use and is distributed with source code. Jython is complementary to Java and is especially suited for the following tasks:

Embedded scripting - Java programmers can add the Jython libraries to their system to allow end users to write simple or complicated scripts that add functionality to the application.

Interactive experimentation - Jython provides an interactive interpreter that can be used to interact with Java packages or with running Java applications. This allows programmers to experiment and debug any Java system using Jython.

Rapid application development - Python programs are typically 2-10X shorter than the equivalent Java program. This translates directly to increased programmer productivity. The seamless interaction between Python and Java allows developers to freely mix the two languages both during development and in shipping products.

 

NetBeans www.netbeans.org
The original free and open source IDE. Develop cross-platform desktop, mobile and web applications based on industry standards utilizing the latest technologies with full-featured integrated development environment for Java Software Developers.

 

Python www.python.org
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.  The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms. The Python implementation is copyrighted but freely usable and distributable, even for commercial use.

 

Sun’s JDK/SDK for Java java.sun.com/j2se/overview.html
There are two principal products in the J2SE platform family:
Java 2 Runtime Environment, Standard Edition(JRE) and Java 2 Software Development Kit, Standard Edition (SDK). The JRE provides the Java APIs, Java virtual machine, and other components necessary to run applets and applications written in the Java programming language. It is also the foundation for the technologies in the Java 2 Platform, Enterprise Edition (J2EE) for enterprise software development and deployment. The JRE does not contain tools and utilities such as compilers or debuggers for developing applets and applications.

 

TextPad www.textpad.com
TextPad has been implemented according to the Windows XP user interface guidelines, so great attention has been paid to making it easy for both beginners and experienced users. In-context help is available for all commands, and in-context menus pop-up with the right mouse button. The Windows multiple document interface allows multiple files to be edited simultaneously, with up to 2 views on each file. Text can be dragged and dropped between files.  In addition to the usual cut and paste capabilities, you can correct the most common typing errors with commands to change case, and transpose words, characters and lines. Other commands let you indent blocks of text, split or join lines, and insert whole files. Any change can be undone or redone, right back to the first one made. Visible bookmarks can be put on lines, and edit commands can be applied to lines with bookmarks.  Frequently used combinations of commands can be saved as keystroke macros, and the spelling checker has dictionaries for 10 languages. It also has a customizable tools menu, and integral file compare and search commands, with hypertext jumps from the matched text to the corresponding line in the source file (ideal for integrating compilers).