AP Computer Science Principles Course Syllabus ..., Lecture notes of Computer science

Computational Thinking Practice P6: Collaborating. 9, 13, 14, 18, 27, 29. CR 2a Students are provided with opportunities to meet learning objectives ...

Typology: Lecture notes

2022/2023

Uploaded on 02/28/2023

anala
anala 🇺🇸

4.3

(15)

259 documents

1 / 35

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
AP Computer Science Principles Syllabus Page 1
AP Computer Science Principles Course
Syllabus # 1657659v1 College Board Authorized
CR #
CURRICULAR REQUIREMENTS
Pages
CR 1a
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P1: Connecting Computing.
8, 9, 11, 22, 24, 25, 27,
30
CR 1b
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P2: Creating Computational Artifacts.
7, 8, 9, 13, 14, 18, 25,
29, 32, 33
CR 1c
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P3: Abstracting.
4, 6, 7, 11, 14, 16, 18,
20, 27, 32, 33
CR 1d
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P4: Analyzing Problems and Artifacts.
4, 8, 14, 16, 20, 22, 24,
27, 29, 32, 33
CR 1e
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P5: Communicating.
6, 9, 20, 25, 27, 30, 32
CR 1f
Students are provided with opportunities to meet learning objectives connected to
Computational Thinking Practice P6: Collaborating.
9, 13, 14, 18, 27, 29
CR 2a
Students are provided with opportunities to meet learning objectives within
Big Idea 1: Creativity. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
13, 14, 27, 29, 32, 33
CR 2b
Students are provided with opportunities to meet learning objectives within
Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
4, 6, 7, 11, 13, 14, 16,
18, 20, 32, 33, 35
CR 2c
Students are provided with opportunities to meet learning objectives within
Big Idea 3: Data and Information. Such opportunities must occur in addition to
the AP Computer Science Principles Performance Tasks.
25, 27, 29, 35
CR 2d
Students are provided with opportunities to meet learning objectives within
Big Idea 4: Algorithms. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
9, 11, 24, 25, 32, 35
CR 2e
Students are provided with opportunities to meet learning objectives within
Big Idea 5: Programming. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
7, 8, 9, 11, 13, 16, 18,
24, 25, 27, 32, 33, 35
CR 2f
Students are provided with opportunities to meet learning objectives within
Big Idea 6: The Internet. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
4, 14, 20, 22, 27, 35
CR 2g
Students are provided with opportunities to meet learning objectives within
Big Idea 7: Global Impact. Such opportunities must occur in addition to the AP
Computer Science Principles Performance Tasks.
4, 8, 14, 22, 29, 30, 35
CR 3
Students are provided the required amount of class time to complete the AP
Through-Course Assessment Explore - Impact of Computing Innovations
Performance Task.
29, 30, 31
CR 4
Students are provided the required amount of class time to complete the AP
Through-Course Assessment Create - Applications from Ideas Performance Task.
32, 33, 34
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Partial preview of the text

Download AP Computer Science Principles Course Syllabus ... and more Lecture notes Computer science in PDF only on Docsity!

AP Computer Science Principles Course

Syllabus # 1657659v1 College Board Authorized

CR # CURRICULAR REQUIREMENTS Pages

CR 1a

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P1: Connecting Computing.

CR 1b

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts.

CR 1c

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting.

CR 1d

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts.

CR 1e

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P5: Communicating.

CR 1f

Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P6: Collaborating.

CR 2a

Students are provided with opportunities to meet learning objectives within Big Idea 1: Creativity. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2b

Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2c

Students are provided with opportunities to meet learning objectives within Big Idea 3: Data and Information. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2d

Students are provided with opportunities to meet learning objectives within Big Idea 4: Algorithms. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2e

Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2f

Students are provided with opportunities to meet learning objectives within Big Idea 6: The Internet. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 2g

Students are provided with opportunities to meet learning objectives within Big Idea 7: Global Impact. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

CR 3

Students are provided the required amount of class time to complete the AP Through-Course Assessment Explore - Impact of Computing Innovations Performance Task.

CR 4

Students are provided the required amount of class time to complete the AP Through-Course Assessment Create - Applications from Ideas Performance Task.

