Unit 2: Day 1
START DATE:DUE DATE:STATUS:Open
Tasks
16.1 Intro to the AP CSP Big Ideas Targeted in the Theory Unit
- Big Idea 2 - Data
- Big Idea 4 - Computer Systems and Networks
- Big Idea 5 - Impact of Computing- how CS impacts every aspect of life
- See the Big Idea at a glance pages in the CED for a quick synopsis of each
16.2 Emerging Technology and the Impact of Computer Science
- Watch Computer Science is Changing Everything [5:23]
- Throughout this unit, we will be exploring emerging technologies
16.3 Emerging Tech Profile: Autonomous Vehicles
What The World Will Look Like with Driverless Cars
- What is this? Show and discuss this quick animation
Embedded Processors and Driverless Cars
- Talk about the evolution of smart devices
- With the History of Tech project in mind, do a profile of today’s car
- There are 25-50 processors in average car (2016)
- Discuss V2V communication protocols.
- Why is it hard to get many companies from across the world working together?
- Read The Car of the Future Is the Most Powerful Computer You Will Ever Own (2015)
Driverless Cars Facts
- Watch Top 5 Facts about Self Driving Cars [6:21]
16.4 Introduction to Data and Binary Numbers
- How does all this tech actually work? Computers use Abstraction to represent real life concepts
- Abstraction is the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea.
- The computer itself uses electronic signals and switches and we use the Binary number system to represent both
- Bits (binary digits) are the LOWEST LEVEL of abstraction, Variables in programs are another level of abstraction
- Bits are grouped to represent abstractions. These abstractions include, but are not limited to, numbers, characters, and color.
- The same sequence of bits may represent different types of data in different contexts.
- Show a video about how binary works. Here are two options:
- Longer and more technical: Crash Course Computer Science #4: Representing Numbers and Letters with Binary [10:45]
- More basic: Code.org How Computers Work: Binary & Data [5:58]
- Check out Code.org’s binary odometer: https://studio.code.org/s/odometer/stage/1/puzzle/1
16.5 Converting Binary to Decimal and Vice Versa
- I recommend using paper and pencil for binary conversion practice:
- I ask them to flash back to grade 3 when they first learn about decimal places:
- The number 904 means 9x100 plus 0x10 plus 4x1
- But why 1, 10, 100? Where do those decimal places come from? It is because we have 10 different digits and the places are powers of 10 (including 10^0)
- Binary works the same way. We have 2 different digits and therefore the places are therefore powers of 2:
- Such as 32 16 8 4 2 1
- A binary number 1 0 1 0 1 1 is therefore 1x32 + 0x16 plus 1x8 plus 0x4 plus 1x2 plus 1x1
- Easy peasy!
- Going from decimal to binary is just a bit harder as we need to figure out how many places we need.
- To convert the number 25 we say we need 0 32s but we need 1 16s. This leaves 9 left over (25-16=8).
- We need 1 8s, leaving 1 left over. We therefore need zero 4s, zero 2s and 1 1s.
- The result is therefore: 11001 OR 011001 if we are including leading zeros.
- Do several examples with them up to 8 bits
- Have them practice converting 5 bit numbers to and from decimal. (5 bits is sufficient enough to get the point across)
- Discuss comparing and ordering binary. 1011 is greater than 0111 because of the 4th (left most bit)
- Binary Ordering (have students work in small groups):
- Students create two 4-bit numbers each
- Work together to put all the numbers in the group in order
- Teacher gives them a new binary number to insert in the ordering
- Teacher given them a new decimal number to insert in the ordering (need to convert first)
- Discussion question: do we need to convert to decimal first to order them?
16.6 Limits on Representing Values
- Some programming languages limit integers and characters to a fixed number of bits.
- The maximum number of bits determines the number of values that can be stored.
- 8-bit values - up to 256 values (0 up to an including 255)
- 32-bit values - up to 4 billion values (0 up to including 232-1)
- For numbers this means there is maximum value that a computer or language can support
- Programmers need to understand if an computer cannot store a value
- If a number is attempted to be stored that is too large (positive or negative), it results in a problem called overflow or underflow
- These bugs can cost people’s lives: https://en.wikipedia.org/wiki/Therac-25
- And crash rockets: https://www.bbc.com/future/article/20150505-the-numbers-that-lead-to-disaster
- Some programming languages do not have limits on the largest values other than the amount of RAM/memory in the computer
- Activity/Discussion: What is the largest integer value Javascript can store? What would be the implications of that value. What are values that would be larger than that limit?
16.7 Transistors
- Watch How Transistors Work [4:53]
- Transistors are the switches that control the electricity.
- Binary numbers can be used to represent if a switch is on or off (or rather, if it lets electricity reach the other side or not)
- It is going to talk about the way the chemicals work so let them know they are not responsible for understanding everything.
Note: I have removed a section of activities and lessons on Transistors and Logic Gates because it is not part of the AP CSP course. If you need these activities to fulfill your local curriculum, please contact us.
Continue to Unit 2: Day 2 »