ICS4U: Information for students
Welcome to grade-12 computer science!
Are you ready for another year of computer-science success? For that success, you’ll need a commitment to hard work and prompt daily attendance with completed homework and a cheerful, cooperative attitude.
On this page, you’ll find the basic information you need for a good start. Let’s work together—you, me, and your parent/guardian—to reach your CS goals!
- M. Arkin
- teaching lab: Lab C15
- office: Computing Clubhouse, room C14
- pencils, self-contained sharpener, good-quality eraser, pens, 30-cm ruler, highlighter
- lined note paper
- 3-ringed binder
- subject dividers
- USB flash drive for back-ups and transfers between home and school
- headphones or ear buds for multimedia work
Course overview (Ontario curriculum)
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 analyze 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.
Strand 1: Programming concepts and skills
- demonstrate the ability to use different data types and expressions when creating computer programs
- describe and use modular programming concepts and principles in the creation of computer programs
- design and write algorithms and subprograms to solve a variety of problems
- use proper code maintenance techniques when creating computer programs
Strand 2: Software development
- demonstrate the ability to manage the software development process effectively, through all of its stages—planning, development, production, and closing
- apply standard project management techniques in the context of a student-managed team project
Strand 3: Designing modular programs
- demonstrate the ability to apply modular design concepts in computer programs
- analyze algorithms for their effectiveness in solving a problem
Strand 4: Topics in computer science
- assess strategies and initiatives that promote environmental stewardship with respect to the use of computers and related technologies
- analyze ethical issues and propose strategies to encourage ethical practices related to the use of computers
- analyze the impact of emerging computer technologies on society and the economy
- research and report on different areas of research in computer science, and careers related to computer science
Course overview (IB Syllabus)
Computer science requires an understanding of the fundamental concepts of computational thinking as well as knowledge of how computers and other digital devices operate.
The Diploma Programme computer science course is engaging, accessible, inspiring and rigorous. It has the following characteristics:
- draws on a wide spectrum of knowledge
- enables and empowers innovation, exploration and the acquisition of further knowledge
- interacts with and influences cultures, society and how individuals and societies behave
- raises ethical issues
- is underpinned by computational thinking.
Computational thinking involves the ability to:
- think procedurally, logically, concurrently, abstractly, recursively and think ahead
- utilize an experimental and inquiry-based approach to problem-solving
- develop algorithms and express them clearly
- appreciate how theoretical and practical limitations affect the extent to which problems can be solved computationally.
During the course the student will develop computational solutions. This will involve the ability to:
- identify a problem or unanswered question
- design, prototype and test a proposed solution
- liaise with clients to evaluate the success of the proposed solution and make recommendations for future developments.
Computer science has links with subjects outside of group 4, notably information technology in a global society (ITGS), but it should be noted that there are clear differences between the subjects.
Computer science and the international dimension
Computer science itself is an international endeavour—the exchange of information and ideas across national boundaries has been essential to the progress of the subject. This exchange is not a new phenomenon but it has accelerated in recent times with the development of information and communication technologies.
The development of solutions may be at a local, national or global scale and lies at the heart of the subject. Therefore teachers of computer science should study a range of examples from different geographical locations as well as at different scales.
Developments such as open source software and the emergence of social networking epitomize the global nature of the subject. Internet forums exist that welcome ideas and solutions developed from computer scientists from all continents in driving forward developments to different software types. These developments have revolutionized the way that people, and in particular the young, interact.
On a practical level, the group 4 project (which all science students must undertake) mirrors the work of computer scientists by encouraging collaboration between schools across the regions.
Distinction between SL and HL
While the skills and activities of computer science are common to students at both SL and HL, students at HL are required to study additional topics in the core, a case study and also extension material of a more demanding nature in the option chosen. The distinction between SL and HL is therefore one of both breadth and depth.
Additionally, the HL course has 240 hours devoted to teaching, compared with 150 hours for the SL course.
Students at SL and HL in computer science study a common core consisting of:
- four topics (system fundamentals; computer organization; networks; and computational thinking, problem-solving and programming)
- one option (chosen from databases; modelling and simulation; web science; or object-oriented programming)
- one piece of internally assessed work, which includes a computational solution.
The HL course has three additional elements:
- three further topics (abstract data structures; resource management; control)
- additional and more demanding content for the option selected
- an additional externally assessed component based on a pre-seen case study of an organization or scenario; this requires students to research various aspects of the subject—which may include new technical concepts and additional subject content—in greater depth.
- System fundamentals
- Computer organization
- Computational thinking, problem-solving, and programming
- Abstract data structures
- Resource management
- Objects as a programming concept
- Features of OOP
- Program development
- Advanced program development (HL)
- 25%: knowledge and understanding
- 30%: application
- 20%: communication
- 25%: thinking
- 70%: term mark
- 30%: culminating activities
Learning skills, marked as excellent, good, satisfactory, or needs improvement:
- independent work
IB assessment: HL
- 40%: Examination paper 1
- 20%: Examination paper 2
- 20%: Examination paper 2
- 20%: Internal assessment
IB assessment: SL
- 45%: Examination paper 1
- 25%: Examination paper 2
- 30%: Internal assessment
You are encouraged to read and to understand the computer studies Achievement Categories.
This page is an abridgement of Computer Studies: The Ontario Curriculum, Grades 10 to 12, 2008, and Diploma Programme Computer science guide: First examinations 2014, 2012.
[This page last updated 2020-12-23 at 12h45 Toronto local time.]
© 2007–2021 Hersch, Bear & Company Limited. All rights reserved. “Grammar Authority,” “grammarauthority.com,” “touque.ca,” and “Canada’s Thinking Cap” are trademarks of Hersch, Bear & Company Limited. All other trademarks and copyrights are the property of their respective owners.