Computer Science Principles
Learn how to effectively teach the AP Computer Science Principles course; give your students a broad background in computer science including programming, algorithms, abstractions, data and the Internet. Select the curricular materials that will work best for you and your students from all that are available. Practice programming activities in different languages and environments, so that you can transfer your knowledge to the language and environment you choose for your class. Differentiate your learning activities to effectively reach students of diverse backgrounds, and effectively prepare your students for the Performance Task and the multiple choice AP Exam.
What to Bring:
Each student should bring a laptop or Chomebook
The new Computer Science Principles course introduces students to the foundational concepts of computer science, and challenges them to explore how computing and technology can impact the world. Explore the major areas of study organized around Creativity, Abstraction, Data and Information, Algorithms, Programming, The Internet, and Global Impact. Discuss the learning objectives which will be the targets of assessment for the AP course.
● Choose curriculum and develop a syllabus for your AP CSP course.
● Teach programming using both block-based and text-based languages.
● Teach how the Internet operates, and guide students in understanding related issues of privacy and security.
● Guide students in developing and explaining algorithms.
● Guide students in developing, using, and explaining abstractions in numbering systems, computers and networks, and in programs.
● Guide students in analyzing, visualizing and interpreting large data sets.
● Guide students in researching, analyzing and communicating about the impacts of computing.
● Prepare students to successfully complete the two Performance Tasks and take the AP Exam.
● Goals of the Course
o What is Computer Science Principles?
o College Board definition/Course & Exam Description
o CSP Framework
o Endorsed Curriculum Providers
● Preparing to Teach CSP
o CollegeBoard.org resources
o Learning Objectives, Enduring Understandings & Essential Knowledge
o Content & Pacing
● Teaching Block-Based Programming
o Sequence, Iteration & Decision
o Variables & Lists
o Code Blocks
o Event-Driven Programming
● Work on Course Syllabus Assignment
● Teaching Text-Based Programming
o Programming Environments
o Tutorials & learning resources
o Input, output, program structure, functions
o Variables & lists
● Teaching Computational Thinking
o Coding & Computational Thinking
o Google’s Computational Thinking Videos
o Computational Thinking Lessons
o CS Unplugged
● Using College Board’s MyAP for Teaching
● Teaching About Data
o Data in Spreadsheets
o Finding Data Sets
o Data Abstraction Example
● Teaching About the Internet
o Code.org’s Internet Simulator
o Videos & activities
o Internet abstractions
● Preparing Students for the “Create” Performance Task
o Assignment & requirements
o Documenting with video
● Work on Mock Performance Task – “Create”
● Preparing Students for the AP Exam
o Exam Reference Sheet
o Sample Questions
o Practice Exam
● Engaging All Students
o Career & Workforce Data
o Pair Programming
o Voice & choice
o Differentiating Instruction
Chuck Powell has been a high school science and computer science teacher for 35 years. He has taught AP Physics since 2009 and AP Computer Science A for since 2008,and AP Computer Science Principles since 2013. Chuck has served as an AP Computer Science Principles consultant for four years, teaching Summer Institutes and Saturday Workshops for the College Board. Chuck was a member of Colorado’s Computer Science Standards Development Team from 2017-18, as well as President of the Colorado Chapter of CSTA from 2015-18.