Resources (Note: This syllabus serves two purposes. First it is an audit syllabus created for College Board AP

Computer Science Principles course approval and second it fulfills the requirement for high school departments to create a syllabus in such a manner that an incoming teacher will have a clear and detailed guide to use to continue the teaching of the course after the creator of the syllabus is no longer teaching at the school.) (Exposure CS) Schram, Leon. Exposure Computer Science 201 6 - 2017 for Advanced Placement Computer Science Principles. Royse City, Texas: Leon Schram, 2016. This is the primary textbook specifically designed for the APCS Principles course. A complete Python course, which includes all the programming topics listed in the course description and graphics programming topics for creating artifacts are included. The book provides lab assignments and evaluation tools for all the topics. The units are organized in such a manner that it clearly states when additional resources should be researched on a given topic, either from the books listed below or by additional Internet research. (CS Illuminated) Dale, Nell and Lewis, John. Computer Science Illuminated. 6th ed. Burlington, MA. Jones & Bartlett Learning, 2016. This is a comprehensive textbook developed for non-computer science majors in a program-language independent environment. It is not used for this syllabus as a chapter-by-chapter primary source. For many topics where a different perspective and extra research is required, students will find much information relevant to the course. (Blown Bits) Abelson, Hal and Ledeen, Ken and Lewis, Harry. Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Boston, MA. Addison-Wesley, 2008. This book provides relaxed reading with many historical anecdotes that illustrate the current point being made. It is an excellent resource for several specific topics, such as security and others that give historical insights. http://www.bitsbook.com/excerpts Available for download under a Creative Commons License ( 9 Algorithms) MacCormick, John. Nine Algorithms that Changed the Future: The Ingenious Ideas that Drive Today's Computers. Princeton, NJ: Princeton University Press, 2012 This book is an excellent resource for one of the big ideas by focusing strictly on those algorithms that have been very significant for the development of computers. In the process of discussing important algorithms much information is provided for topics on searching, security, encryption and data management. (Course Description) College Board. Advanced Placement Computer Science Principles Course Description 2016. New York: College Entrance Examination Board, 2016. The College Board course description is very detailed and includes the framework that provides the backbone of AP Computer Science Principles. In areas where there is uncertainty about curriculum requirements, the course description will be the definitive source to clearly detail the expectations for the school, teacher and students. http://apcentral.collegeboard.com jGRASP Software "jGRASP," Auburn University at www.jgrasp.org The jGrasp Integrated Development Environment if free for student use, easy to learn, and provides identical software for PC and Mac users. Python Software "Python IDLE," at www.python.org Python is an ideal language teaching AP Computer Science Principles. It allows either an Object Oriented or strictly procedural programming approach. Since the course description does not require any OOP programming, Python becomes a good choice for a course that has many curriculum requirements in a short time period. Python also resembles the pseudo-code closely and makes this transition easy for students as they prepare for the End-Of-Course AP Exam.

Unit I Introduction to Computer Science (1 week)

Big Idea(s) #2: Abstracting,^ #3: Data and Information, #6: The Internet,^ #7: Global Impact

General

Objectives

In the first unit of the course students get an overview of how computers work and the history of computer science. Students also learn what programming is and study a brief sequence of programming languages.

Resources ^ (Exposure CS)^ Chapter 1, Introduction to Computer Science

(YouTube) Did You Know video

Unit Lesson

Sequence of

Topics

 Show the Did You Know video  Communicating with Morse Code  Storing Information Electronically  Computer Memory and Secondary Storage  Computer Hardware  Computer Software  A Brief History of Computers  What is Programming?  Instructions to a Human Robot  A Brief History of Programming Languages

Activities ^ Students are shown the^ Did You Know Video , which provides many^ details about the growth

