Unit 1.3 - Program Design
Video 1:
–> Starting the development of a program:
- it starts w/ an idea
- you need to have a specific purpose in mind when creating the program – what do you want the program to accomplish?
(sometimes development changes based on what happens during the process (whether good or bad)
–> Developers then start investigating the problem/purpose:
- set requirements for what the program must do
- find and understand constraints (lack of tools, time…)
- understand interests of user
ways of investigating include surveys, user testing, observations, interviews
–> After investigation: developers begin brainstroming:
- draw a storyboard
- planning user experience
- lay out user interface (how will the user interact w/ the program)
- organizing/dividing work
- find a way to test the program
–> Program requirements – how should the program behave?:
- list of users interactions so that they know what they can actually do w/ the program
- create prototype of program – an incremental process is usually used to test/refine small parts to make sure they work before putting everything together
–> Testing:
- testing must happen at every step of the way
- Testing must happen at the - micro level: make sure each part works as its supposed to - macro: do all the individual parts interact correctly?
- refine and revise
Video 2:
- Program development is rarely done alone; instead there are usually teams of ppl (some teams include a few ppl while others could include hundreds)
- usually there are multiple people/teams that work on individual components
- everyone must get credit for their work – their names have to written in the documentation of the program
- make sure to credit partners
-
for some languages you also use comments within the program to give credit – w/ comments, development teams can find out who can/should fix a problem that shows up
- many times developers use code segments, algorithms, and procedures done by others – if someone already invented it you don’t have to develop the same thing again
- however, even if they are not part of your team you must credit them: include authors name and source of any code used
- sort of like a works cited
Video 3:
programers use somethign called program documentation to:
- describe overall program
- list specific functions of program
- describe specific functions or code segments of program
- list events and outputs
- how others can interact with program
- list contributers and other developers of program
documentation happens:
- at the beginning: list specifications
- while programming to keep track of progress and issues
- after to explain the overall process
good documentation can improve:
- efficiency
- ability to fix issues/refine the program
- response to bugs
how to programmers document while programing:
- most languages allow comments
- comments are txt written within the program that are not executed and don’t affect the program
- they are only for developers; computers skip over comments and they are not shown on actual product
- comments can be useful when working w/ others, or even for yourself
examples of comments:
- python: # comments are written after the pound sign
- java: // comments can be written on a single line using double / for multiple lines they must be done w /* on both sides of comment
- javascript, c++ have comments similar to java
- HTML uses comments like this: <exclamation mark–comment–>