AP COMPUTER SCIENCE PRINCAPLES

Unit 1: Digital Information

UI DI questions

  1. How do computing devices represent information?

  2. How does the concept of abstraction apply to computer science?  Specifically, when representing complex information.

  3. Be able to convert binary numbers (think Flippy Do) to decimal and decimal to binary.

    • base of 2’s

  4. Compare multiple binary numbers

  5. Understand the difference between highest value that can be represented and the total number that can be represented.

  6. Understand overflow

    • overflow happens when the calculation answer is too big for the current code/bits
      to handle, causing it to wrap around to the minimum value instead of producing a correct result. This can lead to unexpected behavior in programs, especially in cases where precise calculations are crucial, such as in financial applications.

  7. Lossless vs Lossy Compression

    • Lossless

      • removes unnecessary metadata to make the file smaller 

      • does not lose important/original data

    • Lossy 

      • removes some data in a file to make it smaller 

      • losses some data



  • Intellectual Property

    • Copyright

    • Creative Commons

      • works within copyright 

      • allows people to use their creations in certain ways 

U1 DI NOTES


Unit 2: The Internet

unit 2 notes

  • Understanding how the Internet works and its impact on society.

  • Key concepts include protocols, IP addresses, and the role of servers and clients.

  • Exploration of the benefits and challenges of sharing information online. Additionally, we will analyze the ethical considerations surrounding data privacy and security, as well as the importance of digital citizenship in navigating the online landscape.

  • Examination of the various types of networks, including local area networks (LANs) and wide area networks (WANs), and their functionalities.

  • With representation, we do not know how it works, however we do know that with binary it is always true. We can represent anything with binary 

  • What is the internet?

    • The internet is a platform, a global common ground where people can share ideas and interact with other users. 

  • Questions (?) 

  • With the activity on the communication in code.org answer these questions

    • How does it work? 

      • It is a communication “app” that takes words and converts them to binary and the corresponding decimal number. However, with this, you can only talk to one person at a time and it takes a long time just to send a message. 

    • What can I do with that? 

      • Answer here 

  1. Lesson 2: Building a network

  • In Lesson 1, we used the internet simulator. What are potential problems with the set up? 

    • You would only be able to talk to one person at a time, rather than a group chat or having multiple conversations going at once. 

  • Using string we built a network where everyone was directly connected to one another, then got a new challenge until we completed it correctly 

  • With these words create a definition and a visual representation 

    • Computing Device 

    • Computing System 

    • Computing Network

    • Bandwidth

    • Path

  • How would you use these words to describe the networking activity? 

  1. Lesson 3: The need for addressing 

  • Imagine if you were in a room with 5 other people that had the same name. What might happen when you start communicating? 

    • All of the conversations would get very confusing because everyone does not know which person you would be talking to. 

    • (In Class Answer:) 

  • With these words definition and visual representation 

    • Protocol

      • sets of rules and standards that “govern” how devices communicate and exchange information over a network 

    • Internet protocol 

      • manages everything from data transfer to secure connections 

    • IP address 

      • It is like an irl address and is 32 bits long. It takes the numbers and changes them into bits. Every device has its own IP address

  • Planning your week activity guide 

  1. Lesson 4: Routing & Redundancy

  • At the end of class yesterday, we saw that the Internet uses the Internet Protocol and IP Addresses to communicate across the shared Internet. 

    • How is this system similar to how we send letters in the mail? 

    • How is it different?

  • Short quiz on compression tmr 

    • Understand the definitions of 

      • lossy - smallest compression size/ best possible fastest compression speed. Cannot get the original back

      • Lossless - transmission speeds slower, can recover the entire image file, barely compresses 

  • Redundancy (Vocab)

    • Routes messages, main piece of internet

    • Why does the internet work? 

      • The internet works bc it is redundant 

    • the inclusion of extra components so that a system can continue to work even if individual components fail, for example by  having more than one path between any two connected devices in a network.

  • Router

    • Computer, computing device

  • Fault tolerant 

    •  Can continue to function even in the event of individual component failures. This is important because elements of complex systems like a computer network fail at unexpected times, often in groups (power outage).

    • Fault tolerant bc it is redundant 

  1. Lesson 5: Packets 

  • B2b chapter 10 goes along w this

unit 2 questions

unit 2 questions

Unit 3: Intro to app design

unit 3 review

what is the purpose of design specification

describing the requirements for the program will work or users will interact w it

  • Describe the difference between Sequential and Event-Driven programming.
    event: only gonna happen with an input 

sequential: happens in order 

  • Why should you include comments in your code?
    when you go back to it or debug it it would help to correct and thought process

  • Recognize how to code a string and/or a value into a console.log
    string has to have quotes 

value does not have quotes 

  • Be able to read code and distinguish the output

    • Code that combines both sequential AND event-driven programming

  • Read and interpret a setProperty command
    3 parameters element id, what property you want to change, give the value

Types of data

Number

Name (string)

Lights are on

Number vs string

Digit or number 

Follow each line chat 

My turn yay

Variables are a placeholder for value that a program needs to use 

  • Numbers 

  • They can be used in mathematical and textual expressions 

  • It is important to name them well 

  • They are data abstractions because we do not need to know the details of how and where they are stored in the memory

Strings are text fields with a series of characters surrounded by quotation marks 

  • Ex. “You Win!” 

  • Ant character or number or symbol can be apart of a string

  • When #s are apart of a string they will be considered as text

    • You cannot use them for calculations for this reason 

Boolean Values are one of the foundations of computer code

  • Understanding this is important to write good code

  • They are only true OR false 

  • =, <=, >=, >, <

Data types 

Abstraction - yee 

List- data type that holds a collection of values

  •  “List of Integers”