and the global impact of computing. LO 7.1.1 [P4] [CR1d] [CR2f]  After watching the video, students individually need to write an essay how they think the information presented in the video will impact their future. LO 7.1.1 [P4] [CR1d] [CR2g]  Students do a short exercise where they create Morse Code messages. LO 2.1. 1 [P3] [CR1c] [CR2b]  Students convert base-10 numbers into binary code.  LO 2.1.2 [P5] [CR1e] [CR2c]  Students learn about assumptions made in human communication and the need for logical precision in programming with a Human Robot exercise. The teacher simulates a robot capable of understanding simple commands. Students are asked to give a logical sequence of instructions so that the robot (teacher) draws a circle on the white board.  LO 2.3.1 [P3] [CR1c] [CR2b] [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR1d] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts. [CR1e] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P5: Communicating. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2c] --- Students are provided with opportunities to meet learning objectives within Big Idea 3: Data and Information. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2f] --- Students are provided with opportunities to meet learning objectives within Big Idea 6: The Internet. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2g] --- Students are provided with opportunities to meet learning objectives within Big Idea 7: Global Impact. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Unit I Continued

Summative

Evaluations

2 Reading Quizzes 2 Homework Exercises 1 Multiple-Choice Unit Test 1 Essay on the Did You Know video

Teaching

Strategies

The AP Computer Science Principles syllabus includes many topics with many activities. A steady, organized pace must be started immediately to manage the many requirements of the course in two semesters of 16 weeks each. This is the second day in the course, but actual first day of instruction, after the housekeeping and administrative requirements first day of school. The class starts immediately with the Did You Know Video. The movie is quite startling for many students as they become aware of the global impact of computing. This is followed by explaining how computers manage to store information electronically using two states of 1 and

  1. Morse Code is explained and then students do an exercise creating Morse Code messages that lets them see that it is possible to create message with dots and dashes. More importantly, they then learn that the dots and dashes can be send with short and long electrical pulses to create dots and dashes, long or short sounds or long or short appearances of light. A slide presentation is used to show the history of computing. The lesson concludes with an explanation of programming. At the conclusion of this unit the teacher becomes a robot and shows students how difficult instructions can be when a robot - with limited language skills - strictly follows what is communicated without assumptions. For instance, when students say "Pick up the marker," the robot picks up the marker with his teeth.

Unit III Installing and Using Python (1 week)

Big Idea(s) #2: Abstracting, #5: Programming

General

Objectives

Students get their first formal introduction to programming with the language Python. They start by learning how to install the appropriate software for Python programming. Students then learn about high-level languages and low-level machine code, which requires a translating program. The remainder of the lesson is devoted to entering simple commands at the Python prompt. The unit concludes by learning how to use an Integrated Development Environment (IDE) to easily edit, run and save programs. Student then complete the first Python lab assignment.

Resources ^ (Exposure CS)^ Chapter 3, Installing and^ Using Python

JGRASP SoftwarePython Software

Unit Lesson

Sequence of

Topics

 Install the Python software and the Integrated Development Environment (IDE), jGrasp  The MAC and PC use different software, but the Python commands are the same  High-Level and Low-Level languages and the need for a translator  Interpreters and compilers  Grace Hopper's contribution  Using Python at the Command Prompt and the Python IDLE  Creating Text output with print  Python's binary operators  Using variables in an assignment statement  The shortcomings of command-prompt one-line-at-time programming  Loading and saving a program with an IDE, like jGrasp  Complete a lab assignment by writing a simple output program

Activities ^ Students install the Python software and the jGrasp IDE.

