Click here to download the Education Quality and Accountability Office test results.Click here to download the Ontario Secondary School Literacy Test results.Click here to download the School Plan.   

Course

Selection

Computer Programming

Course Description About AP®

Go to AP

for additional information.

Grade 12 AP® Course Outline

 

 

Course Description 

Computer and Information Science

 

 

Introduction to Computer Studies, Grade 10, Open (ICS2O)

This course introduces students to computer programming. Students will plan and write simple computer programs by applying fundamental programming concepts, and learn to create clear and maintainable internal documentation using Alice. They will also learn to manage a computer by studying hardware configurations, software selection, operating system functions, networking, and safe computing practices. Students will also investigate the social impact of computer technologies, and develop an understanding of environmental and ethical issues related to the use of computers.

Prerequisite: None

 

Introduction to Computer Science, Grade 11, University Preparation (ICS3U)

This course introduces students to computer science. Students will design software independently and as part of a team, using industry-standard programming tools and applying the software development life-cycle model. They will also write and use subprograms within computer programs using Java. Students will develop creative solutions for various types of problems as their understanding of the computing environment grows. They will also explore environmental and ergonomic issues, emerging research in computer science, and global career trends in computer-related fields.

Prerequisite: None

 

Computer Science, Grade 12, University Preparation (ICS4U)

This course enables students to further develop knowledge and skills in computer science. Students will use modular design principles to create complex and fully documented programs, according to industry standards. Student teams will manage a large software development project, from planning through to project review. Students will also analyse algorithms for effectiveness. They will investigate ethical issues in computing and further explore environmental issues, emerging technologies, areas of research in computer science, and careers in the field.

Prerequisite: Introduction to Computer Science, Grade 11, University Preparation

 

 

Computer Science, Grade 12, University Preparation (ICS4UP)

AP® The Advanced Placement Program

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:                Introduction to Computer Science, Grade 11, University Preparation

Strongly Recommend:  Introduction to Computer Science, Grade 11 Open, (ICS2O)

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 $87US.

 EXAM DATE: Tuesday, May 3rd, 2011

 

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