Screenshots (Completion of Quiz)

Quiz 1.1 Collaboration:

Quiz 1.2 Program Function and Purpose:

Quiz 1.3 Program Design and Development:

Quiz 1.4 Identifying and Correcting Errors:

Notes from Collegeboard videos

1.1 Collaboration

Learning Objectives
CRD - 1.A Explain how innovations are improved through collaboration.
CRD - 1.A.1 A computing innovation includes a program as an integral part of its function.
CRD - 1.A.2 A computer innovation can be physica (i.e., self-driving car), non physical computing software (e.g., picture editing software), or a nonphysical computng concept (e.g., e-commerce).
CRD - 1.A.3 Effective collaboration produces a computing innovation that reflects the diversity of talents and perspectives of those who designed it.
CRD - 1.A.4 Collaboration that incudes diverse perspectives helps avoid bias in the development of computing innovations
CRD - 1.C Demonstrate effective interpersonal skills during collaboration.
CRD - 1.C.1 Effective collaborative teams practice interpersonal skills, including, but not limited to: Communication, Consesus Building, Conflict Resolution, Negotiation

Notes
Different people in different departments work on different subjects and interests.

A program always start up with an idea, purpose and plan. A program must have requirements of the that meet the necessary constraints it must meet.

Developers are able to practice better interpersonal skills in a diverse team.

Pair Programming: One programmer types the code, while the other reviews each line of code.

Think-Pair-Share: Students think through a problem alone, pair with a partner to share ideas, and then share results with the class

1.2: Program Function and Purpose

Learning Objectives
CRD - 2.A - Describe the purpose of a computing innovation.
CRD - 2.A.1 - The purpose of computing innovations is to solve problems or to pursue interests through creative expression.
CRD - 2.A.2 - An understanding of the purpose of a computing innovation provides developers with an improved abiltiy to develop that essential knowledge on.

Notes
Different innovations are contained under different categories of innovations

Program inputs are pecies of data that are sent to computers for processing and interpretation. The computer will then perform operations and manipulate teh data in order to produce a desirable. Inputs can either come from the user themselves, or from another program.

Every event in a program is associated with an action that supplies an input to the program.

Event Driven Programming: Program segments and code fragments are executed based on events that trigger specific control flow structures rather an a smooth, sequential flow.

A program is a collection of software statements that collectively serves a specific use and performs a certain task.

The program works for a variety of inputs and situations. (Think of it like a function)

1.3: Program Design and Development

Learning Objectives
CRD - 2.E - Develop a program using a development process.
CRD - 2.F - Design a program and its user interface
CRD - 2.E.1 - A development process can be ordered and intentional, or exploratory in nature.
CRD - 2.E.2 - There are multiple development processes. The following phases are commonly used when developing a program:

  • Investigating and reflecting
  • Designing
  • Prototyping
  • Testing

CRD - 2.E.3 - A development process that is iterative requires refinement and revision based on feedback, testing, or reflection throughout the process. This may require revisiting earlier phases of the process.
CRD - 2.F.1 - The design of a program incorporates investigation to determine its requirements. CRD - 2.F.2 - Investigation in a development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
CRD - 2.F.3 - Some ways investigation can be performed are as follows:

  • Collecting data through surveys
  • User testing
  • Interviews

CRD - 2.F.4 - Program requirements describe how a program functions and may include a description of user interactions that a program must provide.
CRD - 2.F.5 - A program’s specification defines the requirements for the program.
CRD - 2.F.6 - In a development process, the design phase outlines how to accomplish a given program specification.
CRD - 2.F.7 - The design phase of a program may include:

  • Brainstorming
  • Planning and storyboarding
  • Organizing the program into modules and functional components
  • Creation of diagrams that represent the layouts of the user interface
  • Development of a testing strategy for the program

1.4: Identifying and Correcting Errors

Learning Objectives CRD-2.I.1 - A logic error is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly.
CRD-2.I.2 - A syntax error is a mistake in the program where the rules of the programming language are not followed.
CRD-2.I.3 - A run-time error is a mistake in the program that occurs during the execution of a program. Programming languages define their own runtime errors.
CRD-2.I.4 - An overflow error is an error that occurs when a computer attempts to handle a number that is outside of the defined range of values. CRD-2.I.5 - The following are effective ways to find and correct errors:

  • test cases
  • hand tracing
  • visualizations
  • debuggers
  • adding extra output statement(s)
    CRD-2.J.1 - In the development process, testing uses defined inputs to ensure that an algorithm or program is producing the expected outcomes. Programmers use the results from testing to revise their algorithms or programs.
    CRD-2.J.2 - Defined inputs used to test a program should demonstrate the different expected outcomes that are at or just beyond the extremes (minimum and maximum) of input data.
    CRD-2.J.3 - Program requirements are needed to identify appropriate defined inputs for testing.