AP Prep Multiple Choice
- 1.1 Collaboration Notes
- 1.1 Collaboration Quiz
- 1.2 Program Function and Purpose Notes
- 1.2 Program Function and Purpose Quiz
- 1.3 Program Design and Development Notes
- 1.3 Program Design and Development Quiz
1.1 Collaboration Notes
Daily Video 1
- Innovations are improved through collaboration in CSP
- A computing innovation includes a program as an integral part of its function
- Effective collaboration skills: Communication, consensus building, conflict resolution, negotiation
- Computing innovation: reflects the diversity of talents and unique perspectives of all the programers who worked to create it
- Collaboration on projects can reduce bias since there are various perspectives Video Quiz:
- How computing innovations are developed by groups of people
- Consultation and communication between peers is important
- Information contributed from all the group members can help understand the purpose of the program and create one that incorporates all the perspectives
- Online tools can help collaboration such as pair programming
- Pair programming: work together in pairs- the driver writes the code, the navigator reviews it
- Think pair share: students work through a problem alone then pair with a partner then share with class
- It is important to give credit
- It is important to know and be able to describe the purpose of a computing innovation
- The purpose could be to solve problems, pursue interests through creative expression, etc.
- Truly understanding the purpose of a program helps the developer(s) develop the program better
- Identify inputs/outputs to a program
- Program inputs are data sent to a computer for processing by a program. Some forms can be: tactile, audio, visual, text
- An event is associated with an action and supplies input data to a program
- Events can be generated when a key is pressed, a mouse clicked, etc. Can be any defined action that affects the flow of execution
- Inputs generally affect the output of a program
- In a program, the code is made in a way that after an action, the code “jumps” to the code segment according to the event
- Program’s output is based off input or prior state
- A program (software) is a collection of program statements the performs a specific task when run by a computer.
- A code segment is a collection of program statements that is a part of a program
- Software needs to work for a variety of inputs
- The behavior is how the program functions during execution and if often described by how a user can interact with it.
- Can be described broadly by what it does or in detail on how the program accomplishes its function
- A program is a collection of statements: A statement is a single command, a group of statements is a code segment, code segments are executed -> a program/software
- Use a development process to develop a program
- Design a program and its user interface
- A development process can be ordered and intentional or exploratory in nature
- Common phases when developing a program: investigating and reflecting, designing, prototyping, testing
- Requires refinement and revision based on feedback, testing, and reflection: may require revisiting phases
- Break the project into smaller pieces and make sure each piece works before adding it to the whole
- Investigate to determine requirements, constraints, concerns and interests of customer
- Investigate by: collecting data through surveys, user testing, interviews, direct observations
- Requirements describe how a program functions and may include a description of user interactions that a program should provide
- Design phase that outlines how to accomplish a program’s goal may include: brainstorming, planning/storyboarding, organizing the program into modules and functional components, creation of diagrams, develop testing strategy
- Constantly test your program
- When developing a program, it is important to cite and acknowledge code segments used from either another source or developed collaboratively
- When acknowledging someone else, include the origin of code or authors name in the program documentation
- Team of people usually work on a program by each focusing on different functional components
- Each member’s work should be credited in program documentation Sometimes credit is given with comments in the code
- Many developers use code segments, procedures, algorithms made by others who aren’t part of the project so it is important to credit them
- Describe the purpose of a code segment or program by writing documentation
- Program documentation: a written description of the function of a code segment, event, procedure, or program and how it was developed EX: comments (don’t effect how the program runs)
- Should actively document throughout development to help development as well as maintaining correct programs
- Program documentation created to: describe the program, list specifications, describe different parts of the program, list of contributors
- Document process: beginning: list specifications, during: keep track of progress, after: explain overall process
- Documentation improves: programming process efficiency, ability to test and refine program, responding to bugs
Questions I still have with problem sets
I found this question to be the most difficult for me throughout all of 1.1-1.3. After looking over the correct answer and explanation, it makes more sense however is still a little confusing to me.