AP CS Principles with Swift
Instructor: Ms. Ashley Brooks
*See Google Classroom for assignments updated.
Have you ever had an idea for an app and wondered how to make it happen? If so, this course was designed for you. Students learn key computing concepts, building a solid foundation in programming with Swift as they prepare for the AP® Computer Science Principles exam. They’ll learn about the impact of computing and apps on society, economies, and our culture while exploring iOS app development. Lessons take students through the app design process: brainstorming, planning, prototyping, and evaluating an app of their own.
The AP® Computer Science Principles course is designed to be the equivalent of a first-semester introduction to computer science course at the college level. It focuses on five Big Ideas that encompass foundational concepts of computer science.
3. Algorithms and Programming
4. Computing Systems and Networks
5. Impact on Computing
Each Big Idea is divided into a series of Enduring Understandings that students should understand about that Big Idea.
These are broken up into specific Learning Objectives, which are linked to one or more Essential Knowledge statements.
Students will learn the Essential Knowledge statements to demonstrate an understanding of a particular Learning Objective. In general, each Learning Objective covers about one class period worth of material.
Computational Thinking Practices
In addition, the AP® Computer Science Principles course contains six Computational Thinking Practices that describe how students will explore the different Learning Objectives. Students can think of the Learning Objectives as the what and the Computational Thinking Practices as the how.
P1: Computational Solution Design. Students will engage in this practice as they define and develop their own solutions to exercises in the Xcode playgrounds that accompany the lessons. Choice and collaboration with others guide students' creation and evaluation of computational solutions.
P2: Algorithms and Program Development. Students will use language and pseudocode to represent algorithms in various unplugged activities. They’ll implement and apply algorithms in Swift throughout the course, particularly in the Create Task portion in which they use Xcode to create an original app or playground.
P3: Abstraction in Program Development. Students will engage in abstraction throughout the course.
Unit 2: QuestionBot App particularly focuses on the development of functions as a strategy to manage the complexity of code.
P4: Code Analysis. Students will troubleshoot and debug sections of their code that don’t work. They’ll also use Xcode playgrounds to see the effects of their changes in real time, which will help them analyze and fix problems.
P5: Computing Innovations. A number of Design activities ask students to discuss the impacts of computing innovations with partners. Students will also explore collecting, analyzing, and visualizing data in Unit 3: BouncyBall App.
P6: Responsible Computing. Students explore safe and ethical uses
of computing devices, particularly in the episodes between each lesson. The episodes follow the story of a student film club and the various ways they use apps, networks, and social media to plan an event.
It was great learning keynotes and clips for presentations with @AppleEDU and I can certainly see my students having fun and being creative with these tools!
Class Sections taken this course will be as follow:
AP Computer Science Principles with Swift 2- Brooks
Google Classroom Link & Code- https://classroom.google.com/c/MzE5NzgzMTkyMjU0?cjc=3ry7kxa
Links to worksheets, PowerPoints, and other class materials will be posted here. This is also where you will upload assignments for submission and view teacher feedback.
Grades will be available to students and parents through Genesis.
The following provides an approximate breakdown of how each type of assignment contributes to your overall performance in the class.
25% Summative Evaluations
*Note: Every week there will be an assessment of some sort (i.e. quiz, test, project) and homework will be assigned every class. It is expected each student to program roughly 5hrs/week (includes inside and outside class time)