Richard Kick
Richard Kick teaches math and computer science at Newbury Park High School. Rich earned a mathematics education degree from the University of Illinois at Urbana Champaign and a master’s degree in mathematics from Chicago State University. He taught Advanced Placement® (AP) computer science using Pascal beginning in the first year of AP computer science, followed by C++ and then Java. After working as a C++ programmer at Fermi National Accelerator Laboratory, Rich served as a College Board exam reader, table leader, question leader, and Computer Science Test Development Committee member. He is a former member of the APCS A and AB Development Committee, a five-time Computer Science Principles Pilot instructor, a former co-chair of the Computer Science Principles Development Committee, and a current teacher of APCSA and APCSP.
Course Description
This APSI is designed to provide opportunities to both new and experienced AP Computer Science A teachers for exploring the AP Computer Science curriculum (including the AP Labs), available online resource materials for teaching the APCS A course, effective teaching and assessment strategies, and the Java programming language. Workshop participants will become familiar with the Course and Exam Description (CED), the Big Ideas, Computational Thinking Practices (Skills), Learning Objectives, and Essential Knowledge statements associated with APCSA, The CED will be used throughout the APSI as a tool for effective planning and teaching of the APCSA course. The resources provided by the College Board site https://apclassroom.collegeboard.org/ will be presented and discussed in the context of lesson creation, formative assessment, and student exam preparation. Online teaching tools and techniques will be demonstrated and discussed as course content is presented. Many ideas and techniques used to present materials in the APSI will reflect lessons that participants can immediately use in their own classroom. The topics of student recruitment, equity, access, and lesson scaffolding will also be presented and discussed. Former AP Computer Science Exam questions will be examined and past student responses will be scored in order to provide valuable insights into scoring rubrics and the requirements expected of students that intend to successfully complete the AP exam.
Agenda
Four Day Course- July 12-15, 2021
Day 1
- Virtual Welcome and Introduction of the Participants and the Instructor. Introduction to Online Learning Tools – Features and Uses. Developing Protocols for the Use of Online Teaching Environments.
- Sharing experiences teaching computer science using traditional techniques and online techniques. Sharing teacher priorities for the week.
- The APCSA Course and Exam Description (CED). Teachers will discuss the CED, Big Ideas, Computational Thinking Practices, and Course Units. https://apcentral.collegeboard.org/pdf/ap-computer-science-a-course-and-exam-description.pdf?course=ap-computer-science-a
- Teaching Strategies (Traditional and Online) for Teaching Object Oriented Programming (OOP).
- Programming Environments (Downloads and Online) for Creating Java Programs
- Starting an APCSA Course – Resources, Recruitment, Equity, Journals, etc.
Break
- Types – Fundamental Data Types, User-defined Types, Objects, Declarations, Definitions (Initialization).
- Control Structures – Conditionals, Iteration, Methods
- Using BlueJ to Create Java Programs – Procedural and Object Oriented Examples
- The String Class – Using Labs https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
Day 2
- Strategies for the Effective Use of Online Learning Tools – APClassroom, Runestone Academy, Codingbat, Java Quick Reference, APCSA Free Response Questions, etc. https://apclassroom.collegeboard.org/ https://runestone.academy/runestone/books/published/apcsareview/index.html https://codingbat.com/java https://apstudents.collegeboard.org/ap/pdf/ap-computer-science-a-java-quick-reference_0.pdf https://apcentral.collegeboard.org/courses/ap-computer-science-a/exam/past-exam-questions
- Building Java Programs using Simple Input and Output
- Achieving Equity in APCS
Break
- Arrays – 1 Dimensional (1D)
- Common Algorithms Associated with 1D Arrays
- Traditional for Loops versus Enhanced for Loops
- Problems Solving with 1D Arrays using Codingbat
- Problems Solving with 1D Arrays using AP Classroom
Day 3
- The ArrayList Class https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
- Common Algorithms Associated with ArrayList
- Comparing and Contrasting 1D Arrays and ArrayList Objects
- Problem Solving using ArrayList Objects
- The List Interface – Not Testable on the APCSA Exam, but Good to Know https://docs.oracle.com/javase/8/docs/api/java/util/List.html
Break
- Arrays – 2 Dimensional (2D)
- Comparing and Contrasting 1D Arrays and 2D Arrays
- Problems Solving with 2D Arrays using Codingbat
- Problem Solving with 2D Arrays using AP Classroom
Day 4
- Creating Classes – Defining Types
- Reviewing the Concepts of Class, Object, Type
- Creating Classes for Past APCSA Exam Questions
- Enhancing Understanding of Classes Using Labs https://apcentral.collegeboard.org/courses/ap-computer-science-a/classroom-resources/lab-resource-page
- Inheritance and Class Hierarchies – Building Classes from Classes
- Enhancing Understanding of Inheritance Using Labs
- Problem Solving with Inheritance using AP Classroom
Break
- The APCSA Exam – Past, Current, Future
- AP Reading – Scoring APCSA Free Response Exam Questions
- AP Course Audit
- Released APCSA Multiple Choice Exams
- Planning Your APCSA Course
- Creating an Instructional Plan by Unit and Topic in an Academic Calendar
- Interpreting Data within the Instructional Planning Report
- Creating Resources for your APCSA Course
- Conferences and Teacher Professional Development http://csta.acm.org/ http://csta.acm.org/ProfessionalDevelopment/sub/CSITConference.html
- http://www.sigcse.org/
- http://apac.collegeboard.org/