LO 2.2.3 [P3] [CR1c] [CR2b ] [CR2e]  Students write small programs at the Python >>> prompt. LO 5.1.1 [P2] [CR1b] [CR2e]  Students complete a lab assignment by writing a program that generates text output and performs examples of all the binary arithmetic operations. LO 5.1.1 [P2] [CR1b] [CR 2 e] [CR1b] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts. [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

2 Reading Quizzes 2 Homework Exercises 1 Multiple-Choice Unit Test 1 Minor Lab Assignment

Teaching

Strategies

The lesson starts by installing the software required to run Python programs. Wherever possible, students should install the actual software on the lab computers or their laptops. This activity enables students to also install the free software on their home computers. Students are provided with a step-by-step slide presentation that they can use for home computer installation. In this lesson students run numerous small programs at the Python >>> prompt. This style of programming is simple and allows a quick demonstration of new commands, but programs cannot be edited easily and cannot be saved for later use.

Unit IV Basic Python Features (1 Week)

Big Idea(s) #5: Programming

General

Objectives

Students are introduced to using existing procedures. They learn that some procedures, such as print, are available directly while other procedures like sqrt can only be accessed with an import library. In this unit students learn to use procedures that are available in the math and random libraries. Students also learn to appreciate the interest that is paid back on loans and credit cards by completing a lab assignment that uses formulas to compute monthly loan payments, interest paid and computes future savings balances..

Resources ^ (Exposure CS)^ Chapter 4, Basic Python Features

JGRASP SoftwarePython Software

Unit Lesson

Sequence of

Topics

 Creating output with the print command  Using variables in a program  Executing programs with keyboard input procedure  Identifying variables data types with the type procedure  Accessing additional Python procedures with import  Using Python math library procedures  Using Python random library procedures

Activities ^ Students look at programs that use procedures sqrt, ceil, floor, abs and random

 Students look at programs that use attributes pi and e  Student look at programs that use procedures random, seed and randint  Students learn about the impact of randomness on society for advertising and polling. Students learn that use of technology for political predictions is not always accurate. LO 7.3.1 [P4] [CR1d] [CR2g]  Students look at programs that use shortcut notations +=, ==, *=, //=, %=, /=, **=  Students complete a lab assignment that uses formulas to compute loan payments for carloads, house mortgages and credit cards. LO 5.1.1 [P2] LO 5.5.1 [P1] [CR1a] [CR1b] [CR2e ] [CR1a] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P1: Connecting Computing. [CR1b] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts. [CR1d] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2g] --- Students are provided with opportunities to meet learning objectives within Big Idea 7: Global Impact. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

2 Reading Quizzes 2 Homework Exercises 1 Multiple-Choice Unit Test 1 Major Lab Assignment

Teaching

Strategies

The importance of randomness in society needs to be emphasized with examples of surveys that are used for calculating advertising revenues and political polling. These surveys are only possible with randomly selected population samples. Interest affects everybody. Ask students what type car they like to purchase and then ask what they expect the monthly payment to be. Students greatly underestimate what needs to be paid. After mortgage payments are calculated for a 30-year loan demonstrate the savings of a 1 5 - year loan.

Unit V Continued

Activities

Continued

[CR2d] --- Students are provided with opportunities to meet learning objectives within Big Idea 4: Algorithms. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

2 Reading Quizzes 2 Homework Exercises 1 Multiple-Choice Unit Test 2 Minor Lab Assignment 2 Major Lab Assignments

Teaching

Strategies

This unit shows a variety of algorithms that must be implemented in Python. The first job is to concentrate on creating an algorithm separate from any programming. For instance, in the PI Approximating algorithm activity it is effective to have groups of 3 to 5 students work together. Start them with the picture of a regular hexagon and show how the hexagon perimeter, taken as an approximation of a circle's circumference, results in a value of 3.0 for PI. Students then need to compute the polygon perimeter for a 12 - sided regular polygon, followed by a 24 - sided polygon to increase the accuracy of PI. This process motivates the use of a computer program as it requires a regular polygon of around 10,000 sides to compute PI accurately to 6 places.

Unit VI Boolean Logic (1 Week)

Big Idea(s) #3: Data and Information,^ #5: Programming

General

Objectives

Students will learn that computer programs make many decisions. These decisions are Boolean in nature and will only evaluate to True or False. Students learn that there are simple conditions with a single Boolean operator and there are compound conditions with two or more Boolean operators in a single statement. Students learn that complex computer programs are controlled by complex Boolean expressions. Students also learn that computer programs can simplify its processing when a situation occurs, known as short-circuiting. In such a scenario Boolean logic determines that some complex expressions do not need to be evaluated completely. Certain simple conditions provide sufficient information for the evaluations of much greater Boolean expressions.

Resources ^ (Exposure CS)^ Chapter 6,^ Boolean Logic

(CS Illuminated) Chapter 4, Logic Gates and Circuits  JGRASP SoftwarePython Software

Unit Lesson

Sequence of

Topics

 Logic Gates and Boolean Operators: NOT, AND, OR and XOR  Truth Tables  Boolean Operators in Python  Using Venn Diagrams to Display Boolean Logic  Selection and Loop Statements With Compound Decisions  Program Input Protection  DeMorgan's Law  Short-Circuiting Compound Decisions

Activities ^ Students will complete the creation^ of a flow chart using Power Point or similar software

for several provided mathematical algorithms using Boolean Logic LO 5.5.1 [P1] [CR1a] [CR2d]  Students will complete several diagrams that display the use of logic gates to handle various common computer operations using Power Point or similar software. LO 2.2.3 [P3] [CR1c] [CR2b]  Students will complete a lab assignment that places randomly created graphics objects in random location in different cells of a grid. Students will need to use compound Boolean conditions to determine the proper coordinates that guarantee that the graphics objects are displayed within the boundaries of each cell. LO 5.5.1 [P1] [CR1a] [CR2e] [CR1a] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P1: Connecting Computing. [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2d] --- Students are provided with opportunities to meet learning objectives within Big Idea 4: Algorithms. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

1 Reading Quiz 2 Homework Exercises 1 Multiple-Choice Unit Test 1 Minor Lab Assignment 1 Major Lab Assignments

Unit VII Graphics and Subroutines (2 Weeks)

Big Idea(s) #1: Creativity, #2 Abstracting, #5: Programming

General

Objectives

In this unit students are introduced to graphics programming. The first part of the unit introduces students to turtle graphics and allows them to create interesting designs. In the second half of the unit students are introduced to the creation of subroutines. Students are expected to use many of their own procedures for the second assignment.

Resources ^ (Exposure CS)^ Chapter 7, Graphics and Subroutines

JGRASP SoftwarePython Software

Unit Lesson

Sequence of

Topics

 Turtle Graphics Basics  Controlling the Turtle's Pen  Controlling the drawing speed of the program  Add Color with Turtle Graphics  Introduction to Subroutines  Creating and Calling Subroutine Procedures  Important Vocabulary and Rules  Creating and Calling Function Subroutines  Creating and Calling Graphics Subroutines  Creating interesting designs with graphics and loop structures.  Creating interesting designs with graphics and random values.

Activities ^ Students^ complete a lab assignment that draws a house on the screen, using procedures.

LO 5.1.2 [P2] [CR1b] [CR2e]  Students do an open-ended graphics assignment that combines control structures with graphics procedures to display an interesting design. Students are expected to include user-defined subroutines in their design. LO 1.2.1 [P2] LO 2.2.1 [P2] LO5.1. 2 [P2] LO 5.1. 3 [P6] [CR1b] [CR1f] [CR2a] [CR2b] [CR2e] [CR1b] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts. [CR1f] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P6: Collaborating. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

2 Reading Quizzes 2 Homework Exercises 1 Multiple-Choice Unit Test 1 Minor Lab Assignment 1 Major Lab Assignment

Teaching

Strategies

This unit represents a very significant leap. First the introduction of graphics is not only interesting for the students, but it also starts to give them the tools to create programs that are visually attractive, such as they may design for their "create" artifact. This is also the right time to introduce user-defined procedures. Graphics allow visual demonstration of various subroutines. It not only make graphics programming simpler, but it also assists in learning abstraction better. This unit requires that students complete a lab assignment that is completely open-ended. It is time for their creativity to shine and students are also expected to include writing with their program. This is a mini version of what students will do for their later performance tasks.

Unit VIII Webpage Creation with HTML (2 Weeks)

Big Idea(s) #1: Creativity, #6: The Internet, #7: Global Impact

General

Objectives

Students have already been Internet and WWW consumers for quite some time. In this unit they learn to be on the other side and become the creators and providers of web pages. Students will learn how HTML is the glue of the web pages and its foundation and use HTML to create their own websites capable of linking to multiple subpages.

Resources ^ (Exposure CS)^ Chapter 8, Web Page Creation With HTML

(CS Illuminated) Chapter 16, The World Wide Web  JGRASP Software

Unit Lesson

Sequence of

Topics

 A brief history of the World Wide Web  Spinning the Web  HTML and CSS  Interactive Webpages  XML  Social Networks  HTML and Web Authoring software  The HTML webpage creation setup  HTML basics  Formatting text  Using lists on web pages  Adding color to web pages  Linking to other web pages  Preparing images for a web page  Adding Images to web pages

Activities ^ Students create a^ single web page that demonstrates^ examples of the basic HTML tags.

LO 2.2.3 [P3] [CR1c] [CR2b ]  Students complete a few pages that display a variety of different lists. LO 5.1.1 [P2] [CR1b] [CR2f]  Students do research on a country they will use for a future lab assignment. The worksheet asks fundamental fact questions about the selected country. LO 1.2.1 [P2] LO 1.3.1 [P2] LO 7.1.1 [P4] [CR1b] [CR1d] [CR2a] [CR2g]  Students complete a lab assignment that will inform viewers about one specific country. For this assignment there will only be a home page completed with links to many subpages. All the subpages have a title and links to all other pages. This is a skeleton web site and the first part of a website that is completed in the next lab assignment. LO 1.2.1 [P2] LO 1.3.1 [P2] LO 7.1.1 [P4] [CR1b] [CR1d] [CR2a] [CR2g]  Students complete the country lab assignment collaborating with a partner. Every subpage is one information category, such as government, sports, food, etc. Each subpage shows pictures along text boxes that explain what is shown by the pictures. LO 1.2.1 [P2] LO 1.2.2 [P2] LO 1.2.4 [P6] [CR1b] [CR1f] [CR2a] [CR2f] [CR1b] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts. [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR1d] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts. [CR1f] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P6: Collaborating.

Unit IX Abstraction with Graphics Procedures (2 weeks)

Big Idea(s) #2: Abstracting, #5: Programming

General

Objectives

Students have already several seen examples of abstraction used in the programs they have created so far. This unit is meant to teach and use the practicality of abstraction for their personal use. In this unit students will create an extensive graphics library that will be a tremendous aid in creating graphics projects more efficiently and also provide students with better graphic tools that can be used for the create performance task.

Resources ^ (Exposure CS)^ Chapter 8, Abstracting

(CS Illuminated) Chapter 7.7, Important Threads, Information Hiding & Abstraction  JGRASP SoftwarePython Software

Unit Lesson

Sequence of

Topics

 Abstraction in everyday living  The benefits of abstraction  Abstraction in a computer program  Data abstraction  Procedural abstraction  Control abstraction  Layers of abstraction with a "Circle & Oval Creation" Case Study  The fundamental use of an existing circle procedure  Understanding the mathematics of a circle  The relationship between video memory and the graphics card  Creating a practical graphics library

Activities ^ Students work in groups and create a poster or write on a paper, abstractions that are used

by people on a typical day. LO 2.3.1 [P3] [CR1c] [CR2b]  Students starts with a single pixel and create an oval and arc procedure using various layers of abstraction. Test accuracy of each implemented layer. LO 2.2.3 [P3] LO 5.4.1 [P4] [CR1c] [CR2b ] [CR2e]  Students create an extensive graphics library that places a layer of abstraction on top of turtle graphics to provide both a more convenient set of graphics tools, but also add tools that are not currently available in turtle graphics. LO 2.2.1 [P2] LO 2.2.2 [P3] LO 2.2.3 [P3] LO 5.3.1 [P3] LO 5.4.1[P4] [CR1b] [CR1c] [CR1d] [CR2b] [CR2e] [CR1b] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P2: Creating Computational Artifacts. [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR1d] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2e] --- Students are provided with opportunities to meet learning objectives within Big Idea 5: Programming. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.

