You are on page 1of 13

PLUMSTEDTOWNSHIPSCHOOLDISTRICT

AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

Course Title:
Introduction to Programming
Content Area: Technology
Grade Level(s): 10-12
Course Description:
This course is designed to introduce students to the concepts of computers and
computing with a focus on programming and problem solving.
Date Created: May 2014
Date Approved by Plumsted Township Board of Education: August 2014

Pacing Guide
Unit 1 Human Computer Interaction

__
2
__ Weeks

Unit 2 Problem Solving

__
2
__ Weeks

Unit 3 Programming With Karel


Unit 4 Basic JavaScript and Graphics

__
4
__ Weeks
__
5
__ Weeks

Unit 5 Animation and Games

__
4
__ Weeks

Unit 6 Capstone Project

__
2
__ Weeks

Unit 1 Human Computer Interaction


Unit Summary:
In this unit, students are introduced to the concepts of a computer and computing while investigating the major
components of computers and the suitability of these components for particular applications. Students will experiment

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
with Internet search techniques, explore a variety of websites and web applications, and discuss issues of privacy and
security. Fundamental notions of Human Computer Interaction (HCI) and ergonomics are introduced. Students will learn
that intelligent machine behavior is not magic but is based on algorithms applied to useful representations of
information, including large data sets. Students will learn the characteristics that make certain tasks easy or difficult for
computers, and how these differ from those that humans characteristically find easy or difficult. Students will gain an
appreciation for the many ways in which computing-
-enabled innovation have had an impact on society, as well as for the
many different fields in which they are used. Connections among social, economical, and cultural contexts will be
discussed.

Interdisciplinary Connections/Content Area Integrations:


technology, mathematics, science, reading, writing

NJCCCS
8.1.12.D.1 Technology
Operations and Concepts

Evaluate policies on unauthorized electronic access (e.g., hacking) and disclosure and on
dissemination of personal information.

8.1.12.D.2 Technology
Operations and Concepts

Demonstrate appropriate use of copyrights as well as fair use and Creative Commons
guidelines.

8.1.12.D.3 Technology
Operations and Concepts

Compare and contrast international government policies on filters for censorship.

8.1.12.B.01 Creativity and


Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:

What is a computer? What is computing?

What are the components of a computer? Describe the uses of the computer hardware components. Differentiate
between hardware components for various types of users.

What does the term Web 2.0 mean?

What is a search engine? How do they work?

What resources would you use to locate information on the Internet?

What are good websites?

Differentiate between ranking based search engines and social bookmarking (collaborative) search engines.

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

What role do computers play in communication in todays society? How have they changed?

What is the difference between information and data?

How do we most effectively exchange information and data?

How has social media transformed the way we communicate?

What level of privacy should we anticipate/expect when we communicate electronically?


Instructional Outcomes:
What will the students learn? The students will be able to:

Describe ways in which computing enables innovation.


Discuss the ways in which innovations enabled by computing affect communication and problem solving.
Analyze how computing influences and is influenced by the cultures for which they are designed and the cultures in which
they are used.
Analyze how social and economic values influence the design and development of computing innovations.
Discuss issues of equity, access, and power in the context of computing resources.
Communicate the legal an ethical concerns raised by computational innovations.
Discuss privacy and security concerns related to computational innovations.
Explain positive and negative effects of technological innovations on human culture.

Formative Assessments:

Journal entries
Completion of daily assignments
Informal checks for Understanding
Student handouts
Class discussions and Feedback

Students will be graded using the rubric system

They will be graded on their performance and participation


Summative Assessments:
Unit project (or test)

Suggested Learning Activities:


Computer Buying project, Computer Components Checklist, Jigsaw Activity, Website
evaluation, Scavenger Hunt, Communications Methods Chart, Privacy Activity, Room Activity Picture, Data Journal, Virtual Bead
Loom Tutorial, Culturally Situated Design Tools Project Sample Rubric, Following Directions Quiz, Drawing Pictures Activity,
Bread, Peanut Butter, Jelly, and a Knife, Computer Intelligence Activity.

