AP Computer Science Principles Data Abstraction and Procedural Abstraction Curriculum Module.

Slides:



Advertisements
Similar presentations
A-Level Computing#BristolMet Session Objectives#8 express numbers in binary, octal and hexadecimal explain the use of code to represent a character set.
Advertisements

Information Representation
Connecting with Computer Science, 2e
1 Lecture-2 CS-120 Fall 2000 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
March 2006Taner Erig - EMU2-1 Metamorphosis of Information How is information represented and how do computers store information?
Introduction to TouchDevelop
Revision tip: Focus on the things you find difficult first.
Chapter 16 Binary and Hexadecimal Numbers. §16.2 thru 16.3 – Addition and Subtraction of Binary Numbers Binary = Base 2 Addition and subtraction are similar.
©Brooks/Cole, 2003 Chapter 2 Data Representation.
Fundamentals of Python: First Programs Chapter 4: Number Systems.
Mathematics and ICT National Numeracy Strategy National Curriculum for Mathematics.
Mini Project II – Drawing Machine
Digital Media Dr. Jim Rowan ITEC Monday, August 27.
Chapter 2 Computer Hardware
Microsoft® Small Basic
AP: Discuss with a shoulder partner these questions. EQ Question: 1. What does the computer understand? 2. How is information converted to machine language?
1 CSC 221: Computer Programming I Fall 2011 Fun with turtle graphics  turtle module  relative motion (setup, reset, left, right, forward, backward) 
Agent P, I have been hearing some rumours about a Python Turtle.
Logo For beginners By Dali Matthews 9S What is logo?
1 Building Your Own Turtle Functions For making really cool pictures!
1 Data Representation Characters, Integers and Real Numbers Binary Number System Octal Number System Hexadecimal Number System Powered by DeSiaMore.
The Hare Raising Experience of Logo in the Classroom
TODAY’S AGENDA 9/12 UNIT 1: Thinking Like A Scientist FTF
DATA REPRESENTATION CHAPTER DATA TYPES Different types of data (Fig. 2.1) The computer industry uses the term “MULTIMEDIA” to define information.
Multiplying Decimals Lesson 1-7. To Multiply: You do not line up the factors by the decimal. Instead, place the number with more digits on top. Line up.
Module 2.  In Module 1, we have learned basic number representation which include binary, octal, hexadecimal and decimal.  In digital systems, numbers.
1 Building Your Own Turtle Functions For making really cool pictures!
There are only 10 people in the world. Those who understand binary and those you don’t.
Getting started with the turtle Find the latest version of this document at
Digital Art in Scratch part 2 Barb Ericson Georgia Tech Nov 2010.
CS 104 – Fall 2011 Exploring Computer Science Build Your Own Blocks September 19, 2011.
In the last several lessons, you have described translations using coordinates. You have also developed strategies for determining where an object started.
What do you think this lesson is all about? Write your answer on a sticky note.
Lesson 6 Binary Understand what Binary Code means and apply this knowledge Understand how data is represented using bit systems and be able to change decimal.
HOW TO REVISE Use all your brain’s skills and as many senses as possible. This will be ‘active revision’.
Using the Python Turtle
DATA REPRESENTATION - TEXT
AP CSP: Pixelation – B&W/Color Images
Binary System
Module 2: Investigation 2
Binary Representation in Text
AP CSP: Creating Functions & Top-Down Design
Storing Graphics Nat 5 Data Representation Lesson 4a: Storing Graphics
Data Representation Lesson 2 Binary KS3 COMPUTING KS3 Computing
GCSE COMPUTER SCIENCE Topic 3 - Data 3.2 Data Representation.
Computer Programming.
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
UNIT 2 – LESSON 3 Encoding B&W Images.
Lesson 1-4 AP Computer Science Principles
AP CSP: Encode an Experience
Creating Functions with Parameters
Functions and Top-Down Design
UNIT 2 – LESSON 6 ENCODE AN EXPERIENCE.
UNIT 3 – LESSON 5 Creating Functions.
EPSII 59:006 Spring 2004.
Agent P, I have been hearing some rumours about a Python Turtle.
Graph Paper Programming
Data Representation Revision
Ch2: Data Representation
Graph Paper Programming
Creating Functions with Parameters
UNIT 1: LESSON 4 NUMBER SYSTEMS.
Programming We have seen various examples of programming languages
Just Basic Lesson 18 Mr. Kalmes.
Half Term 1 Please type your name here:.
Functions and Top-Down Design
Electronic Memory.
U3L8 Creating Functions with Parameters
U3L4 Using Simple Commands
The Isometric Grid. Page 21. The Isometric Grid. Page 21.
Presentation transcript:

AP Computer Science Principles Data Abstraction and Procedural Abstraction Curriculum Module