Summative

Evaluations

1 Reading Quiz 1 Homework Exercise 1 Multiple-Choice Unit Test 1 Worksheet Exercise 1 Minor Lab Assignment 1 Major Lab Assignment

Unit IX Continued

Teaching

Strategies

This unit is designed to provide students with a set of practical tools for creating their future create performance task. At the same time students will experience the actual use of abstraction to create these tools. The existing turtle graphics are excellent routines to immediately start programming graphics projects, but the drawing approach is not efficient and practical for substantial graphics projects. For instance, it is much simpler to use a rectangle command with two coordinate points than multiple forward and right statements. Students will have two goals with the creation of their graphics library. First, they will take the existing turtle commands and change them to be coordinate specific rather than draw specific. Second, students need to create many procedures that do not yet exist. They will create useful procedures, such as regular polygons, stars and some 3 - D procedures, such as cubes and spheres. As students get closer to their performance tasks they may want to create their own library of procedures that will be specific to the needs of their programs.

Unit X Continued

Summative

Evaluations

1 Reading Quiz 1 Homework Exercise 1 Multiple-Choice Unit Test 2 Minor Lab Assignment 1 Major Lab Assignment

Teaching

Strategies

Pseudo-code is well-documented on a reference sheet that is provided during the AP Examination. Most students will have no problem analyzing the questions with the provided reference sheet and selecting the correct answer. The problem at the AP Exam is time. There are 74 questions that must be answered in less than 100 seconds each. Teaching students a unit on pseudo-code has general benefits in understanding algorithms, abstraction and programming. If the pseudo-code used is also the same pseudo-code that is used on the AP Exam then students will handle those questions very rapidly and be less stressed by time limits.

