Course Syllabus

2022 - 2023Syllabus

Faculty

Section Teacher
F Mx. JC Fung

Contacting Me

As the teacher for this course, I can be contacted in the following ways:

First Peoples Principles and Land Acknowledgement

I acknowledge that the land on which we gather is the unceded territory of the Coast Salish Peoples, including the territories of the xʷməθkwəy̓əm (Musqueam), Skwxwú7mesh (Squamish), and Səl̓ílwətaʔ/Selilwitulh (Tsleil-Waututh) Nations. We are honoured to live, work, and play on this land together.

As part of contribution to reconciliation, this course makes First Peoples Principles of Learning visible in class by:

  • Supporting the well-being of the self, the family, the community, the land, the spirits, and the ancestors by making learning relevant, context specific, and aims to build ethical, empathic, responsible citizens
  • Recognizing learning is embedded in memory, history, and story, thus incorporating these elements into our lessons and discussions
  • Focusing on connectedness and reciprocal relationships that can be built through computing technology and networks
  • Exploring one’s identity by exploring one’s interests and personal connections to the curriculum

Course Description

Following on from Computer Science 11, AP Computer Science A is a foundational course in object-oriented programming concepts through the use of Java. This course is designed to challenge students to develop a thorough and detailed understanding of core computer science ideas. Students will be encouraged to use documentation, discussion, and reflection to develop a mature and consistent programming practice.

Assessment and Evaluation

A student's final mark will be determined by evaluation of their ability to demonstrate proficiency in these skills and learning these concepts.

Major assessments for this course include:

  • Assignments
  • Major design project or final exam

Any students who would like to discuss feedback, performance, assessments, and grades, are encouraged to email the teacher or arrange a meeting to discuss their concerns.

Skills

The following outcomes will be assessed several times throughout the course. The final grade of each outcome will be calculated using a decaying average, where the most recent assessment of the outcome makes up 50% of the grade and the remaining 50% of the grade is an average of the previous assessments.

  • Impact of computing (15%):
    • Demonstrate awareness of privacy, security, and ethical issues concerning computing topics
    • Discuss decisions and consequences around software development choices
  • Documentation (15%):
    • Describe the behaviour and conditions that produce identified results in a program
  • Implementation (10%):
    • Determine the output, value, or result of given program code given initial values
    • Determine required code segments to produce a given output
    • Write and implement program code
  • Testing (10%):
    • Analyze program code for correctness, equivalence, and errors
  • Computational thinking (10%):
    • Apply computational thinking techniques to develop algorithms
    • Incorporate elements of abstraction to break down complex programs down into individual classes and methods
  • Design thinking (10%):
    • Apply design thinking cycle to develop software, discuss and critique design of computing technologies

Content

The following outcome will be assessed several times throughout the course. The final grade of this outcome will be calculated using an average of all assessments of this outcome.

  • Java language (30%):
    • Use, sort, access, and manipulate data, variables, and data structures to organize information and implement algorithms
    • Use appropriate control structures, syntax, and specifying the order in which instructions are executed, thinking algorithmically in order to define and interpret processes that are used in a program

Both the school’s assessment expectations and supports that teachers provide can be found online. Academic dishonesty to any degree is not acceptable.

There are a variety of academic supports available at St. George’s for students. Students are encouraged to take advantage of the range of supports available to them which include:

  • Faculty support
  • Support Block
  • Head of Grade
  • Student Success Centre
  • Personal Counselling

Learning Resources

This course syllabus, all current unit and major assessments for the current term, and a plethora of helpful learning resources can be found on my Canvas page. 

Resources that will be used as part of this course include:

Course Expectations

St. George’s School expects all students at the Senior School to be interested and motivated in achieving their personal best while at the School. We expect students will be engaged in their endeavours, responsible to their studies, classmates and teachers, and demonstrate integrity in their pursuit of learning.

Workload

The workload of this course is expected to be:

  • Time will be given in class for assignments and project work
  • Students may expect to spend up to 1-2 hr/day at home preparing for class, completing assigned work, or reviewing class content

Submitting work

Students in this course are expected to complete work assignments on the date assigned and to submit their work on Canvas.

If circumstances prevent the student from completing a work assignment on the assigned due date, the student must inform the teacher prior to the due date for the work assignment. The teacher will select a second due date through 5th block system.

Learning Plan

Unit Learning

1

Fundamentals

13 September 2022 - 10 November 2022

Understand

  • Programs rely on variables to store data
  • Variables create data abstractions
  • Doing things in order, making decisions, and doing the same process multiple times are represented in code by using control structures and specifying the order in which instructions are executed

Do

  • Program a basic user interface
  • Troubleshoot basic Java code
  • Read and create a basic flowchart
  • Read and create a truth table

Know

  • Primitive types
  • Boolean expressions
  • Iteration

2

OOP Basics

15 November 2022 - 14 December 2022

Understand

  • Incorporating elements of abstraction makes writing complex programs easier
  • Abstracting simplifies concepts and processes by looking at the big picture
  • Modularity in object-oriented programming allows us to use abstraction to break
    complex programs down into individual classes and methods
  • Computers and computing have revolutionized our lives

Do

  • Create and modify a Java program using basic OOP concepts
  • Document Java code
  • Discuss computing history

Know

  • Classes
  • Objects
  • Methods

3

Algorithms and Arrays

9 January 2023 -
15 February 2023

Understand

  • Information used as a basis for reasoning, discussion, or calculation is referred to as data
  • To use computing safely and responsibly, we need to be aware of privacy, security, and ethical issues

Do

  • Identify computational thinking techniques in standard algorithms
  • Create and modify a Java program using data structures
  • Analyze and discuss ethics and impacts of computing technology

Know

  • 1D and 2D arrays
  • ArrayLists
  • Algorithms

4

Deep OOP

21 February 2023 - 

1 May 2023

Understand

  • Programmers need to think algorithmically in order to define and interpret processes that are used in a program
  • As programmers, we need to understand how our programs will be
    used and be responsible for the consequences.

Do

  • Create and modify a Java program using advanced OOP concepts
  • Identify and communicate context of modern computing technology
  • Identify and critique design of computing technology

Know

  • Inheritance
  • Recursion

 

Literacy/Numeracy

This course makes literacy/numeracy visible by using the following comprehension tasks and strategies:

  • Comprehend information presented orally, textually, numerically, and visually to learn key course content, concepts, and skills
  • Write documents and perform presentations to communicate ideas and work

Core Competencies

This course incorporates Core Competencies into the routines, learning, and culture of the class in the following ways:

  • Inquiry: Experimenting through different activities and ideas; fostering a sense of curiosity
  • Creativity: Developing a body of creative work over time; using strategies to adapt to challenges; building on others' ideas and adding new ideas
  • Communication: Sharing information, ideas and work; giving and receiving feedback; reflecting on activities, work, and feedback
  • Identity: Reflecting on strengths and areas for growth; explaining my values and how they affect the choices made
  • Perspective: Understanding the viewpoint of others; accepting continual personal growth
  • Leadership: Taking ownership of goals, learning, and behaviour; using strategies to manage feelings and emotions

 

Course Summary:

Date Details Due