AP Computer Science Principles


Purpose The intended goal or objective of the innovation
Function How the innovation works (consumes/produces data)
Effect

An impact, result, outcome of the innovation

- Explain and put into context
- Relate to economy, society, or culture
- Connect to a group or individual

Feature An "extra" attribute or aspect of an innovation
Culture A group of people: example - football players, students with asthma
Economy A group of people with similar economic interests, or whose jobs or industry are similar (Netflix put Blockbuster out of business)
Society Be specific - whose society? which society?
Data Think of what types of files are being used, saved, sent - what is the input and output? Not the sensors or transmission method (cameras, cables, chip readers, etc)
Storage How big are the files? how will everything be stored? What problems are there?
Security What might happen if data is accessed? Hacking can be mentioned here.
Privacy What can someone do with the data if they are able to get it?

 

 

 

week 15: Dec 10 - Dec 14

  • College Board: AP CSP Student Task Directions
  • Explore Task: Rubric
  • Continue: Practice Explore
    - see assignment details in section for last week
  • Discuss: CS50 trip
    - Live Stream & Memes for Mums
  • Complete: Chapter 1, Unit 2 Assessment Review
  • Complete: Caesar Cipher
    -
    if you are not done with this yet you should consider attending office hours
    - this week these are Tue & Thu afternoon, or come by in the morning

 

 