Unit XI How The Internet Works (1 Week)

Big Idea(s) #2: Abstracting, #6: The Internet

General

Objectives

Students are introduced to the technical operations of the Internet. Using Cisco videos , students are shown networking from simple LANs connected with a hub to the complexity of The Internet. Students will learn about the different networking devices with an emphasis on switches and routers. Students will also get an introduction to the protocols that make it possible for information to travel from any computer on the Internet to any other computer.

Resources (Exposure CS)^ Chapter 11, How The Internet Works

(CS Illuminated) Chapter 15, Networks (NetworKing Cisco Unit1) https://www.youtube.com/watch?v=n2D1o-aM-2s (NetworKing Cisco Unit2) https://www.youtube.com/watch?v=l_OPR2yh2co&t=468s (NetworKing Cisco Unit3) https://www.youtube.com/watch?v=Ct4PU6CyvTQ&t=5s (NetworKing Cisco Unit4) https://www.youtube.com/watch?v=dd_fKRA7lBA

Unit Lesson

Sequence of

Topics

 History of the Internet  Networking basics (view Cisco Video Unit 1)  How the Internet Works (view Cisco Video Unit 2) OSI: Physical - Data Link - Network - Transport - Session - Presentation - Application TCP/IP: Network Interface - Internet - Transport - Application  How data travels on The Internet (view Cisco Video Unit 3) Network addressing - Subnetting to identify local networks  Common Internet protocols: IP, TCP, HTTP, HTTPS  Network addressing with DNS  Networking Devices (view Cisco Video Unit 4) Hub, Switch, Router, Gateway Router, Cat 5 cable RJ45 jacks,  Making the Internet reliable with multiple routes and packets that are checked for accuracy  The difference between a Lan, Intranet and Internet  The difference between The Internet and the World Wide Web

