slides - MAPLE Lab

advertisement
+
Computer Science Principles:
A New AP Concept
Marie desJardins
Google CS4HS Professional Development
Workshop
UMBC, August 6, 2012
+
Overview


What is “CS Principles??

Goals and motivation

Six Computational Thinking Practices

Seven Big Ideas of Computer Science
Status

Phase I pilot courses (2011-2012)

Phase II pilot courses (2012-2013)

Implementation/adoption timeline

Resources

Hands-on time!

Example active learning activities from pilot courses / UMBC
+
What is CS Principles?
+
What’s Wrong with AP CS?

AP CS A(B)

AP CS is the only AP course whose numbers have declined in
recent years

The College Board dropped AP CS B after 2009

Completely counterintuitive given the job demand!!

Gender balance of current AP CS A is the lowest of any exam
(below 20%)

Why is this the case?

AP CS A(B) = Java programming

Not what computer science is really all about

Not appealing to many students (especially girls and minorities)

Not tied to real problems

Not related to bigger ideas in computer science
+
AP CS Principles:
Goals and Motivation

Only 9 states (not Maryland...) allow CS to fulfill a math or
science requirement at the HS level (none have a CS
requirement)


Difficult for students to gain enough experience to make it into AP
CS; students need intrinsic interest to try CS as an elective
Idea: Develop an AP class focused on getting students
excited about computer science

Especially: appeal to female and minority students

Not just a programming class

Relevant to the real world

Broad view of the discipline of computer science
+
Computational Thinking Practices
1.
Connecting computing...
to applications and problems that matter to students and society
2.
Developing computational artifacts...
that require creativity and problem solving
3.
Abstracting...
at multiple levels, from logic gates to the human genome
4.
Analyzing problems and artifacts...
to understand tradeoffs, strategies, and alternative solutions
5.
Communicating...
about problems, designs, solutions, and behaviors
6.
Collaborating...
to combine diverse viewpoints and skills to solve problems
+
Big Ideas of Computer Science
1.
Computing is a creative activity.
2.
Abstraction reduces information and detail to facilitate
focus on relevant concepts.
3.
Data and information facilitate the creation of
knowledge.
4.
Algorithms are used to develop and express solutions
to computational problems.
5.
Programming enables problem solving, human
expression, and creation of knowledge.
6.
The Internet pervades modern computing.
7.
Computing has global impacts.
+
AP CS Principles:
Status and Timeline
+
Phase I Pilot Courses

Five pilot sites in 2010-2011:

Metropolitan State College of Denver: Living in a Computing World

UC Berkeley: The Beauty and Joy of Computing

UC San Diego: Fluency with Information Technology

UNC Charlotte: The Beauty and Joy of Computing

University of Washington: Computer Science Principles

Ten high schools paired with ten colleges in 2011-2012

Pilot efforts included:

Recruitment plan for increasing enrollment of women and
underrepresented minorities

Detailed, fine-grained course evaluation
+
Phase II Pilot Courses

Phase II pilots include:


Portfolio component for assessment (may be used as part of the
AP exam)
Nine(?) Phase II paired university/high school pilots:
http://www.csprinciples.org/home/pilot-sites

None in Maryland

U Penn (South Philadelphia High School)

Virginia Tech (Patrick Henry High School)
+
AP CS Principles:
Topics and Resources
+
UC Berkeley
Beauty and Joy of Computing
http://inst.eecs.berkeley.edu/~cs10/

Abstraction

Artificial intelligence

3D graphics and computer
games

Distributed computing

Algorithms

Limitations and future of
computing

Programming in Scratch

Concurrency, complexity, and
recursion

Social implications of
computing
+
University of Washington
Computer Science Principles
http://www.cs.washington.edu/education/courses/cse120/

Image representations

CPU / instruction execution
“Digitization” (binary
representations)

Universal computation

Social networking

Algorithm design and
recursion

Programming in Processing

The Internet/World Wide Web

HTML and XML

Databases



Lightbot 2.0 (programming
game environment)
Networks and digital
communication
+
UMBC
Intro. to Computers and Programming
http://www.csee.umbc.edu/courses/undergraduate/100/Fall12/

Grand challenges for CS

Networks and the Internet

Deconstructing Google

Databases and data abstraction

Deconstructing a computer

Computer security and privacy

Binary representations and
digital encoding

Artificial intelligence

Computer graphics and digital
entertainment

Ethical and social implications of
computing

The future of computing

Programming with Scratch

Problem solving with
algorithms
+
Resources

ACM Inroads, volume 3, number 2, June 2012
(special sections on CS Principles)

http://csprinciples.org


Curriculum, pilot sites

Attesting schools:
http://www.csprinciples.org/home/about-the-project/attestation
(UMBC was the second school to sign up...)
http://collegeboard.org/csprinciples
+
Active Learning Activities
+
Exercise #1: Google

Computational thinking practices: Connecting computing;
analyzing problems and artifacts

Big ideas: Internet; data and information; global impacts

Activity: Googlewhack, Googlefights, PageRank, Googlefail

Create your own googlefail!

Discussion: What happens when we post the googlefail to
our site? How long until it shows up in google? What’s
happening in between? How does PageRank work?

Followup lab/project: Bonus points to the first student who
spots the googlefail results; compute PageRank for a simple
example network; implement PageRank on a graph
+
Exercise #2: Huffman Coding

Computational practices: Abstracting; developing
computational artifacts

Big ideas: Abstraction; data and information

Activity: Encode a passage from “Sam I Am” using a Huffman
encoding (preliminary exercise: translate from Huffman code)

Discussion: Why are frequency-based encodings useful?
How much space could one potentially save? What are some
practical applications? Is Morse code a Huffman (optimal)
encoding? Does gzip use Huffman encoding?

Followup lab/project: Implement a Huffman encoding and
print out length statistics for non-encoded and Huffmanencoded text. Find text sources that would compress a lot,
and text sources that wouldn’t compress very much.
a
l
t
o
SPC
y
w
e
!
c
m
p
s
u
Decode the Message: 0111110010100101011011100011110111110110 010 00111111110 010
0110001110 010 0110001110 010 0110001110 010
0001100000100100000000110 010 011111001000000 01110
r
+
Green Eggs and Ham
I am Sam
I am Sam
Do you like
green eggs and ham?
Sam I am
That Sam-I-am!
That Sam-I-am!
I do not like them,
Sam-I-am.
I do not like
I do not like
that Sam-I-am!
green eggs and ham.
+
Exercise #3: Map Coloring

Computational thinking practices: Abstracting and
collaborating

Big ideas: Creativity; algorithms

Activity: Find a way to color each map region (person) so
that no neighbors have the same color

Discussion: Why is this a hard problem? How many colors
do you really need? What are some strategies? What are
some real-world problems that might require similar
strategies?

Lab/project: Implement a backtracking search algorithm to
color a map; optionally integrate into drawing tool to let
students create their own map
2
1
5
3
6
4
9
8
7
12
11
16
17
21
15
14
13
19
18
22
10
20
Download