YoVDO

Build a Java Desktop Application - Full Course (Sudoku)

Offered By: freeCodeCamp

Tags

Java Courses JavaFX Courses Algorithms Courses Data Storage Courses User Interface Design Courses Desktop Application Development Courses

Course Description

Overview

Embark on a comprehensive Java desktop application development journey by creating a Sudoku game using JavaFX. Master essential concepts including problem domain classes, constants with enums and static final variables, application container setup, and user interface design with Java interfaces. Dive into custom JavaFX TextField implementation and efficient management of 81 TextFields using HashMap. Explore control logic implementation similar to MVP/MVC patterns, computation logic for game generation and solving, and build logic for separating configuration from use. Conclude with persistence and data storage techniques for local filesystem storage. Gain practical experience in Java programming, desktop application development, and game logic implementation through this hands-on course.

Syllabus

) Introduction.
) Problem Domain Classes (SudokuGame, Coordinates with Hashing, IStorage).
) Constants w/ Enums & static final variables (GameState, Messages, Rows).
) Application Container/Entry Point (SudokuApplication, Main).
) User Interface w/ Java Interfaces (IUserInterfaceContract, EventListener, View).
) User Interface (Custom JavaFX TextField).
) User Interface (UserInterfaceImpl, Managing 81 TextFields Elegantly w/ HashMap) .
) Control Logic (Implementing EventListener similar to MVP/MVC).
) Computation Logic (SudokuUtilities static Helper Methods).
) Computation Logic (GameGenerator Algorithms for generating a new solvable Sudoku Game).
) Computation Logic (SudokuSolver Algorithm for Solving a Sudoku Game).
) Computation Logic (Entry Point To Back End & Algorithms for Validating a Sudoku Game for Completion).
) Build Logic (SudokuBuildLogic for "separating configuration from use" -Martin Fowler).
) Persistence/Data Storage (LocalStorageImpl for storing data on the local filesystem).
) Acknowledgements & further resources.


Taught by

freeCodeCamp.org

Related Courses

Intro to the Design of Everyday Things
Udacity
Android. Programación de Aplicaciones
Miríadax
Programming Mobile Applications for Android Handheld Systems: Part 1
University of Maryland, College Park via Coursera
Mobile and Ubiquitous Computing
Georgia Institute of Technology via Coursera
Android: Introducción a la Programación
Universitat Politècnica de València via edX