Welcome to this modest little corner of the Internet! Here, you will find information about several Java programming projects that are used in various programming courses. In particular, networking is an important topic, and this server also provides running instances of the server components. When you implement client components, this provides a server that you can use for testing.

Project repositories

Smaller projects are collected together into a single, public repository: https://gitlab.fhnw.ch/bradley.richards/java-projects. Only the most important of those projects have web pages on this site. Explore the repository for other examples.

The most important projects on this site are:

  • The web server itself. This site runs on the web server that we develop in class. Yes, it really works!
  • The chat room. There are various versions of this project, from a simple text-based protocol to a RESTful protocol. This project can be used as a basis to implement either compatible servers or compatible clients. Normally, the latest version of the server is running on this site.
  • The Inductive Learning Framework (ILF): a toolkit for people working with rule-based learning. This project also provides an example of using Java modules, in particular, detecting and loading modules at runtime. Due to lack of time, this project is not entirely complete.
  • The AI Game Server (AIGS). This is a SpringBoot server that can make use of game modules to implement new games. This is intended both as an example of how to use SpringBoot and as an extensible framework where students can create new game-modules or compatible clients.

For more information about individual projects, click on the menu entries above or on the right, or explore the project repositories.

Licensing

All source code is open source. Unless otherwise noted, the individual projects are licensed under the BSD 3-clause license. The one exception is FreeSudoku, which I took over from an earlier maintainer, and he chose to license it under the GPL.