|Course Title :||Introduction to Computer Science, Grade 11, University Preparation (ICS3U)|
|Course Name :||Introduction to Computer Science|
|Course Code :||ICS3U|
|Course Type :||University Preparation|
|Credit Value :||1.0|
|Curriculum Policy Document:||Computer Studies, The Ontario Curriculum, Grades 10 and 12, 2008 (Revised)|
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.
Outline of Course Content
|Unit Titles and Descriptions||Time and Sequence|
|Unit 1: Designing Data Structures
In this unit, students review and extend their knowledge in data structures while focusing on implementation of projects to create and manipulate data constructs. Students apply fundamental fixed-size data structures (arrays, user-defined data types, records, arrays of records) to solutions to real-life problems and suggest possible implications of data storage on people's lives in light of Canadian law. Students use independent study activity to further their mastery of new programming skills in preparation for postsecondary destinations. They also learn to select proper data structures that best match the information and promote program efficiency, code reusability, and maintenance. Students review and reinforce the principles of ergonomics and relate it to the rights of workers. They explore career opportunities in computing and information science related fields.
|Unit 2: Building software libraries
In Managing Software Projects students examine the components of a software project plan and develop a plan, in the context of case studies. They review the components of the software design life cycle and explore project management and team-building techniques. Students create a list of questions, pose the questions to a role-playing client, write a problem definition, analyse, design, implement and maintain a solution
|Unit 3: Exploring advanced algorithms
Students practice the re-use of code by building and sharing code libraries. The libraries are expanded in subsequent units. Students explore the differences between object-oriented and procedural programming as they apply to software libraries. Students also examine library design in the context of file management in network environments. They investigate intellectual property rights and code ownership and the ethics of code re-use by examining and analysing software-licensing agreements.
|Unit 4: Managing Software Projects
Students explore alternative algorithms for solving problems. They examine and program solutions to problems similar to those encountered in ICS3M (e.g., binary search or factorials), using new techniques such as recursion. They also plan solutions to more complex problems using industry-standard methodology (e.g., flow charts, pseudocode, structure charts). Students apply advanced algorithms, such as a recursive sort, to develop more efficient solutions to complex programming problems. Strategies for testing and debugging of programs are developed.
|Unit 5: Project Management and Software development skills
This unit is a culminating challenge in which students work to apply project-management skills, previously learned, to a case study. They plan, develop, test, and document a software solution to a given problem. Students apply complex programming techniques and utilize software libraries.
The first product is a Project, subdivided into three distinct subsections and is worth 15% of the overall course marks. This Project will be evaluated using a marking scheme and a rubric. The second product will be a final exam of well-formulated multiple choice questions requiring information from the whole course.