Course Project: The Programmer’s Journey

A Project-Based Introduction to Professional Programming

An overview of the course project where you will learn and apply the skills of a professional computer programmer.
Author

Chuck Nelson

Published

October 24, 2025

Tip🚀 Ready to Become a Professional Programmer?

This course is designed as a hands-on simulation of the software development world. You will step into the role of a Computer Programmer, learning and applying the essential knowledge, skills, and abilities outlined in the industry-standard O*NET-SOC profile 15-1251.00.

1 Project Overview

Throughout this semester, you will build a Task Management Application from the ground up. This project is your training ground, where you’ll move from foundational computer skills to writing, testing, and documenting a complete Java application.

The project is broken down into a series of milestones, each designed to build upon the last. You will start by learning to navigate your computer like a professional, progress to using an Integrated Development Environment (IDE), write the core logic of the application, and finally, prepare your code for a simulated “release.”

1.0.1 Core Features You’ll Build

You will implement the core features of a task management application, focusing on clean, efficient, and well-documented code.

Note✅ Application Features
  • Create and manage tasks with titles, descriptions, and categories.
  • Mark tasks as complete or pending.
  • Organize and retrieve tasks using data collections.
  • Ensure data integrity through validation and error handling.

2 Learning Objectives

By completing this project, you’ll gain job-ready skills in both Java programming and the professional practices that surround it.

  • Java Fundamentals: Mastering variables, data types, and flow control statements (loops, conditionals).
  • Using Java Objects: Working with core library objects like String, Array, List, and HashMap to manage data.
  • Implementing Designs: Translating provided class designs into functional Java code, rather than designing your own.
  • Error Handling: Implementing robust exception management and input validation.
  • Version Control: Using a standard Git workflow with branching and merging.
  • Build Automation: Using Maven to manage project dependencies and build processes.
  • Code Documentation: Creating clear Javadoc and README files.
  • Testing: Writing unit tests with JUnit 5 to ensure your code works as expected.
  • Command-Line Proficiency: Navigating the filesystem and running commands in a terminal.

3 Prerequisites

WarningBefore We Begin

Ensure you have the necessary software installed to start the course.

3.1 Required Software

Software Version Purpose
Java Development Kit (JDK) 21 or higher Core Java runtime and compiler
VS Code Latest Primary development environment
Git Latest Version control system
Web browser Any modern browser For accessing course materials
TipDon’t Worry!

If you’re not familiar with all the tools, Milestone 0 and 1 are dedicated to guiding you through setup and usage.


4 Our Methodology: Mentor-Guided Active Learning

This project may seem challenging, but our approach is designed for your success. You’ll learn by doing, with continuous support to ensure you spend more time applying concepts and less time fighting with configuration.

Important🎯 Our Teaching Philosophy

You’ll receive pre-configured starter projects via GitHub Classroom. This allows you to focus on coding and problem-solving, not complex setup.

4.0.1 How We’ll Work Together

  • Continuous Mentorship: We’ll provide daily guidance, help you debug code, and connect concepts to real-world career skills.
  • AI-Enhanced Development: You will learn to use AI coding assistants responsibly for code completion, documentation, and debugging.

5 Technology Stack

You will work with the same tools used by professional programmers every day.

Technology Purpose
Java Development Kit (JDK 21+) The core programming language.
Maven Build tool and dependency management.
VS Code Integrated Development Environment (IDE).
Git & GitHub Version control and collaboration.
JUnit 5 The standard framework for testing your code.
Bash/PowerShell Command-line interface for system interaction.

6 Project Milestones

Each milestone represents a critical stage in a professional development workflow, taking you from basic setup to a finished product.

6.1 Milestone 0: Using a Terminal

  • Focus: Gaining confidence with the command-line interface (CLI).
  • Tasks: Learn to navigate directories, create and move files, and execute basic commands in your operating system’s terminal.
  • Outcome: Foundational skills needed to work with developer tools.

6.2 Milestone 1: Using an IDE

  • Focus: Setting up and mastering your professional development environment.
  • Tasks: Install and configure VS Code, learn to use its integrated terminal and Git features, and manage a Java project with Maven.
  • Outcome: A fully configured IDE and a smooth workflow for coding, testing, and version control.

6.3 Milestone 2: Writing Code

  • Focus: Building the core logic of the Task Management application.
  • Tasks:
    • Implement the Task class with all its properties.
    • Create a TaskService to handle business logic (Create, Read, Update, Delete).
    • Use collections like ArrayList and HashMap for in-memory storage.
    • Write unit tests to validate your logic.
  • Outcome: A functional, tested, and well-structured Java application.

6.4 Milestone 3: Shipping Code

  • Focus: Finalizing the application and preparing it for others to use.
  • Tasks:
    • Refine and document your code with Javadoc.
    • Ensure all tests are passing and the code is free of bugs.
    • Create a comprehensive README.md file.
    • Package the application into a distributable format.
  • Outcome: A polished, documented, and “shippable” software project.

7 Timeline & Assessment

Your grade is based on the work you are required to complete. The project is structured to give you hands-on experience at every stage of the development lifecycle.

Milestone Focus Area
Milestone 0 Command-Line Fundamentals
Milestone 1 IDE & Professional Tooling Workflow
Milestone 2 Core Java Programming & Unit Testing
Milestone 3 Documentation, & Finalization

7.1 Assessment Criteria

Your work will be assessed based on criteria that reflect professional standards.

7.1.1 Grade Breakdown

Component Weight
Functionality 40%
Code Quality 30%
Testing 20%
Documentation 10%

7.1.2 Time Commitment

Activity Hours/Week
In-class time 3 hours
Expected homework 4-6 hours

Important🎯 Your Journey Starts Here

This project will challenge you, teach you, and prepare you for a successful career in software development. By the end, you’ll have built something you can proudly show to potential employers.

Let’s build something great together!

Back to top