Grade: Grade 11
Course Title: Introduction to Computer Science
Course code: ICS3U
Course Type: Pre-University
Credit value: 1.0
Pilot course: None
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. 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.
Unit Titles and Descriptions
The Computing Environment
In this unit students will examine fundamental aspects of the computing environment including hardware specifications, peripheral devices, software and applications, operating systems and basic programming codes and languages.
This unit investigates the essential philosophy and logic of programming, including models for input, output, and processing. Students will learn strategies to plan programming tasks, including pseudo-code. Students will construct simple programs using a different logical, mathematical and algorithmic strategies.
This unit students will develop more advanced programs, and investigate elements of the software design cycle including: determining program specifications from clients, developing milestones, the products of software development, and the strategies behind debugging and troubleshooting
Ethics and Information Storage
In this unit students will learn about the impacts of technology and investigate computer ethics. Students will use various problem solving strategies to collect input, store information, and generate outputs. Students will learn to read and write information to data files. This unit also investigates various ethical issues arising in computer science.
Using Data Structures
In this unit students learn how to create arrays, and how to write programs that declare, initialize, modify and access these arrays. Students will write algorithms with nested structures, and sub-programs, and algorithms that perform simple data management tasks.
This is a programming project representing the stages in the software development cycle worth 15% of the final grade.
This is a proctored exam worth 15% of your final grade.
Overall Curriculum Expectations
A. Programming Concepts and Skills
demonstrate the ability to use different data types, including one-dimensional arrays, in computer programs.
demonstrate the ability to use control structures and simple algorithms in computer programs.
demonstrate the ability to use subprograms within computer programs
use proper code maintenance techniques and conventions when creating computer programs.
B. Software Development
use a variety of problem-solving strategies to solve different types of problems independently and as part of a team;
design software solutions to meet a variety of challenges
design algorithms according to specifications.
apply a software development life-cycle model to a software development project.
C. Computer Environments and Systems
relate the specifications of computer components to user requirements.
use appropriate file maintenance practices to organize and safeguard data
demonstrate an understanding of the software development process.
D. Topics in Computer Science
describe policies on computer use that promote environmental stewardship and sustainability
demonstrate an understanding of emerging areas of computer science research
describe postsecondary education and career prospects related to computer studies.
Teaching and Learning Strategies:
The aim of this course is to introduce students to computer programming. In order to achieve this goal, a wide variety of instructional strategies are used to provide learning opportunities to accommodate a variety of learning styles, interests, and ability levels. The following are used throughout the course as strategies for teaching and learning the concepts presented:
Communicating: Through the use of discussions, this course offers students the opportunity to share their understanding both in oral as well as written form.
Problem Solving: This course scaffolds learning by providing students with the basic knowledge needed to understand computer science and building off of this knowledge as they progress through the course. The course guides students toward recognizing opportunities to apply knowledge they have gained to solve problems.
Connecting: This course connects the concepts taught to real-world applications (e.g. students will write programs that can read and write files, a very useful skill in many real-world applications).
Representing: Through the use of examples, practice problems, and sample code, the course models various coding practices, poses questions that require students to use different representations as they are working at each level of conceptual development - concrete, visual or symbolic, and allows individual students the time they need to solidify their understanding at each conceptual stage.
Guided Exploration: The course and teacher guide students through the exploration of a variety of coding practices and procedures necessary to be successful in computer science.
Assessment, Evaluation and Reporting Strategies of Student Performance:
Our theory of assessment and evaluation follows the Ministry of Education's Growing Success document, and it is our firm belief that doing so is in the best interests of students. We seek to design assessment in such a way as to make it possible to gather and show evidence of learning in a variety of ways to gradually release responsibility to the students, and to give multiple and varied opportunities to reflect on learning and receive detailed feedback.
Growing Success articulates the vision the Ministry has for the purpose and structure of assessment and evaluation techniques. There are seven fundamental principles that ensure best practices and procedures of assessment and evaluation by Virtual High School teachers. VHS assessments and evaluations,
are fair, transparent, and equitable for all students;
support all students, including those with special education needs, those who are learning the language of instruction (English or French), and those who are First Nation, Métis, or Inuit;
are carefully planned to relate to the curriculum expectations and learning goals and, as much as possible, to the interests, learning styles and preferences, needs, and experiences of all students;
are communicated clearly to students and parents at the beginning of the course and at other points throughout the school year or course;are ongoing, varied in nature, and administered over a period of time to provide multiple opportunities for students to demonstrate the full range of their learning;
provide ongoing descriptive feedback that is clear, specific, meaningful, and timely to support improved learning and achievement;
develop students’ self-assessment skills to enable them to assess their own learning, set specific goals, and plan next steps for their learning.
For a full explanation, please refer to Growing Success.