A GitHub Codespaces-based Java lab environment designed for teaching introductory programming concepts using GitHub Classroom with automated testing and grading.
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.
- 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
- A GitHub account
- Access to GitHub Codespaces
- Click the green Code button on the repository page.
- Select the Codespaces tab.
- Click Create codespace on main.
The environment will automatically configure with Java and all required testing libraries.
-
Open the exercise files (
Exercise1.javathroughExercise4.java) and implement the required code where indicated by// YOUR CODE HERE. -
Refer to the exercise instructions in the
docs/directory for detailed requirements. -
Compile and run an exercise:
javac Exercise1.java java Exercise1
-
Run the test for a specific exercise:
bash bin/run_test.sh Exercise1
- Language: Java 8
- Testing: JUnit 5 (Console Standalone), System Lambda, Hamcrest
- Platform: GitHub Codespaces with Dev Containers
- CI/CD: GitHub Classroom Autograding
This project is licensed under the MIT License. See the LICENSE file for details.