+ computer science principles: a new ap concept marie desjardins google cs4hs professional...
TRANSCRIPT
+
Computer Science Principles:A New AP Concept
Marie desJardinsGoogle CS4HS Professional Development WorkshopUMBC, 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 Practices1. 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 Science1. 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 BerkeleyBeauty and Joy of Computing
Abstraction
3D graphics and computer games
Algorithms
Programming in Scratch
Concurrency, complexity, and recursion
Social implications of computing
Artificial intelligence
Distributed computing
Limitations and future of computing
http://inst.eecs.berkeley.edu/~cs10/
+University of WashingtonComputer Science Principles
Lightbot 2.0 (programming game environment)
“Digitization” (binary representations)
Social networking
Programming in Processing
Networks and digital communication
Image representations
CPU / instruction execution
Universal computation
Algorithm design and recursion
The Internet/World Wide Web
HTML and XML
Databases
http://www.cs.washington.edu/education/courses/cse120/
+UMBCIntro. to Computers and Programming
Grand challenges for CS
Deconstructing Google
Deconstructing a computer
Binary representations and digital encoding
Programming with Scratch
Problem solving with algorithms
Networks and the Internet
Databases and data abstraction
Computer security and privacy
Artificial intelligence
Computer graphics and digital entertainment
Ethical and social implications of computing
The future of computing
http://www.csee.umbc.edu/courses/undergraduate/100/Fall12/
+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 Huffman-encoded text. Find text sources that would compress a lot, and text sources that wouldn’t compress very much.
a oSPC
tl w
c! pm us
y
re
Decode the Message: 0111110010100101011011100011110111110110 010 00111111110 010
0110001110 010 0110001110 010 0110001110 010
0001100000100100000000110 010 011111001000000 01110
+Green Eggs and Ham
I am Sam
I am Sam
Sam I am
That Sam-I-am!
That Sam-I-am!
I do not like
that Sam-I-am!
Do you like
green eggs and ham?
I do not like them,
Sam-I-am.
I do not like
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
1 2 3
4
5 6
7 89 10
11 1213
14 15
1617 18 19
20
21 22