# The Self-Directed (a.k.a "Freestyle") Project

This project provides students with an opportunity to create software to suit their own business or personal interests.

## Learning Objectives

* Implement software to address the needs of real users.
* Participate in the entire Systems Development Lifecycle (SDLC), including planning, analysis, design, implementation, and maintenance.
* Follow personal interests and passions, and find an outlet for creative expression.
* Practice building software within a larger team (optional).

## Scope and Complexity

The project's scope should be roughly equivalent to the previous "guided" projects (i.e. Shopping Cart, Robo Advisor), or greater if desired.

## Requirements

The software should transform information inputs into information outputs for some practical purpose.

## Groups

Students have the option of working by themselves, or in groups of up to three total members.

To fairly evaluate groups of different sizes, projects may be ranked against others of the same group composition (e.g. solo projects vs other solo projects, two-person teams vs other two-person teams, etc.).

To incentivize individual effort within groups, each group member may be asked to submit a form describing and rating the roles and relative contributions of all other group members.

## Deliverables

1. [Proposal](https://prof-rossetti.gitbook.io/intro-to-python/projects/freestyle/proposal)
2. [Implementation](https://prof-rossetti.gitbook.io/intro-to-python/projects/freestyle/implementation)
3. [Demonstration](https://prof-rossetti.gitbook.io/intro-to-python/projects/freestyle/demo)