Activities ^ Students create a Local Area Network connected with a hub^ or switch^ and^ Ethernet^ cables.

Connected computers are configured for communication and students can view and ping the other computers to check connectivity. A printer will also connect to the LAN allowing students access and print to the single printer. LO 6.1.1 [P3] LO 6.2.1 [P5] [CR1c] [CR2f]  Students are taken on a tour of the school's networking facility. They will learn the difference between the routers and switches and see the cable management of the racks between all the switches and routers. Students learn that the basic principle of The Internet is a routing system with redundancy so that multiple paths can be taken for communication. Students also learn how the networking configuration has the ability to scale up for more staff and more students to handle. Students will also learn that the school has the ability to network computers via a cable or via a wireless system. LO 6.1.1 [P3] LO 6.2.1 [P5] LO 6.2.2 [P4] [CR1c] [CR1d] [CR1e] [CR2b] [CR2f] [CR1c] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P3: Abstracting. [CR1d] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P4: Analyzing Problems and Artifacts. [CR1e] --- Students are provided with opportunities to meet learning objectives connected to Computational Thinking Practice P5: Communicating. [CR2b] --- Students are provided with opportunities to meet learning objectives within Big Idea 2: Abstracting. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks. [CR2f] --- Students are provided with opportunities to meet learning objectives within Big Idea 6: The Internet. Such opportunities must occur in addition to the AP Computer Science Principles Performance Tasks.