• STUDENT PROFICIENCIES

    Students will understand:

    • Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
    • Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
    • Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation and review stages of program development.
    • Describe how internal and external parts of computing devices function to form a system.
    • Model how computer hardware and software work together as a system to accomplish tasks.
    • Use flowcharts and/or pseudocode to address complex problems as algorithms.
    • Systematically test and refine programs using a range of test cases
    • Compare trade offs associated with computing technologies that affect people's everyday activities and career options.
    • Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
    • Design projects that combine hardware and software components to collect and exchange data.
    • Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
    • Discuss issues of bias and accessibility in the design of existing technologies.
    • Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
    • Document programs in order to make them easier to follow, test, and debug.
    • Create clearly named variables that represent different data types and perform operations on their values.
    • Incorporate existing code, media, and libraries into original programs, and give attribution.
    • Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.