This page links to useful resources.
Java 23
BE SURE TO INSTALL JAVA FIRST. We will be using Java 25 for this course. Follow the instructions below to install the Temurin OpenJDK open source version of the Java 25 JDK.
IntelliJ
We will be using the IntelliJ IDE for this course.
Once you have both Java 25 and IntelliJ installed, start IntelliJ and at the startup screen
select File->Project Structure from the menu bar.
Under Project Settings, select Project and in the SDK dropdown, select the Temurin Java 25 option and click OK.
Artificial Intelligence (AI) and ChatGPT
ChatGPT: ChatGPT (andother large language models - LLMs) will be able to give you answers (or at least point you in a generally good direction) for many of the topics listed below. You should sign up for the free ChatGPT account so that you can keep track of your conversations.
Hypertext Mark-Up Language (HTML) and Cascading Style Sheets (CSS)
w3Schools.com: Go here first for HTML/CSS, SQL, JavaScript, PHP tutorials
Free Code Camp: Covers HTML/CSS (you need to create a free account)
Basic HTML Tutorial: Tutorial site for Basic HTML
HTML Forms Tutprial: Tutorial site for creating HTML Forms
HTML Tables Tutorial: Tutorial site for creating HTML tables
Basic CSS Tutorial: Tutorial site for using CSS
CSS Reference: CSS reference guide from Web Design Group
Bootstrap: A visual editor for creating web front-ends
Brackets: A visual editor for working on HTML/CSS
Java Server Pages (JSP) and Java Standard Tag Library (JSTL)
JSP Tutorial: Tutorial site for working with JSPs (note that this references Apache Tomcat, but much of it should apply to Eclipse Jetty)
JSTL Tutorial: Tutorial site for working with JSTL (linked from above site)
Session Information: Creating and using session information (linked from above site)
JavaScript (JS)
JavaScript Tutorial - w3schools: JavaScript tutorial w/sandbox from w3shools.com
JavaScript Tutorial: Basic JavaScript tutorial
Free Code Camp: Covers various JavaScript versions (you need to create a free account)
Email address validation
A Java email validator class using regex (regular expressions)
Drawing Packages for Wireframes, UML Diagrams, and Database Schemas
I recommend using either of the following free tools for creating your diagrams for your group’s Wireframes, UML Diagrams and Database Schemas. You may use other drawing tools, but whichever drawing tool you use, you must be able to export PDF, PNG, or JPG versions of your drawings, so that you can embed them on your assignment submissions.
Git, GitHub, eGit, Git Desktop Clients
GitHub Desktop - Desktop CLient for GitHub: An alternative to using Intellij’s built-in versioning. It works outside of your IDE, but many students/faculty consider it easier to use.
Git-Tower - Desktop Client for Git: An alternative to using Intellij’s built-in versioning. It works outside of your IDE, but many students/faculty consider it easier to use.
Git Branching Demo: Great JavaScript-based demo for using branches in Git
Free Code Camp: Covers Git and GitHub (you need to create a free account)
Git Website: Everything you ever wanted to know about Git, but were afraid to ask
Git eBook: ProGit v2: Available free in PDF form
Git Reference Manual: Git command-line reference
Git Videos: Tutorials on getting started with Git
Git Downloads: Git Clients and Tools
GitHub - Remote Repository Host: Teams will create their remote repositories on GitHub
Unified Modeling Language (UML)
UML Diagrams: A concise explanation of UML relationships and diagrams
Relational Databases and Structured Query Language (SQL)
SQL Tutorial - w3schools: Go here first for SQL tutorials w/sandbox from w3schools.com
Free Code Camp: Covers SQL Databases (you need to creaate a free account)
CS320 Functor Sample
CS320_FunctorSample.zip: A brief example showing how to make multiple functors to use to sort a sample String array list.
For some notes on functors see CS201 Functor Notes.
CS320 Lab06 (JDBC) Solution will be posted here shortly after the final submission date for Lab06 (see lab schedule)
CS320_Lab06_Solution-2026.zip: A solution for the JDBC lab (Lab06). Please compare your solution to this code, and make any necessary changes in your code, as an exercise to further understand the material. There are plenty of comments included in the solution to describe what is happening and why it is being done.



