Foundational Java

Installfest Guides

Name of Guide Required Before Start of Course Description
Java Installfest No Specific guidance for installing tools to write and execute Java code.

Pacing Guide

None

Content

Module name Type Duration About
Java Installfest Lecture Specific guidance for installing tools to write and execute Java code.
Intro to Java Lecture 70 min Explore setting up Java on MacOS or Windows, manage Java files via the command line, and write the main method in Java.
Java Data Types and Variables Lecture 100 min Explore data type categorization with examples, use Math class methods, operate on String variables, differentiate NaN from null, and enhance data handling skills.
Java Control Flow Lecture 90 min Explore Java control flow with block statements, if...else and switch conditionals, Boolean logic, comparison operators, and looping techniques.
Java Methods and Scope Lecture 90 min Explore the range of data types methods can return and learn to write methods adhering to Java naming conventions.
Java Methods and Scope Lab Lab 90 min Write code that implements various methods.
Java Arrays and ArrayList Lecture 90 min Learn to create and manipulate arrays, utilize indexing and Array class methods, and develop Java methods for efficient arrays and ArrayLists management.
Java Collections Lab Lab 90 min Solve complex problems involving data collection, design solutions, and validate code.
Java Debugging Lecture 60 min Learn to analyze stack traces to pinpoint errors and set breakpoints to inspect program state.
Java Exception Handling Lecture 55 min Learn to manage exceptions with try-catch blocks and use throws and throw for error control.
Intro to OOP with Java Lecture 30 min Explore the four principles of object-oriented programming and the role of classes and objects.
Java Objects and Classes Lecture 60 min Learn to instantiate objects, add fields and methods to classes, and write constructors.
Working with Files in Java Lab Lab 45 min Build a Java application that performs file input and output operations.
Java Subclasses Lecture 90 min Explore inheritance, @Override, upcasting and downcasting, and superclass/subclass structures.
Java Subclasses with Animals Lab Lab 45 min Build an Animal class with properties, getters, and setters.
Java Abstract Classes vs. Interfaces Lecture 45 min Learn to write abstract classes, define interfaces, and understand when to use each.
Java Inheritance and Abstraction Lab Lab 75 min Practice creating abstract classes and interfaces to model a hierarchy of vehicles.
The Heap and Garbage Collection in Java Lecture 60 min Understand the Java heap, stack, and garbage collection processes.
Java Test-Driven Development Lecture 90 min Learn the TDD framework across unit, integration, and acceptance testing.
Writing Unit Tests in Java Lecture 105 min Practice Test-Driven Development by building a calculator class through testing.
Java Test-Driven Development Lab Lab 120 min Apply TDD techniques to write, test, and fix application components.
Singleton Design Pattern in Java Lecture 60 min Explore the Singleton design pattern.
Factory Design Patterns in Java Lecture 90 min Explore the Factory and Abstract Factory design patterns.
Builder Design Pattern in Java Lecture 90 min Learn to implement the Builder design pattern to construct complex objects.
Java Design Patterns Lab Lab 120 min Apply design patterns to improve flexibility and maintainability of software systems.
Total content Total 1900 min  

Projects

Module name About
Java Dictionary Project Create a dictionary application that stores dictionary entries and allows users to manipulate them.
Java Data Management System Project Build a data management system that stores and manages custom data objects that users can manipulate.