Computer Science Grade 12, University Preparation (ICS4U)
|Course Title :
|Computer Science, Grade 12, University Preparation (ICS4U)
|Course Name :
|Course Code :
|Course Type :
|Credit Value :
|Introduction to Computer Science, Grade 1, University Preparation, ICS3U
|Curriculum Policy Document:
|Computer Studies, The Ontario Curriculum, Grades 10 and 12, 2008 (Revised)
|Most Recent Revision Date:
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.
Overall Curriculum Expectations
- A1. demonstrate the ability to use different data types, including one-dimensional arrays, in computer programs
- A2. demonstrate the ability to use control structures and simple algorithms in computer programs
- A3. demonstrate the ability to use subprograms within computer programs;
- A4. use proper code maintenance techniques and conventions when creating computer programs
- B1. demonstrate the ability to manage the software development process effectively, through all of its stages – planning, development, production, and closing;
- B2. apply standard project management techniques in the context of a student-managed team project;
- C1. demonstrate the ability to apply modular design concepts in computer programs;
- C2. analyse algorithms for their effectiveness in solving a problem.
- D1. assess strategies and initiatives that promote environmental stewardship with respect to the use of computers and related technologies
- D2. analyse ethical issues and propose strategies to encourage ethical practices related to the use of computers
- D3. analyse the impact of emerging computer technologies on society and the economy
- D4. research and report on different areas of research in computer science, and careers related to computer science
Outline of Course Content
Titles and Descriptions
Time and Sequence
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.
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
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.
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.
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.
When students are engaged in active and experiential learning, they tend to retain knowledge for longer periods and to develop, acquire, and integrate key skills more completely. Some of the teaching and learning strategies that are suitable to material taught in computer studies include:
Guided internet research
Program construction activities
Assessment is a systematic process of collecting information or evidence about a student’s progress towards meeting the learning expectations. Assessment is embedded in the instructional activities throughout a unit. The expectations for the assessment tasks are clearly articulated and the learning activity is planned to make that demonstration possible. This process of beginning with the end in mind helps to keep focus on the expectations of the course. The purpose of assessment is to gather the data or evidence and to provide meaningful feedback to the student about how to improve or sustain the performance in the course. Scaled criteria designed as rubrics are often used to help the student to recognize their level of achievement and to provide guidance on how to achieve the next level. Although assessment information can be gathered from a number of sources (the student himself, the student’s course mates, the teacher), evaluation is the responsibility of only the teacher. For evaluation is the process of making a judgment about the assessment information and determining the percentage grade or level.
Assessment is embedded within the instructional process throughout each unit rather than being an isolated event at the end. Often, the learning and assessment tasks are the same, with formative assessment provided throughout the unit. In every case, the desired demonstration of learning is articulated clearly and the learning activity is planned to make that demonstration possible. This process of beginning with the end in mind helps to keep focus on the expectations of the course as stated in the course guideline. The evaluations are expressed as a percentage based upon the levels of achievement.
A variety of strategies are used to allow students opportunities to attain the necessary skills for success in this course and at the post-secondary level of study. To facilitate learning, the teacher uses a variety of activities engaging the whole class, small groups, and individual students.
The assessment will be based on the following processes that take place in the classroom:
|Assessment FOR Learning
|Assessment AS Learning
|Assessment OF Learning
During this process the teacher seeks information from the students in order to decide where the learners are and where they need to go.
During this process the teacher fosters the capacity of the students and establishes individual goals for success with each one of them.
During this process the teacher reports student’s results in accordance to established criteria to inform how well students are learning.
Classroom discussion Self-evaluation Peer assessment
|Classroom discussion Small group discussion Post-lab conferences
|Presentations of research Debates
|Drama workshops (taking direction) Steps in problem solving
|Presentations Group Presentations
|Reflection journals (to be kept throughout the duration of the course)
Poster presentations Tests
In Class Presentations
Some of the approaches to teaching/learning include