This page provides a number of resources with information on the tools that you will use in the course, and some technologies that you will need to become familiar with. Feel free to use this page throughout the semester to help locate resources for the different technologies we will be using.

Java

You will use Java 17 to implement the term project. This course has a prerequisite of GCIS-124, CSCI-142, or an equivalent course that provides the fundamentals of object-oriented programming. If you need to refresh your knowledge of Java, these resources will help. If your prerequisite course did not use Java as the object-oriented language, it will be your responsibility to learn the language early on in the course so that you will be able to contribute to your project team's implementation work.

Web technology

Your term project will be a web-based application, and you will use current web application technologies to implement it. These resources can provide you with additional information about working with these technologies.

Angular

Angular is a web application platform and framework for building single-page applications. These are some resources for more information about the framework. There are many others that you may find through your research.

TypeScript

Typescript is a strongly typed object oriented programming language built on JavaScript. TypeScript is the primary language for Angular application development.

Basic HTML/CSS

You will not need to know a lot of HTML/CSS to build this application, but you will need to know some. If you have not done any webpage development before, these resources will be helpful to you.

Spring Framework

You will use the Spring framework for creating your REST API service. The Spring framework provides the scaffolding to quickly create an application that responds to HTTP requests for the purposes of managing resources.

HTTP Protocol

One of your project tasks will be to design the applications REST API. To do that design work, you will need a small amount of knowledge about the HTTP protocol. These resources should give you the introduction that you need.

Team and Project Management

The term project is not a very large project, and your team is relatively small. Even so, one of your challenges will be managing the team and project. The project requires your team to use some online tools to assist with, though not be a silver bullet solution for, these challenges.

Facilitating project planning with Trello

Facilitating team communication with a Slack workspace

Slack is a tool, and should not be used as the silver bullet of team communication. Here are some guidelines and best practices.

Tools to facilitate scheduling team meetings

Code Management

Your team will be required to manage the project code and other artifacts using the Git version control system. Students who took GCIS-124 or CSCI-142 as their prerequisite course have some experience using Git in that course. You will host your repository (repo) on GitHub and make use of its issue tracking and pull request review mechanism. These are resources for information on using these tools.

Code Development and Debugging

A large percentage of your project work time will be doing code development, debugging, and testing. If you become very familiar with the development tools that you will use, it will save you a lot of time and make you much more productive.

Visual Studio Code

The students coming through GCIS-124 will have experience doing Java development using the VS Code tool.