From CSULA CS Wiki
Jump to: navigation, search


When developing non-trivial software is it generally a good idea to make use of existing frameworks, libraries, tools, technologies, and components rather than developing a similar capability from scratch. To help us get acquainted with what turns out to be a very wide range of available systems, we will explore some of them in this class. The plan is to look at one each week. See What companies look for when hiring for one reason why this is important.

When you demonstrate a framework, library, tool, technology, or component you should convey its core functionality as well as some sense of why and in what contexts one would consider using it. The demonstration should include a live execution of at least a Hello World example use of the system. As part of your demonstration you should walk us through the example code and explain how it works.

See also


Besides direct references to open source code, there is a significant (if undisciplined) collection of computer science bibliographies. The papers referenced in those bibliographies may refer to available code.

Cloud Computing: X as a service

These are not all free.

Document Repository and Knowledge Management systems

See also DocBook for books and Report Generators for reports.

Corporate open source repositories

Java.Sun projects

Other Java


Apache projects

Apache/Jakarta projects

Eclipse and Eclipse projects such as

Free Software Foundation

Manageability Open source list by Carlos E. Perez

An amazing list of Java open source software divided into various categories. The lists are not all up-to-date, but they are worth checking out.

Trigris Software Engineering tools

Agent-based simulation

Multi-agent systems

Belief-Desire-Intention (BDI) Agents

Cognitive modeling

Video screen capture

Aspect-oriented programming

Network modeling and simulation

Social Network Analysis

Collaborative Filtering

Bayesian Networks

Business Intelligence, including Data Mining

Game engines, graphics engines, physics engines, and MMORPGs

Prediction markets

List from Wikipedia's Prediction Market.

Java Profilers

Parser generators such as


UML Modeling

Interlanguage glue code

Databases such as

Separate clients

Grid projects such as

Workflow & Task Management

Enterprise projects such as


Constraint systems

These are all Java-based, although some have other versions.

Cyc, OWL, Semantic Web

Content management systems

See especially Drupal and Joomla!.


Second generation wiki(?)

Tools associated with Agent-Based Meta-Models

Geographic Information Systems


TIOBE programming language "popularity" index.

Expert System Shells


Report generators

GNU Software for Windows

Educational support

Evolutionary programming

Usability Tests


  • Croquet
  • Lively Kernel
  • OpenLaszlo "a platform for creating zero-install web applications with the user interface capabilities of desktop client software. OpenLaszlo programs are written in XML and JavaScript and transparently compiled to Flash and, with OpenLaszlo 4, DHTML. The OpenLaszlo APIs provide animation, layout, data binding, server communication, and declarative UI."
  • Project Zero

Mobile device operating systems

Data Analysis and visualization

Other projects