CS216 - Data Structures Resources

    ~Download / Install

  • Download Java OpenJDK, Standard Edition (SE)

    Download the Zulu Community OpenJDK, an open-source version of the Java Development Kit (JDK) Standard Edition (SE), before installing any development environments.

  • Eclipse IDE: Download

    Download the 64-bit installer of the Eclipse integrated development environment (IDE). Available for Windows, Mac, and other operating systems. NOTE: make sure you install the Java JDK before installing Eclipse!

  • Eclipse IDE: Install & Run

    Walks you through installing the Eclipse IDE for Java Developers, as well as running the program for the first time and setting up your Eclipse workspace. NOTE: the tutorial assumes you've already installed the Java Standard Edition (SE) JDK, as well as downloaded the Eclipse 64-bit installer for your Mac, Linux box, or Windows PC.

  • Heidi SQL Database Client: Download

    An alternative (and very portable) database client for runing SQL queries and perform many administrative tasks on MySQL, SQL Server, and SQLite databases. Download and extract the Portable version.

  • Java: Setting the PATH environment variable

    This page explains how to set the PATH variable on a variety of operating systems. Setting the path to your Java JDK distribution makes it easier to compile and run Java source and class files, respectively, from anywhere on your machine. NOTE: Set your PATH variable prior to running Eclipse for the first time to prevent startup errors.

  • Microsoft JDBC Driver for SQL Server: Download

    Download page for the latest version of Microsoft's JDBC Driver for SQL Server. Allows your Java programs to connect to SQL Server databases.

  • ~Reference

  • Java Math Class

    The official Javadoc and API for the Java Math class.

  • Java Cheat Sheets & Examples - Vogella

    Quick reference for basic Java language syntax: classes, instance variables, local variables, methods and constructors. Includes easy-to-understand examples with clear, concise explanations.

  • Java: String class

    The official Javadoc and API of the Java String class.

  • SEI CERT Oracle Coding Standard for Java (Security)

    Wiki maintained by Carnegie Mellon's Software Engineering Institute detailing recommended coding practices and rules for writing secure Java applications.

  • ~Tutorials

  • Java (Beginner) Programming Tutorials (thenewboston)

    Series of short, helpful YouTube video tutorials by Bucky Roberts on Java programming. Covers the same material as the CS218 Java Programming course, as well as graphics and GUI programming.

  • Jenkov: Java Language Tutorial

    Tutorial by Jakob Jenkov introducing Java and the fundamentals of Java programming; covers all of the material in the CS218 Java Programming course. Good place to start if you are a beginner new to Java.

  • Learn Java Programming with Examples (Beginner's Book)

    A series of Java tutorials by Beginner's Book that discusses the basics of Java. Covers the same material as the CS218 Java Programming course. Includes many sample programs that you can copy and run yourself.

  • Java Formatted Strings

    Tutorial from Home and Learn on using Java's System.out.printf() command and its formatting syntax. Provides examples of formatting strings, integers, and decimal numbers. You can use the same formatting syntax with Java's String.format() method.

  • Java I/O Streams Tutorial

    Oracle tutorial on input and output streams in Java. Also includes explanations and examples of how to use the File class.

  • Java: Random class

    Tutorial from Digital Ocean demonstrating how to use Java's Random class with examples. Also includes the newer Random class method introduced in Java 8.

  • Java: Scanner Class

    Tutorial that shows you how to use Java's Scanner class to read user input from a console. Demonstrates the class's most popular methods for reading input, as well as those for validating input.

  • Java: String Format Examples

    Examples using Java's String.format() method to format numbers and dates. Also includes a reference for Java's format specifiers (useful with the System.out.printf() method, too).

  • Java: Using String.format()

    Tutorial with examples of how to format numbers, dates, and time in Java using the String.format() method.

  • Javadoc Tutorial

    Brief tutorial on Javadocs, Java's formal, standardized documentation of code. Explains why Javadocs are useful, how they're used, and how you can create them for your own Java classes. Describes doc comment formatting, tags, and styles with an example.

  • Jenkov: Java NumberFormat Tutorial

    Examples showing you how to use Java's NumberFormat class to format numbers, currencies, and percentages.

  • Jenkov: Java SimpleDateFormat Tutorial

    Tutorial and examples showing you how to format dates and time using Java's SimpleDateFormat class.

  • Jenkov: Java Collections Tutorial

    Tutorial on Java's bulit-in data structures, including the ArrayList, HashMap, and SortedMap classes covered in the CS218 Java Programming and CS216 Data Structures courses

  • Jenkov: Java Date Time Tutorial

    Tutorial covering the original Date Time API, as well as the newer Date Time API introduced in Java 8.

  • Jenkov: Java Exceptions Tutorial

    Covers try-catch blocks, try-with-resource blocks, checked vs. unchecked exceptions, and other related topics.

  • Jenkov: Java I/O Tutorial

    Covers all things related to Java input and output: files, streams, readers. Covers many of the I/O classes individually.

  • Jenkov: Java Map Tutorial

    Tutorial (written and video) focusing specifically on Java's Map structures, including the HashMap, and TreeMap classes. Demonstrates how to create a map, add items, get items remove items, check if a key exists, and more.

  • Algorithms

  • CodingBat Recursion Exercises

    Basic and advanced recursion programming exercises in Java to help you " think recursively ".

  • Computer Algorithms @ Khan Academy

    Self-paced course that introduces basic algorithms, binary search, sorting algorithms, asymptotic notation, recursion, and graphs. Includes many programming exercises. NOTE: exercises are in JavaScript.

  • Red/Black Tree Visualization

    Animated tutorial from the University of San Francisco demonstrating how red-black trees work. Allows you to insert, delete, and find nodes in a red-black tree.

  • Sorting @ VisuAlgo

    Tutorials and examples of several sorting algorithms. Uses both visualizations and synchronized code snippets to help you better understand how the algorithms work.

  • Sorting: Bubble Sort Algorithm (mycodeschool)

    Video tutorial explaining in detail how the bubble sort algorithm works. Builds up the pseudocode for the algorithm, as well as discusses the time complexity of the algorithm in Big-O notation.

  • Sorting: Quicksort Algorithm (Joe James)

    Video tutorial by Joe James that walks you through how the basic quicksort algorithm works, as well as the Java implementation of quicksort. Also discusses the pros and cons of choosing a certain array items as pivot values.

  • Databases

  • Intro to SQL @ Khan Academy

    Self-paced course that introduces basic SQL queries, queries with Booleans and criteria, joins, and table modification. Provides examples and tests your knowledge of SQL and databases.

  • Java: JDBC Connection Example

    Example code from Microsoft showing you how to connect to a SQL Server database from a Java progam. Also includes a link for downloading the necessary JDBC database drivers for SQL Server.

  • Jenkov: Java JDBC Tutorial

    Tutorial by Jakob Jenkov introducing JDBC and how to write Java programs that interact with a relational database. Discusses opening connections, using the PreparedStatement class to build SQL statements securely, and how to use the ResultSet to process data.

  • SQL Tutorial &: Reference - W3Schools

    Less of a SQL tutorial and more examples and reference. Covers SQL syntax and table design, with references for specific DBMS. Best of all, you can practice writing SQL queries online with the Northwind database.

  • Eclipse

  • Eclipse: Changing the Appearance (Theme, Colors & Fonts)

    Brief tutorial that shows you how to change the theme of your Eclipse IDE, as well as individual colors and fonts.

  • Eclipse: Changing the Java Code Style Formatting

    Tutorial walking you through how to edit your Java code style formatting preferences using Eclipse's Formatter tool. Shows you how to set the size of tab indents; the format of code comments; and the placement of curly braces and control statements.

  • Eclipse: Configure to Automatically Update Code Formatting on Saving

    Brief tutorial showing you how to set your Eclipse preferences so the IDE automatically cleans the formatting of your code each time you save it.

  • Eclipse: Downloading & Enabling Javadocs

    Tutorial that shows you how to download the Java 10 Standard Edition (SE) documentation (or "Javadocs"), then link it to Eclipse. Doing so gives you access to the Javadoc for a class or method directly in Eclipse's code editor.

  • Eclipse: Fixing Broken Code Auto-completion

    A stackoverflow thread that explains how to fix Eclipse code auto-completion (i.e., Content Assist) if it stops working. Restore the default options for Content Assist by following the accepted answer's solution.

  • Eclipse: Generating Javadocs

    Tutorial that walks you through the process of generating Javadocs for your commented Java classes.

  • Eclipse: Importing a Project

    Brief tutorial that shows you how to import an existing Eclipse project (zipped or unzipped) into your workspace.

  • Eclipse: Tips & Tricks

    Tutorial showing you how to perform a number of small, but useful tasks in Eclipse - particularly those whose commands are a bit buried in menus. Tips include how to rename things, find usages of things, delete a project, reformat code, and open your project's folder in File Explorer or Finder (helpful when you need to submit a project to Moodle.)

  • Writing JUnit 4 Tests in Eclipse IDE

    Tutorial demonstrating how to write and run JUnit 4 unit tests in Eclipse. NOTE: The tutorial uses an older version (Luna) of Eclipse, but the same steps apply to the current version.

  • Git

  • EGit Tutorial - Using Git Support in Eclipse

    Tutorial and reference page that explains how to set up and use Git source control with Eclipse. Walks you through using local and remote repositories, committing changes, reverting changes, cloning repositories, and branching.