What is Abstraction? On an index card, write your name and your definition of abstraction.

3 ► The process of simplifying or condensing large amounts of data into manageable chunks. ► A concept, an idea, or a general representation that stands for some complex collection of individual instances. Abstraction

4 ► A tall object that is stretching to the sky with rough skin. At the top it has several off shoots that spread out from the center. On the ends of the shoots are many small pieces of green softer skin all of the same or similar shape. Below the ground similar offshoots spread through the ground. ► What is this object? Consider this Description Tree

5 ► Data Abstraction ► Data stored in variables ► Bits are a lower level of abstraction ► Procedural Abstraction ► Hiding the details (encapsulation) of a complex task under a name with parameters. Two Different Senses of Abstraction

Lesson 1: Number Bases: Binary, Octal, Decimal and Hexadecimal

Think Pair Share Why do use binary numbers instead of decimal numbers?

Introducing Binary to Students What are some of the ways that you introduce binary numbers to your students?

Activity 1 Count the Dots

10 ► Use index cards to create the following 5 cards. Counting Dots Activity

11 ► Each card represents a place value in binary. Counting Dots Activity

12 ► Just like the decimal number place values are 1, 10, 100, 1000… The binary number place values are 1, 2, 4, 8, 16, … Counting Dots Activity

13 ► How would we use this to convert the binary number to decimal? Counting Dots Activity

14 ► Convert the binary number to decimal. Counting Dots Activity

15 What is Digital?

Activity 3 Using Binary for Text

17 Using Binary for Text Use this subset of the ASCII codes to decode this message F 43 4B 53 21

Decoding Extensions Brainstorm ideas for how you can extend this activity.

Activity 4 Using Binary for Images

20 What are the differences between these two pictures?

21 Pixels and Color Codes

Lesson 2: Procedural Abstraction Using Turtle Primitives

Think Pair Share How do you take your students from concrete examples to abstract formulas that use variables to do the work?

Activity 2 Drawing a Square

25 ► On your graph paper identify the point (0, 0) It really doesn’t matter where you put this, but so we don’t run out of room, put it some where in the center of the paper. ► Commands: ► penDown() puts the pencil down at the starting location ► move() moves 10 units in the direction the turtle is facing ► turn() turns the turtle 90 degrees clockwise ► penUp() lifts the pen off of the paper. ► Start the turtle at (0,0) facing East. Setting up the Graph

26 penDown() move() turn() move() turn() move() turn() move() turn() penUp() Graphing Turtle Movements

Turn To Your Partner How are we demonstrating the use of abstraction in the code we just explored?

Think Pair Share What would your next step be in developing abstraction with your students?

Activity 3 drawSquare50x50()

30 penDown() move() turn() move() turn() move() turn() move() turn() penUp() Modify to Make a 50x50 Square

31 penDown() move() turn() move() turn() Modify to Make a 50x50 Square move() turn() move() turn() penUp()

32 drawSquare50x50() { penDown() move() turn() move() turn() Modify to Make a 50x50 Square move() turn() move() turn() penUp() }

33 drawSquare50x50() { penDown() move(50) turn() move(50) turn() move(50) turn() move(50) turn() penUp() } Modify to Make a 50x50 Square

Activity 5 Student Practice and Homework

35 drawSquare50x50() { penDown() move(50) turn() move(50) turn() move(50) turn() move(50) turn() penUp() } Modify to Make a 60x60 Square drawSquare60x60() { penDown() move(60) turn() move(60) turn() move(60) turn() move(60) turn() penUp() }

36 drawSquare50x50() { penDown() move(50) turn() move(50) turn() move(50) turn() move(50) turn() penUp() } Making a General drawSquare(x) drawSquare60x60() { penDown() move(60) turn() move(60) turn() move(60) turn() move(60) turn() penUp() } drawSquare(x) { penDown() move(x) turn() move(x) turn() move(x) turn() move(x) turn() penUp() }

Activity 7 Draw Triangle Procedure

38 Writing drawTriangle(x) ► After modeling creating drawSquare(x), have students try other shapes like drawTriangle(x) ► Use turn(x) to change the amount of turn.

Think Pair Share How many degrees should we turn to make a triangle? Try it.

40 Turn Amount for Triangle ► Is there a formula that we could use to determine the amount to turn after drawing each leg of the triangle? ► Can we generalize this formula to work for all equilateral polygons?

Extension Students can practice using parameters to create all sorts of draw procedures including a general drawPolygon() procedure.

Activity 8 makeFace() Procedure

43 Writing makeFace() Procedure ► Have students use the procedure that they have written to create a picture, such as a face. ► Some other ideas: flower, arrow, house.

Summative Assessment Page 33 of the module. Includes short answer, multiple choice and application questions.