Skip to content

danielcregg/javafx_codespace

Repository files navigation

JavaFX Codespace

Java License: MIT

A GitHub Codespaces-based Java lab environment designed for teaching introductory programming concepts using GitHub Classroom with automated testing and grading.

Overview

This repository serves as a proof-of-concept lab template for first-year software development students. It provides a browser-based Java development environment powered by GitHub Codespaces, with integrated JUnit 5 test suites and GitHub Classroom autograding. Students complete Java exercises involving Scanner-based input/output, and their submissions are automatically verified for correctness.

Features

  • Browser-based Java development environment via GitHub Codespaces
  • Four progressive Java exercises focusing on Scanner input/output
  • Automated JUnit 5 test suites for each exercise
  • GitHub Classroom integration with autograding support
  • Built-in test runner script for local verification
  • VNC desktop support for GUI-based development

Prerequisites

Getting Started

Installation

  1. Click the green Code button on the repository page.
  2. Select the Codespaces tab.
  3. Click Create codespace on main.

The environment will automatically configure with Java and all required testing libraries.

Usage

  1. Open the exercise files (Exercise1.java through Exercise4.java) and implement the required code where indicated by // YOUR CODE HERE.

  2. Refer to the exercise instructions in the docs/ directory for detailed requirements.

  3. Compile and run an exercise:

    javac Exercise1.java
    java Exercise1
  4. Run the test for a specific exercise:

    bash bin/run_test.sh Exercise1

Tech Stack

  • Language: Java 8
  • Testing: JUnit 5 (Console Standalone), System Lambda, Hamcrest
  • Platform: GitHub Codespaces with Dev Containers
  • CI/CD: GitHub Classroom Autograding

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

GitHub Codespaces Java lab environment with JUnit 5 autograding for GitHub Classroom

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors