Click here to download the Education Quality and Accountability Office test results.   

Course

Selection

Computer Programming

Course Description About AP®

Go to AP

for addition Information.

Grade 12 AP® Course Outline

 

Course Description 

Computer and Information Science

 

COMPUTER AND INFORMATION SCIENCE, Grade 10, Open (TIK2O1)

This course introduces students to computer science concepts. Students will learn about the stages in software design; the fundamental programming constructs of sequence, selection, and repetition; the functions of internal and external computer components; the relationship among networks, operating systems, and application software and their uses; and how programming languages evolve. Students will also develop an awareness of computer-related careers. For further information, please contact the Computer Science Department.

Prerequisite: None

 

 

Computer and Information Science, Grade 11 University/College (ICS3M1)

This course helps students examine computer science concepts. Students will outline stages in software development, define standard control and data structures, identify on- and off-line resources, explain the functions of basic computer components, and develop programming and problem-solving skills by using operating systems and implementing defined practices. As well as identifying careers in computer science, students will develop an understanding of the ethical use of computers and the impact of emergent technologies on society. For further information, please contact the Computer Science Department.

Prerequisite:  None

 

 

Computer and Information Science, Grade 12, University/College (ICS4M1)

This course helps students use programming and software engineering principles to design and develop algorithms and programs. Students will use software development and diagnostic tools, implement data structures and algorithms, and use file management techniques in project settings. They will also develop an understanding of the ethics of computer use and the impact of information technology on the community, and will explore postsecondary education and career paths in computer science. For further information, please contact the Computer Science Department.

Prerequisite: Grade 11 Computer and Information Science, University/College (ICS3M1)

 

 

Computer and Information Science, Grade 12, University/College Preparation

AP® The Advanced Placement Program (ICS4MA)

This course allows students to cover all the Ontario Ministry requirements for the grade 12 Computer Information Science course as well as the AP® Advance Placement Computer Science A Course.  Students taking this course and writing the Advance Placement Computer Science A exam may have the opportunity to be eligible for advance standing in most universities across Canada. There are no additional charges for taking the courses, apart from the registration costs for the exams, which will be approximately $120 per course.  All exams are written in May.  While some students take advantage of the first year course exemption, many students opt to study that first year course at university again, and attain an even higher mark once there. The main advantage of taking an AP course remains better preparation for university. It has been shown that students master in depth content at the university level more easily after completing AP courses at the secondary level. Students also acquire sophisticated academic skills and increased self-confidence in preparation for university.  

Prerequisite:                 Computer and Information Science, Grade 11, University/College (ICS3MA)

Strongly Recommend:  Computer and Information Science, Grade 10 Open, (TIK2O1)

Strongly Recommend:  Functions and Relations, Grade 11 University Preparation (MCR3U1)

*Note: Materials Cost - TBA

 

About AP

AP can change your life. Through college-level AP courses, you enter a universe of knowledge that might otherwise remain unexplored in high school; through AP Exams, you have the opportunity to earn credit or advanced standing at most of the nation's colleges and universities.

Why Participate?

With 37 courses and exams across 22 subject areas, AP offers something for everyone. The only requirements are a strong curiosity about the subject you plan to study and the willingness to work hard. Here are just a few reasons to sign up:

Gain the Edge in College Preparation

  •  Get a head start on college-level work.

  •  Improve your writing skills and sharpen your problem-solving techniques.

  •  Develop the study habits necessary for tackling rigorous course work.

Stand Out in the College Admissions Process

  •  Demonstrate your maturity and readiness for college.

  •  Show your willingness to push yourself to the limit.

  •  Emphasize your commitment to academic excellence.

Broaden Your Intellectual Horizons

  • Explore the world from a variety of perspectives, most importantly your own.

  • Study subjects in greater depth and detail.

  • Assume the responsibility of reasoning, analyzing, and understanding for yourself.

How Do I Enroll?

Once you've decided to take the AP challenge it's easy to enroll. Talk to an AP teacher or the Computer Science Department Head about the course you want to take. Discuss the course's workload and any preparation you might need.

Cost

The fee for each exam is approximately $120.

 

 

Grade 12 AP®   Computer Science Course Outline

 

(Download Complete Computer Science Course Description - Click Here)

 

Following is an outline of the major topics covered by the AP Computer Science

Exams. This outline is intended to define the scope of the course but not necessarily

the sequence. The topics in the right-hand column will not be tested on the Computer

Science A Exam.

 

I. Object-Oriented Program Design

The overall goal for designing a piece of software (a computer program) is to correctly

solve the given problem. At the same time, this goal should encompass specifying and

designing a program that is understandable, can be adapted to changing circumstances,

and has the potential to be reused in whole or in part. The design process needs to be

based on a thorough understanding of the problem to be solved.

Computer Science A and AB

 

A. Program design

  1. Read and understand a problem description, purpose, and goals.
  1. Apply data abstraction and encapsulation.
  2. Read and understand class specifications and relationships among the classes (“is-a,” “has-a” relationships).
  3. Understand and implement a given class hierarchy.
  4. Identify reusable components from existing code using classes and class libraries.

B. Class design

  1. Design and implement a class.
  2. Design an interface.
  3. Choose appropriate data representation and algorithms.
  4. Apply functional decomposition.
  5. Extend a given class using inheritance.

 

II. Program Implementation

The overall goals of program implementation parallel those of program design. Classes

that fill common needs should be built so that they can be reused easily in other programs. Object-oriented design is an important part of program implementation.

 

Computer Science A and AB

A. Implementation techniques

1. Methodology

a. Object-oriented development

b. Top-down development

c. Encapsulation and information hiding

d. Procedural abstraction

B. Programming constructs

1. Primitive types vs. objects

2. Declaration

a. Constant declarations

b. Variable declarations

c. Class declarations

d. Interface declarations

e. Method declarations

f. Parameter declarations

3. Console output (System.out.print/println)

4. Control

a. Methods

b. Sequential

c. Conditional

d. Iteration

e. Recursion

C. Java library classes included in the A-level AP Java Subset

 

 

III. Program Analysis

The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications. It also includes the analysis of programs or algorithms in order to understand their time and space requirements when applied to different data sets.

 

Computer Science A and AB

A. Testing

  1. Test classes and libraries in isolation.
  2. Identify boundary cases and generate appropriate test data.
  3. Perform integration testing.

B. Debugging

  1. Categorize errors: compile-time, run-time, logic.
  2. Identify and correct errors.
  3. Employ techniques such as using a debugger, adding extra output statements, or hand-tracing code.

C. Understand and modify existing code

D. Extend existing code using inheritance

E. Understand error handling

  1. Understand runtime exceptions.

F. Reason about programs

  1. Pre- and post-conditions
  2. Assertions

G. Analysis of algorithms

  1. Informal comparisons of running times
  2. Exact calculation of statement execution counts

H. Numerical representations and limits

  1. Representations of numbers in different bases
  2. Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error)

 

 

IV. Standard Data Structures

Data structures are used to represent information within a program. Abstraction is an

important theme in the development and application of data structures.

 

Computer Science A and AB

A. Simple data types (int, boolean, double)

B. Classes

C. One-dimensional arrays

 

 

V. Standard Algorithms

Standard algorithms serve as examples of good solutions to standard problems. Many

are intertwined with standard data structures. These algorithms provide examples for

analysis of program efficiency.

 

Computer Science A and AB

A. Operations on A-level data structures previously listed

  1. Traversals
  2. Insertions
  3. Deletions

B. Searching

  1. Sequential
  2. Binary

C. Sorting

  1. Selection
  2. Insertion
  3. Mergesort

 

 

VI. Computing in Context

A working knowledge of the major hardware and software components of computer

systems is necessary for the study of computer science, as is the awareness of the

ethical and social implications of computing systems. These topics need not be

covered in detail but should be considered throughout the course.

 

Computer Science A and AB

A. Major hardware components

  1. Primary and secondary memory
  2. Processors
  3. Peripherals

B. System software

  1. Language translators/compilers
  2. Virtual machines
  3. Operating systems

C. Types of systems

  1. Single-user systems
  2. Networks

D. Responsible use of computer systems

  1. System reliability
  2. Privacy
  3. Legal issues and intellectual property
  4. Social and ethical ramifications of computer use