Lab 5: Project Progress Demonstration and Repository Checkpoint

Overview

By this point in the semester, you should have already begun meaningful work on your course project. The purpose of this lab assignment is to provide a structured checkpoint where you demonstrate the progress you have made so far and document the current state of your project. Rather than focusing on completing a specific feature or milestone, this assignment is intended to capture your development trajectory, encourage consistent progress, and give you an opportunity to reflect on what has been accomplished and what remains to be done.

Projects evolve over time, and successful software development is rarely linear. Instead, it involves iterative exploration, experimentation, debugging, and refinement. This lab serves as a progress snapshot of your project at this stage of the semester. The emphasis is not on perfection or completeness, but rather on evidence that you have begun building, testing, and organizing the components of your project.

You will demonstrate your progress by submitting your project repository. Your repository should contain the work you have completed so far, including code, documentation, experiments, prototypes, or any other materials that reflect your development process.

This assignment is primarily intended as a progress verification milestone rather than a graded evaluation of project quality. As such, the primary requirement is simply that you submit your repository showing the work you have completed.

Goals of This Assignment

This lab is designed to accomplish several objectives:

In many real-world development environments, teams regularly produce progress snapshots, development builds, or internal checkpoints. This assignment mirrors that practice by requiring you to share the current state of your project.

What You Need to Do

Your task for this lab is simple:

Submit your project repository showing the work you have completed so far.

Your repository should contain the current implementation of your project and reflect the progress you have made up to this point. There are no strict requirements regarding how complete your project must be, but the repository should demonstrate that you have started implementing your project and are actively working toward your final deliverable.

The repository may include, but is not limited to:

Not every project will include all of these elements, and that is perfectly acceptable. What matters most is that your repository accurately reflects the work you have done so far.

Evidence of Progress

While there are no strict requirements regarding what must be implemented at this stage, your repository should ideally show signs of active development. Examples of evidence of progress include:

Again, the goal is not to have a finished project, but to demonstrate that you have begun the development process.

Version Control Expectations

Your project should be managed using a version control system (such as Git). Using version control is an essential part of modern software development, and this assignment provides an opportunity to practice maintaining a well-organized repository.

Your repository should ideally show:

However, the primary requirement remains simply that you submit the repository containing your current progress.

Although not strictly required, it is strongly recommended that your repository include a README file describing the current state of your project. This file can help explain:

Documentation is a valuable habit that will help both you and others understand your project as it evolves.

What Counts as “Progress”?

Progress can take many forms. For some projects, progress may involve writing substantial amounts of code. For others, it may involve research, experimentation, or architectural planning.

Examples of legitimate progress might include:

Even if your implementation is incomplete or still evolving, it still counts as progress.

What If My Project Is Not Working Yet?

That is completely fine.

Many projects go through extended periods where the system does not fully compile, run, or behave as expected. Development is inherently iterative and often involves experimentation, debugging, and revising earlier work.

For this assignment, your project does not need to be functional or complete. The only requirement is that your repository reflects genuine effort and development activity.

Submission Instructions

To receive credit for this lab, you must submit your project repository, either in person, via Slack, or email.

Make sure that the repository contains the work you have completed so far.

If you are using a hosted repository (e.g., GitHub, GitLab, etc.), ensure that:

If the repository is private, make sure the instructor has access.

Grading

This assignment is graded primarily on completion.

You will receive credit if you submit a repository that demonstrates that you have begun working on your project.

There are no strict requirements regarding:

This assignment exists to verify that progress has begun and to provide an opportunity for early feedback if needed.

Academic Integrity

All work submitted must be your own. While it is acceptable to use external libraries, frameworks, or publicly available tools, your repository should reflect your own effort and development process.

If your project builds on existing codebases, clearly document that in your repository.

Final Notes

Think of this assignment as a development checkpoint rather than a traditional lab exercise. Its purpose is to encourage steady forward movement on your project and provide a moment to reflect on what you have accomplished so far.

Software projects rarely begin fully formed. Instead, they grow through experimentation, iteration, and gradual improvement. This lab captures the early stages of that process.

Your future self will thank you for the progress you make now.

Good luck, and keep building! 🚀