Passion Project Tri1
The key development task for remainder of Tri1 is a Full Stack project using Python Flask for backend.
Product Owner Background
Your Teacher wants thier students to learn Collaboration, and Full Stack Development. I am looking for Projects that help students gain a passion for College Board Big Idea 2 - Data.
- Evidence of understanding of Big Idea 2: Binary, Data Compression, and Extracting Information from Data are key topics. Both College Board and Tech Talks will support Ideation on these topics.
- In teams, with success on Team Test, there was typically a great division of work. Dividing and Conquering was very evident, these skills will continue to be very important as you move to first objective of Ideation.
- In video production, teams were very effective in budgeting time. Thus, your Teacher was able to complete 40 minutes of reviews in an hour. As you go forward in Ideation reviews, you should consider techniques that allow you divide and conquer and stay in budget of time.
Product Owner Ideas
The recent Student Panel talked about making projects out of something you see, do, need, or like. Right now, you must see “College Board Big Ideas” and “Collaboration” per this “Product Owner requirements document”.
- Turn something you are required to do into a passion project. The Teacher got really excited about binary counting visualiztion/games, manipulating images (grey scale/sizing), and machine learning when reading and studying these College Board topics. However, since I would like to build my skills and capabilities before working on something that complex, I started my journey by building a simple list of Jokes to learn how to do APIs.
This project has many layers of investigation. Ideation code start on APIs. Looking at these screens can be very helpful in meeting multiple requirements for this project (Prentation design - UI, Data Design - UML).
Frontend/Binary. A key object of this class is learning and using binary. Doing something like this can help the Frontend developers to learn Frontend Development without the need to wait for Backend developers to provide depenencies. There is a frontend description here. This page contains a link to a Frontend binary project. Adding features to this could include 2^N labels under each bit (lightbulb) to assist in understanding. Making a calculator to add two binary numbers together. Showing how binary numbers are used to represent color. Combining ideas from the Game of Life, binary, and colors to make a tool to sketch and teach binary.
Backend/Data Compression. Using Python libaries and only Python/Flask it is possible to become very adept in backend code, but also do visualization. Here is a project that I envisioned worth visiting Lassen National Park. This includes features such as blur, grey scale, etc. There are red, blue, and green scale functions that are easier adaptations to this project. Building this and then providing uploads, api transport over base64 and persistance for images on server is a wonderful learning project and something the Teacher wants in his coffer of repos.
Backend/ML. This really needs no introduction. There is so much going on in this space. The key to this project would be to have data that a user(s) provide to make the learning model dynmic and immersive in a short demo at N@tM.
Deployment. Unless a project is versioned controlled, has a README, and is deployed (with AWS in our case) it is not useful to you or your Teacher. Every project we have should be stored and shared. This is the key to development and to turning coding into usefulness.
Realizations and Adjustments to thinking
In a team, project, or life in general there will be those that are better prepared or more equipped than others for a task. This project should be considered an opportunity to build scaffolding for all to participate and to contribute (equity). Find a roll for everyone, add roles if necessary, aka beyond frontend, backend.
- Python and Jupyter Notebooks. Someone could work on researching machine learning, college board, and building ideas in Jupyter Notebooks. This could build Python fundamentals, but also be a valuable contribution to your passion project.
- Javascript can be a great learning platform as discussed in the Teacher requirements. Building a visual project in Javascript will lead to thinking about persistence of data. Sharing of data will then lead to Full Stack.
- The scrum master or lead programmer(s) could be responsible for bringing things together, but people working on foundation pieces need to be responsive to “management”, not check out or quit.
- Scrum Team roles Agile Manifesto should be adapted to skill sets of team.
- Don’t be reluctant to be you; don’t try to fake you. The Teacher quickly knows of your contirubions,capabilities, and participation. Remember, your Teacher has tons of analytics on you from GitHub alone. Be real, improve on you and points will come.
Project Requirements
The Theme for the 1st Trimester Passion Project must be on “Learning JavaScript and Python for College Board and as a Team”.
-
The project must have have JavaScript as frontend and Python as backend.
-
Backend must contain APIs.
-
An emphasis of project must be on Big Idea 2 - Data.
-
Each student must show evidence of Code, through GitHub analytics. This evidence must show iteration of commits sustained over last six weeks of trimester.
-
Each student must show evidence of completing team goals and objectives.
-
Team/Scrum Master must have evidence of collaboration. This is particularly important at the Ideation Checkpoint. Make sure that Team members get credit for work completed through issues.