The learning outcomes of this project are to teach you:

Goal 1: to teach yourself a new technology
As someone working in coding, it is imperative that you can keep your skills up to date, and flexible. This means you must become a lifelong learner. It means you must be able to identify skills you lack, and you must figure out the most efficient way to learn it and the platform to use it on.
Goal 2: to use Github
3 Reasons Why You Should Learn Github, 'nuf said.
Goal 3: Collaboration
Defined as "the action of working with someone to produce or create something." A number of soft skills that employers look for in CS related jobs, including communication and leadership, require collaboration.
Goal 4: Utilize Current AI tools
You will using Chat GPT and/or Bing Chat for this project.

This "Term Project" portion of your grade is 20% of your total mark on the final report card.

Here are the presentations from the 2023 Class. Learn from them: 2023 Group Project Presentations

Your first task in the AP Term Project is to learn python.

  1. Learn Python in 60 Minutes from Java.
  2. Python Tutorials
  3. Important Python types: dict, str, int and float.
  4. Other important python skills: default arguments and exceptions.

To run python, you have a number of options available to you.

  1. Some websites will let you code and run basic python online. This may be the fastest way to get started.
  2. You can install and run the python interpreter, use a text editor to code it, and command line to run it. This is how I do it, and how we will be doing it in class.
  3. You can also find an IDE (Integrated Development Environment) if command line scares you.

To initially learn python, scripting and running the code through a website is fine. However, once we get started in graphics and for the final group project, you will need a way to run python on your home computer.

How you ask? Google it. (See Goal 1 of the learning outcomes for the term project).

What is Git vs Github? Git is an open-source tool developers install locally to manage source code, while GitHub is an online service to which developers who use Git can connect and upload or download resources.
  1. Watch Git and GitHub for Poets
  2. Join Github.
  3. Download Github Desktop
  4. Watch Using Github Desktop Part 1
  5. Watch Using Github Desktop Part 2
  6. Visit Github and see your repository online. This is how you will be handing in your python projects.
New Git Concepts

Branches, Merging, Forks, and Pull Requests are all facets of Git we have not yet explored. Since Git is meant for collaboration and version control, now is time to learn these concepts.

  1. Cloning Repo and Push/Pull
  2. Watch Branches
  3. Watch Forks and Pull Requests
  4. Watch Github Issues - key to managing complex software collaboration.

Create an AI account you can access from school.

Really only one person on the team needs an AI account. Use Chat GPT or Bing Chat.

For the purposes of the Project Presentation, record conversation you have with the AI. Copy and paste it into a shared google docs document.

  1. Use a Github repository
  2. Use a shared Google Doc to document the progress of your project. In this document record all your AI queries, and answers. Document everything you try, and if it succeeds or fails.

There is no "I" in team. To be a valuable member of a group project, always ask yourself, what can I do to help the team succeed. This is not about you, it is about the team. As soon as you ask "What am I getting out of this?" you have stopped being a part of the team.

Master Timetable marked in Milestones (40% of Assessment)
  1. Meets 80% of all requested courses placed
  2. Meets tba % of all students have 8/8 requested classes
  3. Meets tba % of all students have 7-8/8 requested classes
  4. Produce timetables for all students sorted by number of requested courses placed, then by ID (the end of the list will have students with incomplete timetables)
  5. Produce the master timetable balanced.(similar number of courses in each block)
Presentation (40% of Assessment) / Self and Peer Assessment (20% of Assessment)
APCS Final Project Assessment Criteria