week 14: Dec 3 - Dec 7

    Begin: Practice Explore Task
    - Google Self-Driving Car
    - everyone will do the same topic but work on your own
    - create a Google sub-folder for Explore_Practice

    - TO DO:
    - gather resources for your information and artifact (save the URL's)
    - identify purpose and function
    - identify a beneficial effect - link to society, culture or economy
    - identify a harmful effect - link to society, culture or economy
    - explain the types of data used, and input/process/output
    - identify a data storage , security, or privacy concern
    - then begin to actual writing sections
    - do the artifact last
  • College Board: AP CSP Student Task Directions
  • Explore Task: Rubric
  • Read: Web Terms 101
  • Code.org Chapter 1 Unit 2
    -
    complete assessment
  • View: David's Lecture
  • View: Caesar Cipher
  • Begin: Caesar Cipher
    - live code: caesar1.c & caesar2.c
  • Optional cipher programs
    -
    vigenère
    - crack
  • Explore Task
    - Kahoot! & begin practice explore task

 

week 13: Nov 26 - Nov 30

November Grade Check-in:
- mario (less)
- integer overflow & floating imprecision
- return.c, cube.c, name.c, triangle.c, bool.c
- string0.c, string1.c, ascii.c, capitalize.c, strlen.c
- cast0.c, cast1.c, argv0.c, argv1.c, argv2.c
- pokemon.c, mean.c, mario.c, fahrenheit.c
- code.org Unit 2 lessons 1-5, & assessment
- initials - less
- blog post: Blown to Bits
- blog post: IP

  • View: Insecurity CS50
  • Read: My call with a Fake Apple Support Specialist
  • Read: Mice Against Ticks
  • Read: Rice professor under investigation
  • View: David's Lecture - Command Line Arguments (live coding: argv0, argv1, & argv2)
  • Read: CS50 Study Notes - Arrays
    - complete pokemon & mean (look at the bottom of the notes page for directions)
  • Complete: create new versions of Mario and Fahrenheit
    - put these in your chapter 2 folder
  • Complete: Code.org Unit 1 - Chapter 2
    - Chapter 1, Unit 2:
    The Internet
    - complete up through lesson 13
  • View: The Internet - IP Addresses and DNS
  • Complete: IP Blog Post
    - use the video and the internet for research as needed
    Questions
    1. What is a protocol?
    2. What is an Internet Protocol (IP) address?
    3. How is it organized hierarchically?
    4. How many bits are in an IPv4 address?
    5. How many IPv4 addresses does that mean there are?  
    6. What is the difference between IPv6 and IPv4.  
    7. Why do we need IPv6?
    8. What is an IP packet?
    9. What is the difference between an IP address and an IP Packet?
    10. What is the purpose of the Domain Name System (DNS)?

  • Complete: Quiz 3 - practice
  • Complete: Quiz 3 - real one
  • View: The Internet: Packets, Routing & Reliability
  • Complete: Practice TCP/IP Activity (in class)

  • Discuss: Explore Task Requirements
  • Kahoot! on Explore task
  • Begin: Self-Driving Car Practice Explore Task

  • Will use these at a later time for follow-up/review:

Vocab Week 13

  • different paths: Routers respond to traffic on the Internet in real time. The best path at one moment might be backed up a few seconds later. Routers choose the current best path to get the message through
  • distributed denial-of-service (DDoS) - a type of computer attack that uses a number of hosts to overwhelm a server, causing a website to experience a complete system crash
  • domain name syntax - hierarchal definition of what a domain should look like; for example in nbc.com the ',' character marks the location of the type of address this is - to the right is .com so nbc is located on the name server that contains all the 'com' addresses
  • domain name system (DNS): maps internet domain names to the internet protocol network addresses they represent and allows websites to use names, rather than difficult-to-remember IP addresses
  • dropped messages: Poorly formed messages cannot be delivered and so are dropped, just like a letter with a bad address on it
  • ftp - file transfer protocol - the way that files can be transferred from a computer to the internet (often used in website development)
  • HTTP: hypertext transfer protocol (HTTP) is the protocol for data communication for the World Wide Web - it handles file requests for information from servers and delivers results to the client
  • Internet Protocol (IP) - the way devices communicate with each other
  • Internet Protocol (IP) addresses: a unique string of numbers separated by periods that identifies each computer/device using the Internet Protocol to communicate over a network.
    - IPV4 was a 32-bit address and allows for up to 4.3 billion addresses
    - newer IPV6 is 128-bit address and allows for up to 3.4×1038 =  (340 undecillion addresses)
  • multiple hops: A message travelling across the Internet will visit many routers as each tries to forward it along the most efficient path to its destination
  • packets - Small chunks of information that have been carefully formed from larger chunks of information.
  • router: a computer which receives messages travelling across a network and redirects them towards their intended destinations based on the addressing information included with the message.
  • routing (of packets) - way in which data is sent on a network
  • transmission control protocol (TCP) - provides reliable, ordered, and error-checked delivery of a stream of packets on the internet. TCP is tightly linked with IP and usually seen as TCP/IP in writing
  • to / from address: Like an IP address, included on every message sent over the Internet
  • URL - An easy-to-remember address for calling a web page (like www.google.com)

 

week 12: Nov 19 - 21

  • Group Discussions/Blog Post: Blown to Bits pp. 4-13
    - Koan 1: It’s All Just Bits (Abby, Carmen, Ryan)
    - Koan 2: Perfection Is Normal
    (Steve, Jack G, Forest)
    - Koan 3: There Is Want in the Midst of Plenty
    (Will, Evan, Zach)
    - Koan 6: Nothing Goes Away
    (Olivia, Alec, Matt)
    - Koan 7: Bits Move Faster Than Thought
    (Gavin, Jack S, Jack R)

    * If the library is available you might want to work in there but check first
    ** Yes, use these groups - I wrote a program to randomly assign names :)
    *** Be nice to Mr Pearsall - he is a good guy

    1. Argue if you agree that it is a “truth” and if it will always be a “truth.”
    2. How does this koan intersect with your life as a student?
    3. As a group, be prepared to summarize your koan for the rest of the class
    - (just verbally - no formal presentation needed - will do this tomorrow)

    4. As an individual, create a blog post with a short koan summary & your thoughts on questions 1 & 2
    - this part should be done today or for homework
  • Complete: Initials - Less
  • Optional: Initials - More
  • Continue/Complete: Code.org Unit 1 - Chapter 2
    - Chapter 1, Unit 2:
    The Internet

