Hacks

Notes

Video 1

  • A program starts with an idea
  • Programs are developed with a specific purpose in mind
  • Developers follow specific steps and follow a plan
  • Exploration is a crucial part of development
  • Developing a program
    • investigate a problem/purpose and reflect
      • Determine the requirements of the program
      • Understand constraints (features, time, etc…)
      • Understand user concerns and interests
      • Ways of investigating include:
        • surveys
        • user testing
        • interviews
        • direct observations
    • Design the program
      • brainstorm (think about how the investigation went)
      • storyboard the program
      • plan the user experience
      • lay out the UI
      • organizing into modules
      • develop a testing strategy
    • Decide on program requirements
      • Describe how the program should behave
      • Include a list of user interactions
    • Program specifications will outline all requirements
    • Developers create a prototype of the program or program components
      • An incremental process is used so developers can refine small parts (modules) of the program
    • LOTS OF TESTING
      • occurs at the:
        • micro level (individual components)
        • macro level (entire program)
    • Developers refine and and revise through testing, feedback, and reflection

Video 2

  • Acknowledge code segments used from other sources
    • Should include origin and author name
  • Programs are usually developed in teams
  • individuals/teams work on different functional components
  • Each member of the project deserves to receive credit for their work
    • Their names must be written in the documentation of the program indicating their contributions
  • You can use comments in the programming to give credit
  • If there’s a bug or error in the program, then comments can help identify who is responsible
    • This may be useful after a program is completed and users can find any additional bugs
  • Many times, developers use code segments, procedures, algorithms, and more that are written by others
    • similar to quoting someone in a paper
  • Any code segments, procedures, algorithms, etc… are considered the intellectual property of the author
  • May resemble a works cited page

Video 3

  • Program documentation
    • A written description of the function of a code segment, event, procedure, or program, and how it was developed
    • Comments can be made in a programming language as a form of documentation (will not affect how program runs)
      • Not all programming environments support comments, so other methods of documentation may be required k
    • Programmers should document a program throughout its development
    • Helps in developing and maintaining correct programs
  • Step 1: create a program documentation
    • describe overall program
    • list program specs
      • function/procedures/methods within the code
      • Specific code segments
      • list events and corresponding outputs
      • describe development of the program
      • how other programs may interact with the program
    • list contributors/authors of the program
  • In the beginning:
    • List specifications
  • During Development:
    • Keep track of progress
  • At the end:
    • Explain the overall process
  • Documenting throughout the programming can improve:
    • efficiency
    • ability to test and refine the program
    • programmers’ response to bugs (tracking down errors)
  • Comments:
    • allow programmers to write text within the program
    • Don’t affect the program
    • are for programmers to read, not the computer
    • are useful when programmers collaborate or work individually
    • In Python:
      • (#) syntax
    • Java:
      • (//) syntax for single line comments
      • (/* , */) Multiple line comments
      • (/** , */) Documentation comments
      • Similar to Javascript, C, C++, Swift
    • XML/HTML
      • () syntax for single or multi line comments
    • Applescript/Pascal
      • ((* , *)) syntax
    • Block based languages
      • Scratch
      • MIT AppInventor

Proof of MCQ

Other Hacks

  • Home Screen
    • 3 buttons
      • 2 primary
        • “Create set”
        • “My Sets”
      • 1 secondary
        • “Settings” in the top left
    • Big text at the center top of the screen displaying the name of the site
  • Set Screen
    • Back arrow in the top left
    • Displays site title in the top left (to the right of the back arrow)
    • Displays Created Subjects in the middle
      • Each Subject leads to an individual subject page
    • Gives an option to create a subject at the bottom
    • Gives an option to create cards on the top right
  • Subject Screen
    • Same layout as Set Screen except instead of subjects, it displays Areas
      • Each Area leads to an individual Area page
    • Gives an option to create general notes
  • Area Screen
    • Same layout as Set Screen except instead of subjects, it displays Topics
      • Each Topic leads to an individual Topic page
    • Gives an option to create general notes
  • Topic Screen
    • Same layout as Set Screen except instead of subjects, it displays Sub-Topics
      • Each Sub-Topic leads to an individual Sub-Topic page
    • Gives an option to create general notes
  • Sub-Topic Screen
    • Back arrow in the top left
    • Displays site title in the top left (to the right of the back arrow)
    • Displays Created notes in the middle
    • Gives an option to create more notes like a text editor
    • Gives an option to create cards on the top right