Effective collaboration produces innovation that reflects diversity of talents and perspectives of those who designed something.

Computing innovation includes a program as an integral part of its function.

4 skills: Communication, consensus building, conflict resolution, negotiation

Collaboration including diverse perspectives helps avoid bias in the development of computing innovations.

Pair programming

driver writes the program observer/pointer/navigator reviews each line of program as it’s typed don’t backseat program (point out small typos, etc.) switch back and forth

Think-Pair-Share

think about problem alone then pair with partner, lastly share with class

Communicate to both partners and yourself Leave comments for yourself to be able to pick up quickly Acknowledge (reference) stolen code Differentiate what you and partners did Repl.it or Github are good places for programming collaboration (shared documents/spaces) Ask others to test programs and give feedback

Program Function and Purpose

The purpose of computing innovations is to solve problems or to pursue interests through creative expression Understanding the purpose allows developers to better develop that computing innovation Categories: applications, physical devices, systems, etc. Ex. social media purpose = people can connect, see what each other are doing…

Different inputs & outputs to a program Program inputs are data sent to a computer for processing by a program Events are associated with an action and supplies input data to a program (key press, mouse click, starting a program) Event driven programming: program statements are executed when triggered rather than through a sequential flow Inputs can be from a user or other programs Program output is usually based on the program’s input (prior state)

A program = collection of program statements that performs a specific task when run by a computer. Program ~= software Code segment = collection of program statements part of a program Programs need to work for a variety of inputs and situations Behavior of a program = how it functions during execution and often described by how a user interacts with it Description of a program ~= what it does & how the program statements accomplish the function (WHAT and HOW)

Developing a program using a development process (TESTING!!) Test every step of the way, refine and revise as necessary using testing, feedback, and reflection Design a program and its UI Decide on the program requirements. Decide how program should behave and its user interactions

i = 3
while i != 0:
    i -= 1
    print("Hello World")
    print("bruh")
Hello World
bruh
Hello World
bruh
Hello World
bruh