week 11: Nov 13 - Nov 16

  • Amazon Internship Application
  • Review: Code.org Unit 2- Digital Information
    - review the assessment questions
  • Continue: Code.org
    - Chapter 1 Unit 2 - The Internet
    - pair up and make a few quick notes:
    - what do you already know about the Internet and how it works
    - what would you like to know? Make a list of questions

    - view: The Internet
  • Complete bool.c practice (live code)
  • Complete triangle.c (write a program that takes 3 numbers representing the lengths of 3 sides of a triangle - create a function that determines if the values are capable of making a triangle - return true or false

  • View: David's Lecture (Arrays & Strings)
  • Live code: string0.c, ascii0.c, capitalize0.c, capitalize1.c, strlen.c
  • Begin: Initials - Less

    Vocab Week 11
    • boolean data type- a value that can have only 2 possible conditions - expressions (<, >, <=, >=, ==, !=, &&, ||, and !) - on/off, true/false, 1/0
    • boolean logic - branch of algebra where all values are represented by either true or false
    • heuristic: a specific type of algorithm, usually used when exact solutions are difficult, impossible or would b be an inefficient use of time. Heuristics are designed to provide reasonably good results without guaranteeing a perfect solution.
    • IETF  (Internet Engineering Task Force) -  A large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet. Mission: To make the Internet work betterfrom an engineering point of view
    • internet - a connection of devices connected to each other via hardware, including routers, servers, and other devices, each of which is given an IP Address and must follow protocols
    • Internet (The Internet) - the worldwide connection of devices to each other (internet on a global scale); The Internet refers to the physical network of computers and the way in which they are all connected. The World Wide Web is how most people access the information stored on the Internet.
    • iteration (in an algorithm) -  is the repetition of part of an algorithm until a condition is met or for a specified number of times - a looping mechanism
    • net neutrality - the principle that all Internet traffic should be treated equally by Internet Service Providers
    • null: The “value” a variable has when it doesn’t actually have a value.
    • RFC (Request for Comments) - formal document from the Internet Engineering Task Force (IETF) that is drafted and reviewed - Some RFC's are just informational, while others end up being Internet Standards
    • selection (in an algorithm) - uses a Boolean condition (a TRUE/FALSE condition) to determine which of two parts of an algorithm is used
    • sequencing (in an algorithm) -  is the application of each step of an algorithm in the order in which the statements are given - code flows line by line

week 10: Nov 5 - 9

  • Fill Out: Shirt Order Form
  • Take a minute
  • Complete: Quiz 2
  • Complete: Code.org Unit 2 Assessment
  • Play: FlippyBit
  • Play: Hex Invaders
  • View: David's Lecture - Compilers
  • View: Moore's Law is ending... what's next?
  • Reference: Functions
  • View: David's Lecture - Functions
    - create a new folder for unit2 in your IDE
    - we will live code return.c
    - complete cube.c practice
              - write a program that takes in a number, uses a function to cube it, then returns the result so it can be printed

    - complete name.c practice
              - write a program that asks for a user name and then uses a function to print it
              * note the use of void when you create a function that does not "return" anything

Vocab Week 10

  • compile - to convert a program from souce code (human readable) to object (machine) code the computer can execute
  • function: A segment of code that performs a specific task, sometimes taking some input and sometimes returning some output.
  • lossless compression - data (number of bits) is compressed in a way that the preserves all data and allows full recovery - gif, wav and png files use this method
  • lossy compression - some data (bits) gets thrown away meaning you cannot recreate the original file later - this is used in jpg and mp3 files
  • metadata: Data that describes other data. For example, a digital image may include metadata that describe the size of the image, number of colors, and resolution, among other things
  • Moore's Law: the observation that the number of transistors in an integrated circuit doubles approximately every two years
  • object code (or machine code) - the result of compiling and assembling source code - this is the binary representation of a program that the computer can run
  • pixel - A pixel is one small part (element) of a picture. Pixels are stored in a grid and have both a x (horizontal) and y (vertical) value. A pixel has a color which can be defined by an amount of red, green, and blue with values from 0 to 255.
  • source code - a program written in a language that a human can understand - it it the original code of a program before it is compiled and assembled into Object or Machine Code

 

week 9: Oct 29 - Nov 2

  • Demo: integer overflow & floating point imprecision examples
    - we will do this together in class as a live coding practice (Monday)
  • Begin: Mario - Less
  • Begin: Mario - More
  • Complete: Quiz_1 (Wed or Fri)
  • Begin: Code.org Unit 2 (we will eventually do lessons 1,2,3,4,5 & 6)
    -
    digital information
    - txt vs doc, activity guide: bytes & file sizes (probably on Thursday)
    - demo size difference in txt-doc-pdf file
  • Play: Ask Jud
  • SHS Sample Explore:
    - artifact
    - written response

A gentle reminder: An October grade will be going in soon and it is based in part on the following:
- blog posts for Marconi, The Internet is for everyone..., and the Tech 2018 Innovations article
- Delta Math assignments Jon_Snow & Ygritte
- programs: cash, isbn 1 & 2, madlib (which should be in your labs folder)

week 8: Oct 22 - Oct 26

  • Explore: MIT Moral Machine & Deep Angel AI
  • Play: Kahoot! (Binary & Explore PT purpose/function/effect)
    - we will do these in class
  • Read: 10 Breakthrough Technologies 2018
    - blog post: Did you already know about any of these innovations? Which ones did you find most interesting in terms of impact on society, culture, or economy? Which did you find the most interesting on a personal level?
  • Complete: Data Types quiz
  • View: ASCII Clip & Lego Clip
  • Take: Bandwidth_Latency Quiz
  • Review: shirt selections
  • Field Trip: Fri Dec 7
  • Explore Task: discuss examples
    - A artifact
    - A written
    - F artifact
    - F written
    - H artifact
    - H written response
    - J artifact
    - J written
    - Commentary
  • View: Data and Medicine
    - compare this to the written response for J
  • Progress Check-in: individual
  • Complete: looping with a counter practice
    - will do together in class - live coding
    - this may help you with one approach to solving ISBN
  • Complete: ISBN
    helpful info:
    - the number could be too big for an int so use long long
    - this time you know the number is 10 digits so some type of loop will be useful
  • Optional: Credit
    - but you should at least read this to see how a check sum is used in the real world

 

week 7: Oct 15 - Oct 19

  • Read: Hidden Dangers of Free VPNs
  • Review: Explore Task requirements
    - Explore Task Student Directions
    - google slide notes https://tinyurl.com/yabsl975
    - Explore Task Rubric

  • Begin: ISBN
    helpful info:
    - the number could be too big for an int so use long long
    - this time you know the number is 10 digits so some type of loop will be useful


  • Complete: Lab 2
    - create a MadLibs game
    - you come up with the story and set up the variables
    - gather variables input from the user, and then print out the results
    - include at least a few different categories - noun, verb, place, part of the body, emotion, etc....
    - test this out in class
    - put this into the labs folder...
  • Complete: The Internet is for Everyone - Part I & Part II
    -
    With a partner - skim the document and look at the 9 "Internet is for everyone - but it won't be if..." and discuss the challenges laid out at the end
    - Blog Post:
    - everyone
    will pick one or two of the challenges that are the most meaningful to you, or relate to some experience you've had - explain what you picked and why
  • Reference Sheet: Hex - Binary - Decimal Number Systems
  • Begin: Hex Numbers
    - info sheet
    - practice sheet
  • Complete: Number_Conversion_Practice_1
  • Read: How Latency Can Make Even Fast Internet Connections Feel Slow
  • Review: Code. org Unit 1 Chapter 1 assessment
  • Join: Delta Math
    - deltamath.com and my code is: 316750
    - complete: jon_snow
  • Complete: Delta Math - Ygritte
  • Complete: cash
    - helpful tips: you will need to use both modulo and division to solve this problem
    float cash_in = get_float("Enter an amount of cash: "); *to get a decimal input
    float cash_converted = (cash_in * 100.00); *to convert the decimal to single amount
    int cents = round(cash_converted); *to round up and create an integer - this is called 'casting' when you change from one data type to another
    * it is a good idea to print out the words quarters, dimes, nickels and pennies when you print the
    numbers as you are testing (even though they tell you not to in the specs)

 

week 6: Oct 9 - Oct 12

Vocab Week 6

  • bandwidth - Transmission capacity measure by bit rate - how much data can be transmitted at once (in best case scenario)
  • bit rate - (sometimes written bitrate) the number of bits that are conveyed or processed per unit of time. e.g. 8 bits/sec.
  • boolean data type- a value that can have only 2 possible conditions - expressions (<, >, <=, >=, ==, !=, &&, ||, and !).
  • bps - bits per second - the use of a lowercase b indicates bits - used to measure how many bits are transmitted
  • data type - All values in a programming language have a "type" - such as a Number, Boolean, or String - that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"
  • IDE - integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor and a terminal window
  • latency - Time it takes for a bit to travel from its sender to its receiver - a high latency number is known as lag - latency is measured in time (milliseconds)
  • logical operators: Establishing the truth or falsehood of relationships among variables in our programs.
  • loops -lLoops allow for the repetition of code until a condition is met.
    • for loop _ to start the variables are initialized and the condition is evaluated
      If the condition is true, the code in the loop's body runs, variables are updated, and the condition is reevaluated.
      If the condition is false, the loop terminates
    • while loop - to start the condition is evaluated
      If the condition is true, the code in the loop's body runs, and the condition is reevaluated
      If the condition is false, the loop terminates
    • do-while or while true loop - to start the code in the loop's body runs once - then condition is evaluated
      If the condition is true, the code in the loop's body runs again, and the condition is reevaluated.
      If the condition is false, the loop terminates or is broken out of

  • View: The Internet - Wires, Cable & Wifi
  • View: Submarine Cable Video
  • View: Submarine Cable Map
  • Complete: Code.org Unit 1 Assessment
  • Complete: Computing Operators Matching Game
  • Complete: flowchart for evens (do together in class)
  • Complete: evens
    num = (num / 10) *is changing the value of num and storing the new one back in the num variable
    you could also make this two steps (which sometimes helps for clarity)
    temp_num = (num / 10);
    num = temp_num;
  • Begin: cash
    - helpful tips: you will need to use both modulo and division to solve this problem
    float cash_in = get_float("Enter an amount of cash: "); *to get a decimal input
    float cash_converted = (cash_in * 100.00); *to convert the decimal to single amount
    int cents = round(cash_converted); *to round up and create an integer - this is called 'casting' when you change from one data type to another
    * it is a good idea to print out the words quarters, dimes, nickels and pennies when you print the
    numbers as you are testing (even though they tell you not to in the specs)
  • Read: How Big Is A Petabyte, Exabyte, Zettabyte, Or A Yottabyte?
  • Continue Discussion: Binary Numbers
    - Google Play App: Convert to Binary

    - Play: Binary Game
    - worksheet
  • Complete: Code.org Unit 1 Assessment

  • Discuss: Operators in C
    (x++, x--, x*5, usefulness of mod to generate a random number within a certain range)
  • Discuss: Boolean Expressions and Conditionals
  • View: Vipul's Boolean video
  • Complete: skittles.c
    - you will need an additional header files of stdlib.h and time.h, the srand() and rand() functions, use of modulo, and boolean decision making to complete this task - we will do continue some of the prep coding for this and then finish in class
skittles.c
Write a guessing game program that does the following:
- generates a pseudo random number between 0 and 1023
- asks the user for a guess
- repeats the process until the user guesses the right amount of skittles
- if the user does not enter a valid number then the prompt simply re-appears
- message are printed when the guess it too high, too low, or correct
- when correct the program prints a message and then exits

Style is correct (comments, indentation, naming conventions)

week 5: oct 1 - oct 5

  • Demo Loops Practice: (in class coding)
    while_true
    do_while
    for_loop

  • Complete: skittles.c
    - you will need an additional header files of stdlib.h and time.h, the srand() and rand() functions, use of modulo, and boolean decision making to complete this task - we will do some prep live coding in class to start this out but feel free to start it if you are caught up

    skittles.c
    Write a guessing game program that does the following:
    - generates a pseudo random number between 0 and 1023
    - asks the user for a guess
    - repeats the process until the user guesses the right amount of skittles
    - if the user does not enter a valid number then the prompt simple re-appears
    - message are printed when the guess it too high, too low, or correct
    - when correct the program prints a message and then exits

    Style is correct (comments, indentation, naming conventions)
  • Complete: Binary_Decimal Practice (in class)
  • Read/Practice: Binary Number System
    - complete the questions at the bottom of the screen...
    - don't worry about the decimal sections (q4, q10) - those are beyond the scope for this class
  • Binary Game
  • Bingo Binary
  • Google Play App: Convert to Binary
  • Discuss: Integer Overflow & Imprecision
    - apple go_to fail, modern marvels, odometer rollover
  • Field Trip & Blog Post with feedback on the trip
  • CS50 Chapter 1: Reference Sheet
  • Resource: ASCII simplified chart
  • Complete: Lab 1
    - create a new folder called labs and put this first program in there
    - it will apply to all units so put it on the same directory level as pset1
Lab 1
Write a program that does the following:
Gets an integer from 1 to 100 from the user
If the input is out of range prints an error message and exits the program
Prints out the original number
Prints out a message telling us if the original number was odd or even
Style is correct (comments, indentation, naming conventions)

 

week 4: Sep 24 - Sep 28

  • College Board Portfolio setup:
    - log in to your College Board account
    - Join Code 41ESVP
  • Present: Group Rapid Research topics
  • Complete: Secret Code activity
  • View: Imitation Game
  • View: Alan Turing: Great Minds
  • View: Just do it
  • Test: How secure is my password?
    - DO NOT put your real password in here - make up one that is similar
  • Join: CS50.me (this is a github classroom where you can submit CS50 assignments)
  • Complete: Fahrenheit
    - you should be able to run style50, check50 and submit50 now
  • Complete: Lab Report for Fahrenheit
    - include the purpose of the assignment, problems you encountered, how you solved them, and tips for yourself going forward. Include screen shots if they will be helpful. You can include things you learned in the calculator practice programs.
  • Review: Explore Task Rubric
  • CS50 Chapter 1: Reference Sheet
  • Discuss: Operators in C
    (x++, x--, x*5, usefulness of mod to generate a random number within a certain range)
  • Discuss: Boolean Expressions and Conditionals
  • Complete: escape.c, conditions.c, validate.c, character.c, switch.c, ,
    - we will do this together in class
  • Complete: Lab 1
    - create a new folder called labs and put this first program in there
    - it will apply to all units so put it on the same directory level as pset1
    Lab 1
    Write a program that does the following:
    Gets an integer from 1 to 100 from the user
    If the input is out of range prints an error message and exits the program
    Prints out the original number
    Prints out the modulo
    Prints out a message telling us if the original number was odd or even
    Style is correct (comments, indentation, naming conventions)

    Reference Sheets:
    CS50 Chapter 1: Boolean Expressions
    CS50 Chapter 1: Operators

 

week 3: Sep 17 - Sep 21

  • Read: Titanic, Final Messages
  • Complete: int.c (getting integer as input, printing output)
    - -we will do this together in class
  • Complete practice (getting integer, string input and printing both in one line)
    -
    we will do this together in class
  • Complete: int_math.c (integer math calculator)
    -
    we will do this in class
  • Complete: float-math.c (decimal math calculator)
    - use %f as a placeholder, use %.2f to print to 2 decimal places, modulo is only for integers
  • Group Topics: create a short presentation
    - we will assign groups and topics in class
  • View: Variables
Vocab Week 3
  • binary - A way of representing information using only two options.
  • bit - A contraction of "Binary Digit"; the single unit of information in a computer, typically represented as a 0 or 1
  • byte - a collection of 8 bits - data storage is measured in Bytes - generally an uppercase B indicates Bytes
    • KB (kilo) = approximately 1,000 bytes (thousands)
    • MB (mega) = approximately 1,000,000 bytes (millions)
    • GB (giga) = approximately 1,000,000,000 bytes (billions)
    • TB (tera) - approximately 1,000,000,000,000 bytes (trillions)
  • data type - All values in a programming language have a "type" - such as a Number, Boolean, or String - that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"
  • debugging: the process of finding and fixing errors in your programs.
  • integer - a data type that can be positive whole numbers, negative whole numbers, or
    zero (but not decimals)
  • strings: Ordered series of characters that often represent natural human language.

week 2: Sep 10 - Sep 14

  • Review: Computer Hardware
  • View: Phone Book search
  • View: What is an Algorithm
  • View: Friendship Algorithm
  • Complete: Google Quizzes
    - Team: Computer Parts
    - Team: Computer Quiz
    - Team: Coding with Karel
    - Team:
    Gavin's Tiping Skills
  • View: What is a Computer?
  • Review: Input/Output
  • Complete: Oreo Cookie Algorithm

  • Video 0: Hello
  • Video 1: Hello/IDE
  • Complete: CS50 Problem: Hello
  • Complete: Lab Report for hello
    - blog post that includes notes: what was the purpose of the lesson, what did you learn, what problems did you encounter and how did you solve them? Be detailed.
  • Complete: string.c (from video 2) (getting a phrase as input, printing output)
    - you will need to include the cs50.h header file in order for this to work

  • CS50 Chapter 0: Computers and Computing
  • CS50 Chapter 0: Algorithms
  • CS50 Chapter 0: Hardware

    Vocab Week 2
    • Algorithms: sets of instructions for completing a task step-by-step
    • Pseudocode: short expressions in human language organized in a way that resembles
      what source code looks like
    • Conditional: a logical expression that determines if certain lines of code will run
    • Loop: repetition of code until a condition is met
    • computer: A computer is a device that accepts data or input, and processes it in some way to automatically produce a result
    • computing: using computer algorithms to solve problems
    • computer hardware: the parts of a computer that you can actually touch
      • motherboard - the main circuit board - it connects all the other parts
      • bios - basic input output system - on startup it checks all your hardware connections and locates all your devices. If everything is OK, the BIOS loads the operating system into the computer's memory and finishes the boot-up process.
      • cmos - complementary metal-oxide semiconductor - it holds important data needed for the bios to start up the computer - including the date and time - it has a backup battery to ensure the info is not ever lost
      • CPU - the "brain" responsible for interpreting and executing commands from hardware and software
      • chipset - a group of microchips designed to work as a unit in performing one or more related functions
      • memory - the name for the electronic holding place for instructions and data that a computer's microprocessor can reach quickly
        • RAM - Random Access Memory - the temporary or "working" memory that allows multitasking
        • hard disk drive - the main data storage for a computer - HDD drives have spinning platters while SDD drives use a solid state flash memory
      • video/graphic card - sends images to the screen/monitor
      • drives - hardware devices that allow data to be read/written on some type of media (examples: optical, zip/thumb)
        *note: optical is often know more commonly as a CD/DVD/BluRayDVD
      • monitor/screen - displays the signals from the graphics/video card
      • peripherals - a device that can connect to the main computer (examples: keyboard, mouse, speakers, printer)
      • ports - serves as the interface between the computer and a peripheral (examples: USB, Thunderbolt, PS/2, VGA)
    • computer software - instructions for the computer and data
      • BIOS (Basic Input/Output System) is the program a computer's microprocessor uses to get the computer system started after its turned on
      • Operating system (sometimes abbreviated as "OS") is the program that manages all the other programs in a computer
    • input - data that is sent in to a program so it can run
    • output (of an algorithm) - What the program provides as a result of running code and the type of input
    • mobile computer - any personal computing device not constrained to a desktop


 

week 1: Sep 5 - 7

  • Discuss: Class Protocols & Work Rubric
  • View: Computer Science is Changing Everything
  • View: Project Emma
    - you can also google search for more information on this project
  • Join: Scratch Classroom
    - 1st project - create a Greeting Card (we will do this in class)
  • Discussion: Innovation vs Invention
    - Identify technological innovations that you and/or your families use. (At LEAST four, how many can you name?)
    - Small groups - compare lists and choose the 5 most interesting/unique topics
    - Share results - we can use the whiteboard for this
    - in class blog post: The computing innovation that has had the most impact on my life is .... because ...." - write up a short paragraph and include both positives and negatives of your choice
  • Homework: 3 Things - Fri Sep 7
    - 2 items of personal interest
    - 1 item of technology (not phones, or laptops)
  • Homework: Blog Post - for Mon Sep 10
    - Interview an adult and ask, "What computing innovation has had the most impact on your life? In what ways has your life been affected?" Record the adult’s answer and compare and contrast the answer with your own post from today

    Vocab Week 1
    • abstraction - complexity made simple - a general idea or term used to represent much more detailed information, Abstraction is used to remove unnecessary details. For example, after you create a procedure or function and test it, you can call it without having to think about how it works. In levels of the Internet is means that you don't need to worry or understand details about each layer doing its job - you can assume it will work
    • high level programming language: A programming language with many commands and features designed to make common tasks easier to program. Any high level functionality is encapsulated as combinations of low level commands
    • innovation - an improvement to an existing idea
    • invention - a completely new product or idea
    • low level programming language: A programming language that captures only the most primitive operations available to a machine. Anything that a computer can do can be represented with combinations of low level command
    • protocol - A set of rules governing the exchange or transmission of data between device, or the correct conduct and procedures in a social situation
    • source code - a program written in a language that a human can understand - it it the original code of a program before it is compiled and assembled into Object or Machine Code
    • sprite - a computer graphic that may be moved on-screen and otherwise manipulated as a single entity
      block-based language
    • x position — a position on a screen along the horizontal axis
    • y position — a position on a screen along the vertical axis