Sprint Objectives

  1. Breaking out your own Social Media Project:
    • Objective is to create something that belongs to you and could potentially lead to your CPT project.
    • There will only be one person with rights to pull code into the repository.
    • Teams will be 3 people, tables will be 6 people.
    • We will plan leadership off of one Scrum Master and Integrator per 6 people.
    • Teams of 3 will have very distinct features.
    • This work will require coordination and design.
    • There will be frequent checkpoints.
    • The first checkpoints will show that you are meeting Big Idea 1.1 to 1.3 requirements in planning, coordination, as well as meeting all the requirements for CPT.
    • Read the CPT requirements and start a planning breakdown.
  2. Extending ideas for your group Social Media Project:
    • Your project should have designs for signup, login, and your social media features and actions.
    • Each person in the team will have a clear path and design for full stack responsibility.
    • Additional areas of consideration that must be considered:
      • Jinja MVC admin menu
      • Home Page design
      • Additional features mentioned below for an “A”
  3. Teaching Elements:
    • There are teaching elements we will focus on in Big Ideas 1, 2, 4, and the remaining sections of Big Idea 3.
    • Selection of these elements could impact a mandatory CompSci social media section to your Social Media project.
    • References to assist can be found on Time Box Page.

Priorities for Planning College Board Create Performance Task (CPT)

Students should learn topics from coding to reinforcing their understanding of college board materials.

Listed below are key topics to accomplish the CPT project effectively. This outline will guide students guideance as they continue developing their Social Media projects. The focus will be on collaboration, design, debugging, and testing.

Big Idea 1.1 & 1.2 Collaboration, Program Function, and Purpose

  • Iteration, SCRUM, Agile, Issues, Kanban:
    • Implement agile methodologies to manage project tasks and progress.
    • Use tools like Kanban boards to track issues and iterations.
  • Program Code:
    • Reference assigned Free Response Questions (FRQs) for coding standards and practices.
  • Personal Project Reference:
    • Utilize AP Classroom FRQs as a reference for personal project development.
  • Key Tools and Methods:
    • Identify and use essential tools and methods to achieve the program’s purpose.

Big Idea 1.3 Program Design and Development

  • Frontend and Backend Integration:
    • Ensure the frontend is user-friendly and visually appealing.
    • Develop a robust backend to support frontend functionalities.
  • Improving Applications:
    • Enhance applications by incorporating ideas and feedback from earlier projects (e.g., reviews of Flocker).
  • Design Documentation:
    • Use tools like draw.io, UML diagrams, and flowcharts to capture and document design.
  • Code Comments and Style:
    • Follow PEP 8 style guidelines for writing clean and maintainable code.
    • Use comments to document code implementation and logic.

Big Idea 1.4 Debugging Code and Fixing Errors

  • Backend Debugging:
    • Use Postman to trace and debug backend code.
  • Frontend Debugging:
    • Utilize browser Inspect tools to trace and debug frontend code.
  • End-to-End Tracing:
    • Ensure seamless communication and data flow between frontend and backend.
  • Testing:
    • Build and execute tests using Postman.
    • Add test data to systems to validate functionality and performance.

Big Idea 2 Data

Students learn topics on managing and storing data using a database.

  • Database Management with SQLite:
    • Set up and manage SQLite databases to store user data, posts, and images.
    • Design database schemas to efficiently handle social media data.
  • Image Upload and Storage:
    • Implement functionality to upload and store images in the database or file system.
    • Ensure images are properly linked to user posts and profiles.
  • Data Security and Privacy:
    • Implement security measures to protect user data and images.
    • Ensure compliance with privacy regulations and best practices.
  • Data Retrieval and Display:
    • Develop efficient queries to retrieve and display data on the frontend.
    • Optimize database performance for fast data access.
  • Data Backup and Recovery:
    • Implement backup strategies to prevent data loss.
    • Develop recovery procedures to restore data in case of failure.

Big Idea 4 Internet

Understanding a Web Server highlights topics of the Internet.

  • Deployment Strategies:
    • Deploy the application on platforms like Heroku, AWS
    • Use continuous integration and continuous deployment (CI/CD) pipelines to automate deployment.
  • Domain Name System (DNS):
    • Understand how DNS works and configure domain names for the deployed application.
  • HTTP and RESTful APIs:
    • Use HTTP methods (GET, POST, PUT, DELETE) to interact with the backend.
    • Design and implement RESTful APIs for communication between frontend and backend.
  • Security and Authentication:
    • Implement authentication mechanisms (e.g., JWT) to secure the application.
    • Use HTTPS to encrypt data transmitted between the client and server.
  • Performance Optimization:
    • Optimize frontend performance by minimizing assets and using caching.
    • Optimize backend performance by using efficient algorithms and database indexing.
  • Monitoring and Logging:
    • Implement monitoring tools to track application performance and errors.
    • Use logging to record application events and debug issues.