Program Funciton and Purpose / Program Design and Development Notes
Notes about program function, purpose, design, and development (1.2-1.3)
1.2 Program Function and Purpose
- Computing Innovations:
    - Applications= games, social media, business, productivity
- Physical Devices= computers, smart phones, smart “things”, and wearables
- Systems= E-commerce, cloud services, e-mail
 
- Questions to ask:
    - Why does the computing innovation exist?
- What problem(s) does the computing innovation solve?
- What does the computing innovation allow us to do that we would not do before?
 
- Identifying Inputs to Programs:
    - Computer Programs accept input in a variety of different forms: -tactile (touch) -audio -visual -text (incuding numerical values)
 
- How do programs recieve input?
    - most programs are written in an event driven environment
        - “events” are triggered by some action, which usually sends input to the program (mouse clciks, screen taps/swipes, physical button clicks, keyboard entries, audio trigger)
 
 
- most programs are written in an event driven environment
        
- input usually affects the output
    - What are outputs produced by a device?= visual, audio, tactile, text
- what sort of output do your devices supply?= smart phone, laptop computer, gaming console
 
- an action triggers an event:
    - action may be initialized by the user or another program/device
- the program “jumps” to the code segement according to the event: the code segment is executed, output is triggered by the code segement
- the program code is not necessarily executed “in order”: code segements are executed as they are called, according to evetns triggered
- What is a program?= a collection of statements, a group of statements= code segment, executed according to the rules of the programming language (software)
 
- description:
    - simply state what it does (so someone could use the segment in larger program)
- how it does what it dows (explain in detail the code)
 
1.3 Program Design and Development
- Developers decide on the program requirements that: describe how a program should behave, include list of user interactions, specifications outline of all requirements
- How is a program developed?
    - program developmet is rarely a solo endeavor
- usually developed by teams of people
- individuals/teams wrk on different functional components
- each member of the project deserves to recieves credit for their work
- their names must be written in the documentation of the program indicating their contributions to the project
- Giving credit: use comments, assign who fixes a problem, include author’s name and the source of any code segments being used
 

Difficulties
- I need to study the different functions and get used to identifying what is occuring in code.