Curriculum Development Resources:

http://www.exploringcs.org/

The Wayback Machine: http://www.archive.org

Google Maps (including StreetView): http://maps.google.com

Wikipedia: http://www.wikipedia.org

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

Encyclopedia Britannica: http://www.britannica.com

Mapquest:

Internet Movie Database: http://www.imdb.com

Switchboard: http://www.switchboard.com

Yellow Pages: http://www.yellowpages.com

How Stuff Works: http://www.howstuffworks.com

YouTube: http://www.youtube.com

Howcast: http://howcast.com

http://www.delicious.com

http://www.stumbleupon.com

http://www.wordle.net

http://www.tadalist.com

The white nationalist site on Martin Luther King, Jr.: http://www.martinlutherking.org

Culturally Situated Design Toolshttp://www.csdt.rpi.edu (site and adaptations of tutorials courtesy Ron Eglash)

Virtual Bead Loom Tutorial

Pacific Northwest Basket Weaver Tutorial

Navajo Rug Weaver Tutorial

Culturally Situated Design Tools Project Sample Rubric

http://www.photoshop.com

http://www.mapquest.com

http://www.justriddlesandmore.com/direct.html

The basis for the following directions quiz (the quiz was modified slightly)

Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test
(http://www.csunplugged.com), pp. 213-
-226
Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test, p. 225
questions (one copy for each pair of students)
Computer Science Unplugged Activity 20: Conversations with ComputersThe Turing Test, p. 226 answers
(one copy to post or display)

Unit 2 Problem Solving


Unit Summary:
This unit provides students with opportunities to become computational thinkers by applying a variety of
problem-solving techniques as they create solutions to problems that are situated in a variety of contexts. The range of
contexts motivates the need for students to think abstractly and apply known algorithms where appropriate, but also create
new algorithms. Analysis of various solutions and algorithms will highlight problems that are not easily solved by computer and
for which there are no known solutions. This unit also focuses on the connections between mathematics and computer science.
Students will be introduced to selected topics in discrete mathematics including Boolean logic, functions, graphs, and the binary
number system. Students are also introduced to searching and sorting algorithms and graphs.

Interdisciplinary Connections/Content Area Integrations:


technology, mathematics, science, reading, writing

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
NJCCCS
8.1.12.B.01 Creativity and
Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:

What is intelligence?

To what extent is a computer a strategic thinker?

How important is problem-solving and strategy?

How do you determine if you are going to develop a short or long term solutions?

What is an ill-structured problem? To what extent does every problem have a solution?

How do you know if your solutions are options for solving a problem?
Instructional Outcomes:
What will the students learn? The students will be able to:
Name and explain the steps they use in solving a problem.
Solve a problem by applying appropriate problem-solving techniques.
Express a solution using standard design tools.
Determine if a given algorithm successfully solves a stated problem.
Create algorithms that meet specified objectives.
Explain the connections between binary numbers and computers.
Summarize the behavior of an algorithm.
Compare the tradeoffs between different algorithms for solving the same problem.
Explain the characteristics of problems that cannot be solved by an algorithm.

FormativeAssessments:

Journalentries
Completionofdailyassignments
Informalchecksforunderstanding
Studenthandouts
Classdiscussionsandfeedback

Studentswillbegradedusingarubricsystem

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
They will be graded on their performance and participation
Summative Assessments:
Unit project (or test)
Final Project (This project is adapted from MathmaniaCS Lesson 13 (
http://www.mathmaniacs.org/lessons
)
Final Project Sample Rubric

Suggested Learning Activities:


Data Journal, Communication Methods and Data Chart, Number of Pieces/Number of
Breaks Chart, Handshake and Fencepost Activity, Handshake Activity #2 Sample Solution, Computer Science Unplugged Activity
1: Count the DotsBinary Numbers, pp. 3-
-13, Tower Building Activity, Computer Science Unplugged Activity 7: Lightest and
HeaviestSorting Algorithms, pp. 64-
-70, Computer Science Unplugged Activity 9: The Muddy CityMinimal Spanning Trees,
pp. 76-
-80

Curriculum Development Resources:

http://www.exploringcs.org/
Polya, G. How to Solve It. 2nd. Princeton, NJ: Princeton University Press, 2004. Candy bar problem suggested by Dr.
Manuel Blum, Carnegie Mellon University
Candy bars for student groups to use
Number of Pieces/Number of Breaks Chart
Polya, G. How to Solve It. 2nd. Princeton, NJ: Princeton University Press, 2004
Culturally Situated Design Tools Cornrow Curvescsdt.rpi.edu (courtesy Ron Eglash)
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged. Canterbury, New Zealand: 2002
Binary number cards for each student
Large binary number cards for the demonstrations
Shasha, Dennis. The Puzzling Adventures of Doctor Ecco. Mineola, New York: Dover Publications, Inc., 1998
Sample Solutions for Tower Building Activity
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged., New Zealand: 2002
Containers of the same size with different weights

Balance scales
Bell, Tim, Ian Witten and Mike Fellows. Computer Science Unplugged. Canterbury, New Zealand: 2002

Mapping website such as www.maps.google.com

Unit 3 Programming With Karel


Unit Summary:
Students will learn the fundamentals of computer science while creating their own animations, graphics, and
games for the web. This is the beginning unit for the
www.codehs.com
curriculum.

Interdisciplinary Connections/Content Area Integrations:


technology, mathematics, reading, writing

NJCCCS

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
8.1.12.B.01 Creativity and
Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:

How similar is the language of computer programming to that of the English language? (features, patterns, symbols,
syntax)

What is programming?

Who/what is Karel?

What is a command?

What is a function?

What is the analogy we use to describe functions in Karel?

What is a bug?

What is top down design? How would you apply top down design to everyday activities? Eating lunch, Waking up,
Playing a sport?

Why should you use comments?

What is programming style?

What can SuperKarel do?

What is a loop?

What is a for loop? When do we use a for loop?

What is an if/else statement?

What is a world? Why is it useful to use different worlds to test code?

What are examples of situations when you use if statements or if/else statements in your life? What is a while loop?
How do we decide if we should use a while loop or a for loop?

What are the different types of control structures, and how do we know when to use each one?

Why is indenting important?

What are the important factors for good programming style?

How do you approach breaking down a tough coding problem into smaller problems?

What are edge cases? What are some edge cases you have run into?

Instructional Outcomes:
What will the students learn?
SWBAT

Programming with Karel


Differentiate between a command and a function

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

Define what a function is


Define what the term bug means
Define top down design
Apply top down design to everyday activities
Utilize comments in code
Develop a programming style
Work with SuperKarel
Understand and utilize loops and For Loops
Utilize conditional logic such as If, If/Else statements
Identify examples of situations when to use If statements or if/else statements in life
Define what a world is
Understand why it is useful to use different worlds to test code
Define and use a while loop
Differentiate between a while look and a for loop
Identify different types of control structures and when to use them
Understand the importance of indenting code
Understand the important factors of good programming style
Develop an approach breaking down a tough coding problem into smaller problems
Define edge cases and list some edge cases students may have run into
Test and debug programs
Utilize techniques for fixing bugs in a program

List the important things they have learned from Karel

Formative Assessments:

Completion of daily assignments


Informal checks for understanding
Student handouts
Class discussions and feedback
Quizzes

Students will be graded using the rubric system

They will be graded on their performance and participation


Summative Assessments:
Unit project (or test)

Suggested Learning Activities:


Introduction to Programming with Karel reading and video, Your First Karel program activity, Short Stack, More Basic Karel
reading and video, Tennis Ball Square program activity, Make a Tower, Pyramid of Karel, Karel Can't Turn Right

Curriculum Development Resources: http://codehs.com/

Unit 4 Basic JavaScript and Graphics


8

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
Unit Summary:
Students will be introduced to JavaScript programming basics. The use of graphics and
JavaScript code will the mastered and applied.
Interdisciplinary Connections/Content Area Integrations:
technology, mathematics, reading, writing

NJCCCS
8.1.12.B.01 Creativity and
Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:
What are programming languages used for?
What is JavaScript? How are graphics
important to an applications design?
Instructional Outcomes:
What will the students learn? SWBAT
Define what a variable is
Read input from a user
List the different types of input they can get from a user
Decide what type of program they design based in the user input received
Define what a modulus operator is
List the process for writing this type of program
List the steeps for creating a graphics object on the screen
Understand the importance of constraints in a program
Define a magic number and the problem with using them in a program
Understand and utilize Boolean logic and logical operators in a program
Develop examples of a Boolean
Define what a comparison operator is and when to use them
Develop If/Else logic from examples in their day to day life
Compare the For loop in Karel to the For loop in JavaScript
Use debugging techniques learned in the previous unit to programs created with JavaScript
Identify the parts of the For loop
Explain how to write a For loop
9

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

Use the Randomizer in program code to simulate a random coin flip and dice roll
Compare While loops in JavaScript to those in Karel
Define what a loop and a half is and when to use it
Define what a Parameter is and site three examples of day to day tasks that you can turn into a problem of functions
and parameters

Come up with three examples of day-to-day tasks that you can turn into a problem of functions and parameters and
return value

Define what a global variable is and use Return values, Local variables and Scope

Formative Assessments:

Completion of daily assignments


Informal checks for understanding
Student handouts
Class discussions and feedback

Students will be graded using the rubric system


They will be graded on their performance and participation
Summative Assessments:
Unit project (or test)

Suggested Learning Activities:


ello World, Your Name and Hobby, Variables, Basic Variables, Apples and Oranges, User Input, Basic User Input,
H

Grocery
Store, Basic Math in JavaScript, Simple Calculator, Dollars to Pounds, Dividing Up Groups, T-Shirt Shop, Running Speed,
Graphics, Graphics Hello World, Blue Circle, Red Rectangle, 8 Ball, French Flag, Snowman, Booleans, First Boolean,
Do You
Have a Dog?, Logical Operators, Light Switch, President, Wasting Time, Can You Graduate?, The Weekend, Comparison
Operators, Walk into a Bar, Grade Range, Rolling Dice, All Star, If Statements, Negative Numbers, Great Names,

Even

and Odd, Secret Password, Teenagers, Stop Light, Basic For Loop,
For Loop, Chalkboard, Caterpillar,

General For Loop,


Countdown, Count By Twos, Count By Sevens, Powers of Two, For Loop Examples, For Loop Sum, Better Sum, Factorial, All
Dice Values, Random Numbers, Rolling a Die, Flipping a Coin, Lots of Dice, Random Color Square, While Loops, While Loop
Countdown, Inventory, Fibonacci, Loop and a Half, Adding Up Numbers, Snake Eyes, Better Password Prompt, Functions
and Parameters 1, Double Number, Square, Triple, Functions and Parameters 2, Sum Function, Area of Triangle, Height in
Meters, Functions and Parameters 3, Draw Circles, Horizontal Lines, Graphics Stop Light, Pool Table, Functions and Return
Values 1, Double Number, Square with Return Values, Triple with Return Values,
Functions and Return Values 2,
Return Values, Is It Even?, Max, Local Variables and Scope, Return Values, Local Variables, Ghosts, Guessing Game and Draw
Something

Curriculum Development Resources: http://codehs.com/

Unit 5
Animation and Games

10

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
Unit Summary:
Students will expand on the knowledge acquired in the previous unit and develop more interactive
applications using graphics and animations. Concepts covered previously will be mastered and applied.

Interdisciplinary Connections/Content Area Integrations:


technology, mathematics, reading, writing

NJCCCS
8.1.12.B.01 Creativity and
Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:
Define what a computer game is? What makes a computer game a good game? What is user
interactivity? Now that you have made your first game, what are some other games you think you can make?

Instructional Outcomes:
What will the students learn? SWBAT:
Use the Timer command
Differentiate between when to use the Timer command and the While loop
Identify what global variables are
Understand why to use a global variable on an object that you change in a time?
Mix local and global variables when using a timer
Recognize when to use local and global variables
Figure out a way to keep track of information when using a timer
Identify and define what a mouse event is
Design a program with user interaction
Define and identify what a keyboard event is
Design a program with a keyboard event
Define what a key code is
Write general functions
List the importance of using return values when coding

FormativeAssessments:

Completionofdailyassignments
Informalchecksforunderstanding

11

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming

Student handouts
Class discussions and feedback

Students will be graded using the rubric system


They will be graded on their performance and participation
Summative Assessments:
Unit project (or test)

Suggested Learning Activities:


Timers,
Moving Ball, Magic 8 Ball, Crazy Ball, Example: Random Circles, Random Circles,

Spinner, Growing Circle, Paint Splatter, Example: Random Ghosts, Random Ghosts, Random Fireworks, Circle Wall,
Example:
Bouncing Ball, Bouncing Ball, Hotspot Ball, Trail, Mouse Events: Mouse Clicked, Click for Circles, Click for Ghosts, Teleporting
Ball, Pause, Mouse Events: Mouse Moved, Simple Painting, Colorful Drag to Paint, Coordinates, Coordinates (finish up), Target,
Example: Drawing Lines, Drawing Lines, Leash, Key Events, Keyboard Square, Basic Snake, Crazy Ball Game 1, Crazy Ball Game 2,
Drag and Drop, Bricks, Ball and Paddle, Breakout, Catch up, and Finish up module

Curriculum Development Resources: http://codehs.com/

Unit 6
Capstone Project
Unit Summary:
Students will complete a capstone project based on the skills acquired during the course. They will utilize
programming syntax (code) and skills mastered throughout the semester.

Interdisciplinary Connections/Content Area Integrations:


technology, mathematics, reading, writing

NJCCCS
8.1.12.B.01 Creativity and
Innovation (Tech Ed)

Design and pilot a digital learning game to demonstrate knowledge and skills related to one or
more content areas or a real world situation.

8.1.12.A.03 Technology
Operations and Concepts

Participate in online courses learning communities social networks or virtual worlds and
recognize them as resources for lifelong learning.

8.1.12.F.2 Technology
Operations and Concepts

Analyze the capabilities and limitations of current and emerging technology resources and
assess their potential to address educational, career, personal, and social needs.

9.1.12.A.1 21st-Century Life


and Career Skills

Apply critical thinking and problem-solving strategies during structured learning experiences.

Essential Questions:
Define what a computer game is? What makes a computer game a good game? What is user
interactivity? Now that you have made your first game, what are some other games you think you can make?

12

PLUMSTEDTOWNSHIPSCHOOLDISTRICT
AlignedtoCommonCoreStateStandards
CourseTitle:IntroductiontoProgramming
Instructional Outcomes:
What will the students learn? SWBAT

Work collaboratively to complete this project.


Design and create an interactive game using JavaScript and graphics.
Apply various coding techniques such as looping, conditional testing, and Boolean logic.

Test and debug the program.

Formative Assessments:

Completion of daily work on the projects


Informal checks for understanding
Student handouts
Class discussions and feedback

Students will be graded using the rubric system


They will be graded on their performance and participation
Summative Assessments:
Unit project (or test)

Suggested Learning Activities:


TBD-
Students will apply their knowledge of programming to create their own computer
game for pre-school aged students to use. Students will work in groups of 2-3 to complete the final project. The final project
will count as 20% of their overall grade for the course.

Curriculum Development Resources:


http://codehs.com/
,
http://www.exploringcs.org/

13