Computer Studies Revision for September 2009

advertisement
Introduction
This resource document has been written by teachers for teachers delivering Computer Studies curriculum
according to the Ministry revisions 2008. This resource provides suggestions for course unit structure,
student course sheet for classroom distribution, and sample culminating activities. This resource
document is available in digital form at http://tdsbweb/program/computerstudies.
Developers
Karen Cogswell, Teacher, Sir Oliver Mowat CI
Gerry Corrigan, Teacher, Glenview Senior PS
Michelle Craig, Computer Science Department, University of Toronto
Myra Darling, Curriculum Leader, Leaside High School
Janice Dyke, Assistant Curriculum Leader, William Lyon Mackenzie CI
Wayne Loo, Teacher, Northview Heights SS
Carmen Mihaila, Assistant Curriculum Leader, York Mills CI
Stephen Morris, Assistant Curriculum Leader – Information Communication Technology, East York CI
Praveena Sivarajah, Curriculum Leader – Business, Computer Science and Information Technology,
Northern SS
Ryk Skelton, Teacher, Lawrence Park CI
David F. Stermole, Assistant Curriculum Leader, Sir John A. Macdonald CI
Helen Strelkovska, Teacher, Don Mills CI
Front Cover
Katerina Maevska
Project Leader
Karen Beutler
Program Coordinator
Kevin Bradbeer
Acknowledgements
We would like to acknowledge Michelle Craig, Senior Lecturer, Computer Science Department,
University of Toronto, for her expertise and continued support throughout this project.
Library Information Communication Technology Resources, School Services - Program
Toronto District School Board. Reproduction of this document for use by schools delivering the Ontario
Computer Studies curriculum is encouraged. Suggestions and feedback are welcome and will be received
by School Services – Program:
Toronto District School Board
ICT, e-Learning and Computer Studies
52 McGriskin Road
Toronto, ON M1S 5C5
Tel: 416-396-8483
Fax: 416-396-7433
Every reasonable precaution has been taken to trace the owners of copyrighted material and to make due
acknowledgement. Any omission will gladly be rectified in future printings.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
i
About this Resource
This resource was written to support teachers delivering Computer Studies courses grades 10 to 12.
September 2009 is the implementation date of the revised curriculum and this resource provides
suggestions for course unit structure, student course sheet, and sample culminating activity with
assessment and evaluation tools to support the revised strands and expectations. Files are available on the
School Services – Program web site: http://tdsbweb/program/computerstudies.
Computer Studies Promotional Materials
These information documents are useful when communicating with students, parents, feeder-schools,
guidance and others.
 Computer Studies Revision for September 2009
 Promoting Computer Studies
 Computer Studies – Course Selections
Assessment, Evaluation, and Reporting
This is an addendum to the TDSB Secondary Fresh AER document which will assist teachers when
evaluating within Computer Studies.
 Computer Studies Achievement Category Weightings (2008)
Introduction to Computer Studies – ICS 2O



Teacher Course Outline
Student Course Sheet
Course Culminating Activity – Project
Introduction to Computer Science – ICS 3U



Teacher Course Outline
Student Course Sheet
Course Culminating Activity – Project
Introduction to Computer Programming – ICS 3C



Teacher Course Outline
Student Course Sheet
Course Culminating Activity – Project
Computer Science – ICS 4U



Teacher Course Outline
Student Course Sheet
Team Project and Teacher Supplement for this Term Project
Computer Programming – ICS 4C



Teacher Course Outline
Student Course Sheet
Course Culminating Activity – Project
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
ii
Table of Contents
Computer Studies Revision for September 2009 .......................................................................................... 1
Introduction to Computer Studies – ICS 2O: Teacher Course Outline .................................................. 7
Introduction to Computer Studies: ICS 2O – Student Course Sheet .....................................................14
Introduction to Computer Studies: ICS 2O – Course Culminating Activity - Project ........................16
Introduction to Computer Science: ICS 3U - Course Outline ................................................................22
Introduction to Computer Science: ICS 3U – Student Course Sheet .....................................................29
Introduction to Computer Science: ICS 3U – Course Culminating Activity - Project ........................31
ICS 3U – Culminating Activity ......................................................................................................................31
Introduction to Computer Programming: ICS 3C – Course Outline .....................................................37
Introduction to Computer Programming: ICS 3C – Student Course Sheet ..........................................43
Introduction to Computer Programming: ICS 3C – Course Culminating Activity - Project..............45
Computer Science: ICS 4U – Course Outline ............................................................................................51
Computer Science: ICS 4U – Student Course Sheet .................................................................................57
Computer Science: ICS 4U – Term Project................................................................................................59
Computer Programming: ICS 4C – Course Outline .................................................................................73
Computer Programming: ICS 4C – Student Course Sheet ......................................................................79
ICS 4C – Culminating Activity ......................................................................................................................81
References .........................................................................................................................................................92
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
iii
Computer Studies Revision for September 2009
The Computer Studies curriculum recently underwent Ministry review and is to
be fully implemented in September 2009. Formerly titled Computer and
Information Science residing under Technological Education, Computer Studies
is now its own curriculum document “Computer Studies – The Ontario
Curriculum Grades 10 to 12 Revised 2008”. Copies of this curriculum document
were sent to all schools in early 2009.
Courses
September 1999 – June 2009
TIK 20 – Computer and Information Science
ICS 3M – Computer and Information Science
ICS 4M – Computer and Information Science
Revised Curriculum
Implementation September 2009
ICS 2O – Introduction to Computer Studies
ICS 3C – Introduction to Computer Programming prerequisite for ICS 4C
ICS 3U – Introduction to Computer Science prerequisite for ICS 4U
ICS 4C – Computer Programming
ICS 4U – Computer Science
School Information:


Schools may choose to offer college and/or university preparation courses.
Any computer studies course (grade 10 – 12) will fulfill the Group 3 additional compulsory credit
requirement for the OSSD.
Computer Studies Courses support students who:


wish to further study computer programming, database analysis, computer science, computer
engineering, software engineering, information technology, and game development;
plan to study other fields that involve research, problem solving, creative design, communication,
time management, organization and computer skills, such as Medical Informatics, Engineering,
Cryptanalyst, Animation, Digital Media, Business and Information Systems.
Teacher Support:


http://tdsbweb/program/computerstudies
TEL Conference - Computer Studies
TEL Desktop TDSB Conferences School Services-Program Computer Studies
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
1
Promoting Computer Studies
What you need to know about Computer Studies




Computer and Information Science is NOW Computer Studies.
Computer Studies is no longer under Technological Education, but rather is its own discipline.
Computer Engineering remains under Technological Education.
Course Codes have changed. See the following chart:



Revised curriculum will be implemented September 2009 for grades 10, 11, and 12.
There are now separate college and university pathways and no longer a mixed stream.
Computer Studies qualifies as an OSSD Group 3 additional compulsory requirement.
Who should take Computer Studies courses?



Students interested in developing the following transferable skills:
o Problem-solving
o Logical thinking
o Creative design
o Communications
o Time management
o Organization
o Teamwork
Students interested in computer programming
Students interested in computer-related careers listed on the following page.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
2
Computer-related Careers
Animator
Careers in Computing
Cisco Career Paths and Certification
Computer and Information Science Careers
Computer and Mathematical Occupations
Computer and Video Game Development
Computer Forensics
Computer Graphic Specialists
Computer Information Systems
Computer Operators
Computer Science and Engineering Careers
Computer Security Professional
Computer Software Engineer
Computer Systems Engineer
Computer Systems Specialist – Military
Computing Careers
Cyber Careers
Database Developer
Engineering Career Paths
Electrical and Electronic Engineers
Games Programmer
Help Desk Representative
Information Science Careers
Information Technology Career Path
Information Technology Specialist
Information Specialist – Military
Internet System Administrator
IT Careers – Video
Medical Informatics
Network Systems Analyst
Software Developer
Software Programmer
Software Industry Careers
Systems Analyst
Telecommunications Careers
Web Design
Business and Information Systems Careers
Careers in Information Technology
Communication Managers – Military
Computer and Information System Managers
Computer and Office Machine Repairers
Computer Engineer
Computer Game Designer
Computer Hardware Engineer
Computer Managers
Computer Programmer
Computer Scientists
Computer Service Technician
Computer Support Specialist
Computer Systems Manager
Computers and IT Careers
Cryptanalyst
Data Processing Equipment Repairers
Digital Media Careers
Engineering Careers
Electrical Engineer
Graphic Design Careers
Information and Communications Technology
Information Systems
Information Technology Career Overview
Information Technology Occupations
Internet Professional
IT Career Cluster Pamphlet
IT Security
Multimedia Careers – Graphic
Robotics Engineer
Software Engineer
Software Tester
Systems Administrators Field
Systems Operators
Unmanned Vehicle Operations Specialist
Web Developer
Visit http://www.khake.com/page17.html to view the descriptions of these careers. Permission granted by
Kathryn Hake, Vocational Information Center, to include site information, June 10, 2009.
Computer Studies Promotion
This brochure can be used to promote the Computer Studies program in your school. It allows one to add
the school logo, change the school year, modify the inside pages to reflect the program offered, and share
with students and parents. This document is an MS Publisher file and is available for download at
http://tdsbweb/program/computerstudies.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
3
Back and Front cover:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
4
Inside:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
5
Assessment, Evaluation, and Reporting
TDSB Secondary Fresh AER Addendum
This is the category chart to guide the Computer Studies teachers with evaluation. Appendix 18 of TDSB
Fresh AER outlines the achievement category charts for all subject areas.
Computer Studies Achievement Category Weightings (2008)
Knowledge and
Understanding
Thinking
Communication
Application
20-30
20-30
20-30
20-35
College
20-30
20-30
20-30
30-35
University
20-30
25-35
20-30
25-35
Open
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
6
Introduction to Computer Studies – ICS 2O: Teacher Course Outline
Introduction to Computer Studies – ICS 2O
TDSB – School Name, School Department (416- Ex. )
Course Description:
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. 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. (Computer Studies: The Ontario
Curriculum Grades 10 to 12, Revised, 2008) Prerequisite: None
Unit Summary:
Unit Title
Unit 1: Hardware and Software
This unit will focus on the functions of internal and external hardware components as well as
the types and differences between application software and operating systems. Address the
hardware and software needs of various users.
Unit 2: Operating Systems and Maintenance
This unit will address the similarities/differences and benefits of various operating systems
(Windows, XO. Linux, etc.) and the importance of system maintenance in view of virus
protection and software updates.
Unit 3: Networking Computers
This unit will allow students to identify the various requirements necessary to operate a home
computer network. Students will identify the software for communications, hardware for
physical setup, and methods for sharing resources in a home environment.
Unit 4: Career and Post-Secondary Opportunities
Students will research and describe the various career opportunities available to students with
computer studies’ interests and the educational pathway and essential skills necessary to
prepare for post-secondary education and the world of work.
Unit 5: Programming Concepts
This unit will focus on input, output, data types, basic and built in math functions, syntax and
logic errors and run time errors.
Unit 6: Programming Structures
This unit will focus on Boolean operators, selection statements and repetition constructs.
Inclusion of graphics in this unit may help to motivate and engage students, but the concepts
will not be evaluated.
Unit 7: Developing an Application Program
This unit will focus on combining all previous programming units into student led activities.
Unit 8: Computers and Society
Students will explore and explain the impact of computers and related technology on society
and the environment, acceptable use policies, and the legal and ethical issues related to
technology use.
Unit 9: Culminating Activity – Project
It’s summer vacation, you have all your volunteer hours, so you have decided to start
your own business – make some money in the convenience of your own home. To cut
down on overhead costs you have decided to become a member of the e-world of
business called s-Bay, a popular electronic school-based vendor. Accordingly, you will
design and create a program that will allow patrons to purchase items from your store
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Hours
15
6
11
15
10
12
12
15
14
7
ICS 2O Teacher Course Outline
(the program should be similar to the Fast Lane found at movie theatres).
Culminating Exam
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
100%
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Course Strands
A. Understanding Computers
B. Introduction to Programming
C. Computers and Society
Concepts
A1. Hardware Components
A2. Software Products
A3. Operating Systems
A4. Home Computer Networking
A5. Maintenance and Security
B1. Programming Concepts
B2. Writing Programs
B3. Code Maintenance
C1. Social Impact
C2. Environmental Stewardship and Sustainability
C3. Ethical Issues
Course Units:
Unit Title, Description, and Expectations
Unit 1: Hardware and Software
This unit will focus on the functions of internal and external hardware components as well as
the types and differences between application software and operating systems. The view of
hardware and software will be addressed by assessing the needs of various users.
Hours
15
Overall Expectations:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
8
ICS 2O Teacher Course Outline
A1. describe the functions of different types of hardware components, and assess the hardware
needs of users;
A2. describe the different types of software products, and assess the software needs of users.
Specific Expectations:
A1.1 use correct terminology to describe computer hardware (e.g., USB, FSB, IEEE 1394
interface), speed measurements (e.g., megahertz), and size measurements (e.g.,
megabytes, gigabytes);
A1.2 describe the functions of the internal components of a computer (e.g., CPU, RAM, ROM,
cache, hard drive, motherboard, power supply, video card, sound card);
A1.3 describe the functions of common computer peripheral devices (e.g., printer, monitor,
scanner, keyboard, mouse, speakers, USB flash drive);
A1.4 assess user computing needs and select appropriate hardware components for different
situations (e.g., a student on a fixed budget, a home business user, a gaming enthusiast, a
photographer, a home video enthusiast, a distance education user, a human resources
manager, an accountant);
A2.1 explain the difference between software used for applications (e.g., word processor,
spreadsheet, email client), programming (e.g., an integrated development environment),
and systems (e.g., operating system tools such as a registry editor and a defragmenting
tool);
A2.2 assess user computing needs and select appropriate software for different situations (e.g.,
a student on a fixed budget, a home business user, a gaming enthusiast, a photographer, a
home video enthusiast, a distance education user, a human resources manager, an
accountant).
Unit 2: Operating Systems and Maintenance
This unit will address the similarities/differences and benefits of various operating systems and
the importance of system maintenance in view of virus protection and software updates.
6
Overall Expectations:
A3. use the basic functions of an operating system correctly;
A5. explain the importance of software updates and system maintenance to manage the
performance and increase the security of a computer.
Specific Expectations:
A3.1 describe operating system functions that meet various user needs (e.g., running
applications, organizing files, managing users, configuring peripherals);
A3.2 use file management techniques to organize and manage files (e.g., copy, move, delete,
rename files; create shortcut);
A3.3 use general keyboard shortcuts to perform common tasks (e.g., cut, copy, paste, print,
print window, print screen);
A3.4 describe the features and limitations of various operating systems.
A5.1 describe different types of malware (e.g., viruses, Trojan horses, worms, spyware,
adware, malevolent macros) and common signs of an intrusion, and explain how to
prevent malware attacks;
A5.2 explain the importance of maintaining software updates (e.g., operating system updates,
application software updates, virus definitions) to increase computer security and
maintain hardware and software compatibility;
A5.3 explain the importance of preventive maintenance (e.g., defragmenting a hard drive,
deleting unused software and data files) to manage computer performance.
Unit 3: Networking Computers
This unit will allow students to identify the various requirements of necessary to operate a
home computer network. Students will identify the software for communications, hardware for
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
11
9
ICS 2O Teacher Course Outline
physical setup, and methods for sharing resources in a home environment.
Overall Expectations:
A4. demonstrate an understanding of home computer networking concepts.
Specific Expectations:
A4.1 identify various networking applications and protocols (e.g., VoIP, streaming media, FTP,
email, instant messaging);
A4.2 describe the features and functions of wired and wireless networking hardware (e.g.,
NICs, routers, hubs, cables, modems);
A4.3 demonstrate an understanding of various methods for sharing network resources (e.g.,
shared file access, shared printer access, Internet access).
Unit 4: Career and Post-Secondary Opportunities
Students will research and describe the various career opportunities available to students with
computer studies’ interests and the educational pathway and essential skills necessary to
prepare for post-secondary education and the world of work.
15
Overall Expectations:
C4. describe postsecondary education and career prospects related to computer studies.
Specific Expectations:
C4.1 research and describe trends in careers that require computer skills, using local and
national sources (e.g., local newspaper, national newspaper, career websites);
C4.2 research and report on postsecondary educational programs leading to careers in the field
of information systems and computer science (e.g., institutions offering relevant
programs, industry certifications, courses of study, entrance requirements, length of
programs, costs);
C4.3 identify groups and programs that are available to support students who are interested in
pursuing non-traditional career choices in computer-related fields (e.g., mentoring
programs, virtual networking/support groups, specialized postsecondary programs,
relevant trade/industry associations);
C4.4 identify the Essential Skills and work habits that are important for success in computer
studies, as defined in the Ontario Skills Passport.
Unit 5: Programming Concepts
This unit will focus on input, output, data types, basic and built in math functions, syntax and
logic errors.
10
Overall Expectations:
B1. describe fundamental programming concepts and constructs;
B2. plan and write simple programs using fundamental programming concepts;
B3. apply basic code maintenance techniques when writing programs.
Specific Expectations:
B1.2 describe the types of data that computers can process and store (e.g., numbers, text);
B1.3 explain the difference between constants and variables used in programming;
B1.4 determine the expressions and instructions to use in a programming statement, taking into
account the order of operations (e.g., precedence of arithmetic operators, assignment
operators, and relational operators);
B2.2 use variables, expressions, and assignment statements to store and manipulate numbers
and text in a program ;
B2.3 write keyboard input and screen output statements that conform to program specifications;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
10
ICS 2O Teacher Course Outline
B2.6 explain the difference between syntax, logic, and run-time errors;
B3.1 write clear and maintainable code using proper programming standards (e.g., indentation;
naming conventions for constants, variables, and expressions);
B3.2 write clear and maintainable internal documentation to a specific set of standards (e.g.,
program header: author, revision date, program name, program description; table of
variable names and descriptions);
B3.3 use a tracing technique to understand program flow and to identify and correct logic and
run-time errors in a computer program.
Unit 6: Programming Structures
This unit will focus on Boolean operators, selection statements and repetition constructs.
Inclusion of graphics in this unit may help to motivate and engage students, but the concepts
will not be evaluated.
12
Overall Expectations:
B1. describe fundamental programming concepts and constructs;
B2. plan and write simple programs using fundamental programming concepts;
B3. apply basic code maintenance techniques when writing programs.
Specific Expectations:
B1.5 identify situations in which decision and looping structures are required;
B1.6 describe the function of Boolean operators (e.g., AND, OR, NOT), comparison operators
(i.e., equal to, not equal to, greater than, less than, greater than or equal to, less than or
equal to), and arithmetic operators (e.g., addition, subtraction, multiplication, division,
exponentiation, parentheses), and use them correctly in programming;
B2.1 use a visual problem-solving model (e.g., IPO [Input, Process, Output] chart; HIPO
[Hierarchy plus Input, Process, Output] chart and diagram; flow chart; storyboard) to
plan the content of a program;
B2.4 write a program that includes a decision structure for two or more choices (e.g., guessing
game, rock-paper-scissors game, multiple-choice quiz, trivia game);
B2.5 write programs that use looping structures effectively (e.g., simple animation, simple
board games, coin toss);
B2.7compare and contrast the use of different programming environments to solve the same
problem (e.g., a solution developed in a programming language versus one developed
using a spreadsheet);
B3.4 demonstrate the ability to validate a computer program using test cases.
Unit 7: Developing an Application Program
This unit will focus on combining all previous programming units into student led activities.
Overall Expectations:
B1. describe fundamental programming concepts and constructs;
B2. plan and write simple programs using fundamental programming concepts;
B3. apply basic code maintenance techniques when writing programs.
Unit 8: Computers and Society (Note: This unit is intended to be taught throughout the
course.)
Students will explore and explain the impact of computers and related technology on society
and the environment, acceptable use policies, and the legal and ethical issues related to
technology use.
12
15
Overall Expectations:
C1. describe key aspects of the impact of computers and related technologies on society;
C2. describe computer use policies that promote environmental stewardship and sustainability;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
11
ICS 2O Teacher Course Outline
C3. describe legal and ethical issues related to the use of computing devices.
Specific Expectations:
C1.1 describe a variety of adaptive technologies that help to improve computer accessibility
(e.g., text-to-speech, speech-to-text, adapted mouse, font control, ergonomic keyboard,
virtual keyboard, sticky keys, colour contrast, image magnifier);
C1.2 explain the impact on privacy of techniques for collecting and processing data (e.g.,
camera phones, reward programs, targeted advertising, digital rights management,
monitoring software);
C1.3 describe how portable computing devices (e.g., PDA, cell phone, GPS, laptop) affect our
everyday lives;
C1.4 describe how electronic access to information (e.g., instant messaging, webcasts, social
networking sites, wikis, blogs, video sharing sites) influences our everyday lives, as well
as the lives of people in various countries around the world, in both positive and negative
ways;
C1.5 describe issues associated with access to online services (e.g., reliability of passwords,
network security, identity theft, the permanence of information released onto the
Internet);
C2.1 describe the negative effects of computers and computer use on the environment (e.g.,
chemicals from electronic waste dumped in landfills – domestic or overseas – leaching
into soil and groundwater; unnecessary use of paper; heavy power consumption) and on
human health (e.g., effects of exposure to radiation, musculoskeletal disorders, eye strain,
mental health and behavioural problems created or exacerbated by social isolation);
C2.2 identify measures that help reduce the negative effects of computers on the environment
(e.g., lab regulations, school policies, corporate policies, provincial policies, paperless
workplaces) and on human health (e.g., ergonomic standards);
C2.3 describe ways in which computers are or could be used to reduce resource use and to
support environmental protection measures (e.g., computer modelling to reduce use of
physical resources; interpretation of large amounts of environmental data; management
of natural resources; programmable temperature control to reduce energy consumption);
C2.4 describe, on the basis of research, how and where recycled electronic waste is processed,
and identify local companies and institutions that offer such services;
C3.1 describe legal and ethical issues related to the use of computers (e.g., music and video file
downloading, spyware, identity theft, phishing, keystroke logging, packet sniffing, cyber
bullying);
C3.2 describe safeguards (e.g., effective passwords, secure websites, firewalls, biometric data)
for preventing the unethical use of computers.
Unit 9: Culminating Activity - Project
It’s summer vacation, you have all your volunteer hours, so you have decided to start
your own business – make some money in the convenience of your own home. To cut
down on overhead costs you have decided to become a member of the e-world of
business, s-Bay, a popular electronic school-based vendor. Accordingly, you will design
and create a program that will allow patrons to purchase items from your store (the
program should be similar to the Fast Lane found at movie theatres).
14
Overall Expectations:
B1. describe fundamental programming concepts and constructs;
B2. plan and write simple programs using fundamental programming concepts;
B3. apply basic code maintenance techniques when writing programs.
Culminating Exam
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
12
ICS 2O Teacher Course Outline
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
13
ICS 2O Teacher Course Outline
Introduction to Computer Studies: ICS 2O – Student Course Sheet
Introduction to Computer Studies – ICS 2O
TDSB – School Name, School Department (416- Ex. )
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. 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. (Computer Studies: The Ontario
Curriculum Grades 10 to 12, Revised, 2008) Prerequisite: None
Course Strands
A. Understanding Computers
B. Introduction to Programming
C. Computers and Society
Concepts
A1. Hardware Components
A2. Software Products
A3. Operating Systems
A4. Home Computer Networking
A5. Maintenance and Security
B1. Programming Concepts
B2. Writing Programs
B3. Code Maintenance
C1. Social Impact
C2. Environmental Stewardship and Sustainability
C3. Ethical Issues
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
100%
14
ICS 2O Student Course Sheet
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Ontario Skills Passport (OSP):
 Essential Skills needed for work, learning, and life: Reading text, Writing, Computer Use,
Measurement and Calculation, and Problem Solving
 http://skills.edu.gov.on.ca
Classroom Expectations:
 Academic Honesty – Students are expected to be academically honest by submitting their own
original work, and the mark received is intended to reflect their own academic achievement.
 Online Code of Conduct as in the school agenda or
http://www.tdsb.on.ca/communications/code_of_online_conduct/occ.html
 Respect for Property – no food or drink in the lab
 TDSB Homework Policy – Students will receive 30 minutes or less per day for each course.
 Late or missed evaluations - - (if available include School or Department Policy)
Required Resources and Course Materials:
 Text
 Software
 USB Device
 Notebook
Provisions for Student Success:
Teacher Support:
Student Responsibilities:
 Extra help
 Organise a binder to assist with your studies
 School lab time
 Set and focus on realistic goals for each class
 Web, Blog, or Wiki  Record daily achievements to set and meet new challenges
 Teacher email
 Home study in preparation for each class to enrich your learning
 Take advantage of extra help and school lab time to assist in meeting goals
 Provide peer help to consolidate your learning and increase confidence
 Ask questions and look for answers
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
15
ICS 2O Student Course Sheet
Introduction to Computer Studies: ICS 2O – Course Culminating Activity - Project
ICS 2O – Culminating Activity
Performance Task:
It’s summer vacation, you have all your volunteer hours, so you have decided to start your own
business – make some money in the convenience of your own home. To cut down on overhead
costs you have decided to become a member of the e-world of business, s-Bay, a popular electronic
school-based vendor. Accordingly, you will design and create a program that will allow patrons to
purchase items from your store (the program should be similar to the Fast Lane found at movie
theatres).
Your program should include the following components:
1. A welcome page – Welcomes the user to the program and provides a brief description about the type
of items for sale.
2. An inventory page – Lists the items for sale; at least 4 items. You may wish to consider the inclusion
of graphics to assist your clients.
3. Information/Purchase pages – At least 4 pages. Each page will describe one item for sale and allow
the user to purchase it if they wish. One page for each item.
4. A calculation page that calculates:
 number of individual item(s) the user wishes to purchase
 total number of items purchased
 sub-total (cost of all items before tax)
 total (cost of all items after tax – 13%)
5. A goodbye page – Thanks the user for using the program.
Your program must include the following:
 variables with meaningful names
 at least one constant
 at least one assignment statement
 at least one counter
 at least one accumulator




Boolean operators
repetition
selection
graphics (optional)
Timelines/Due Dates:
Part 1
 Program description
 Flow chart process for the purchase of one item
 Output screens/layout/design of the five components
o Welcome Page
o Inventory Page
o Inventory Description Pages
o Calculation Page
o Goodbye Page
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Due:
16
ICS 20 Culminating Activity
Part 2
Due:
Program code to implement all the components of Part 1 complete with the program descriptor and
comments explaining the code and a testing report
Hand in on the due date:
 a printout of the programming code;
 the testing report;
 all the Part 1 components (flow chart, welcome Page; Inventory Page; Inventory Description
Pages; Calculation Page; Goodbye Page);
 drop your programming file in the DropOff Folder.
Requirements:
Decide the type and number of products you would like to sell (minimum of 4 products). Your design
document should provide the following:
 A brief description of what the program does and a description of the products for sale.
 A flow chart outlining the process of purchasing one item.
 The layout/design of all 5 components of your program (i.e. Welcome Page; Inventory Page;
Inventory Description Pages; Calculation Page; Goodbye Page).
Resource Supports:
http://www.ebay.com
Course Expectations:
B1. describe fundamental programming concepts and constructs;
B2. plan and write simple programs using fundamental programming concepts;
B3. apply basic code maintenance techniques when writing programs.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
17
ICS 20 Culminating Activity
Testing &
Debugging
Coding
Design
Problem
Definition
ICS 2O Course Culminating Activity - Evaluation:
Categories
(C)
Expresses and
organizes requirements
of the project.
Level 1
Level 2
Expresses and organizes Expresses and organizes
requirements of the
requirements of the project
project with limited
with some effectiveness.
effectiveness.
(K/U)
Knowledge of design
tools.
(T)
Use of design tools.
Demonstrates limited
knowledge of the use of
design tools.
Uses design tools to plan
the solution with limited
effectiveness.
Demonstrates limited
knowledge of the
language’s syntax.
Uses internal
programming comments
to express how the
constructs function with
limited effectiveness.
Demonstrates some
Demonstrates considerable
knowledge of the use of
knowledge of the use of
design tools.
design tools.
Uses design tools to plan Uses design tools to plan
the solution with some
the solution with
effectiveness.
considerable effectiveness.
Demonstrates some
Demonstrates considerable
knowledge of the
knowledge of the
language’s syntax.
language’s syntax.
Uses internal programming Uses internal programming
comments to express how comments to express how
the constructs function with the constructs function with
some effectiveness.
considerable effectiveness.
Demonstrates thorough
knowledge of the use of
design tools.
Uses design tools to plan the
solution with a high degree of
effectiveness.
Demonstrates thorough
knowledge of the language’s
syntax.
Uses internal programming
comments to express how the
constructs function with a high
degree of effectiveness.
Uses programming and
natural language
conventions with limited
effectiveness.
Applies appropriate use
of programming
constructs with limited
effectiveness.
Uses critical/creative
thinking processes to
correct design flaws by
testing and debugging
with limited
effectiveness.
Uses programming and
natural language
conventions with some
effectiveness.
Applies appropriate use of
programming constructs
with some effectiveness.
Uses programming and natural
language conventions with a
high degree of effectiveness.
(K/U)
Knowledge of the
language’s syntax.
(T)
Uses internal
programming
comments to express
how the constructs
function.
(C)
Uses programming and
natural language
conventions.
(A)
Applies appropriate use
of programming
constructs.
(T)
Corrects design flaws
by testing and
debugging.
Level 3
Expresses and organizes
requirements of the project
with considerable
effectiveness.
Uses programming and
natural language
conventions with
considerable effectiveness.
Applies appropriate use of
programming constructs
with considerable
effectiveness.
Uses critical/creative
Uses critical/creative
thinking processes to
thinking processes to
correct design flaws by
correct design flaws by
testing and debugging with testing and debugging with
some effectiveness.
considerable effectiveness.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Level 4
Expresses and organizes
requirements of the project
with a high degree of
effectiveness.
Applies appropriate use of
programming constructs with
a high degree of effectiveness.
Uses critical/creative thinking
processes to correct design
flaws by testing and
debugging with a high degree
of effectiveness.
18
ICS 20 Culminating Activity
(C)
Testing report shows test Testing report shows test
Creates a testing report cases with limited
cases with some
effectiveness.
effectiveness.
Testing report shows test
cases with considerable
effectiveness.
Testing report shows test cases
with a high degree of
effectiveness.
Student Name: _____________________________________________________
Knowledge and Understanding (20%): _____ (Design and Coding)
Thinking (25%): _____ (Design, Coding, Testing & Debugging)
Communication (20%): _____ (Problem Definition, Design, and Coding)
Application (35%): _____ (Coding and Testing & Debugging)
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
19
ICS 20 Culminating Activity
ICS 2O Course Culminating Activity - Assessment – Learning Skills:
Needs Improvement
• Uses a few strategies
• Rarely meets deadlines
• Rarely focused
Satisfactory
• Uses several strategies
• Sometimes meets deadlines
• Focused, but often needs
reminders to stay on task
Good
• Uses a variety of strategies
• Usually meets dealings
• Focused, but occasionally
needs reminders to stay on
task
Teamwork
• Shows reluctance to take on
an alternate role in a group
• Rarely shares ideas
• Rarely listens passively or
actively
• Frequently tries alternate
roles in a group
• Usually shares ideas
• Listens passively and
actively most of the time
Organization
• Rarely brings required
materials to class
• Limited organization
• Rarely uses resources
• Generally works in the same
role in a group;
occasionally tries an
alternate role
• Sometimes shares ideas
• Listens passively and
actively some of the time
• Generally brings required
materials to class
• Partial organization
• Sometimes uses resources
Work Habits
• Completes little, if any,
• Completes more than half of
homework
homework
• Rarely submits work on time • Generally submits work on
• Rarely makes up missed
time
work
• Sometimes makes up missed
work
• Completes most homework
• Usually submits work on
time
• Usually makes up missed
work
Initiative
• Rarely acts to solve
problems
• Rarely recognizes what
needs to be done and rarely
takes appropriate steps
• Usually acts to solve
problems
• Usually recognizes what
needs to be done and does
it
Works
Independently
• Sometimes acts to solve
problems
• Sometimes recognizes what
needs to be done and does it
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
• Usually brings required
materials to class
• Considerable organization
• Usually uses resources
Excellent
• Uses a wide variety of
strategies
• Always, or almost
always, meets deadlines
• Focused, and rarely
needs reminders to stay
on task
• Takes on a variety of
roles in a group
• Always, or almost
always, shares ideas
• Listens passively and
actively almost all of the
time
• Always, or almost
always, brings required
material to class
• Effective organization
• Always, or almost
always, uses resources
• Completes all homework
• Always, or almost
always, submits work on
time
• Always, or almost
always, makes up missed
work
• Always, or almost
always, acts to solve
problems
• Always, or almost
always, recognizes what
needs to be done and
does it
20
ICS 20 Culminating Activity
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
21
ICS 20 Culminating Activity
Introduction to Computer Science: ICS 3U - Course Outline
Introduction to Computer Science – ICS 3U
TDSB – School Name, School Department (416- Ex. )
Course Description:
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 lifecycle 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. (Computer Studies: The Ontario Curriculum
Grades 10 to 12, Revised, 2008)
Prerequisite: None
Unit Summary:
Unit Title
Unit 1: Computer Hardware
Students will identify the functions of the internal and external components of the computer.
(Note: This unit does not necessarily need to be covered as a separate unit and can be
addressed throughout the course.)
Unit 2: Introduction to Programming
This unit is an overview of how programs are compiled, interpreted, stored and executed. It
includes an introduction to the development environment that will be used in the course and
will have students create simple programs with basic input and output. Many concepts
introduced in this unit will be taught at a high level and will not be evaluated until the entire
overall expectation is covered in a later unit (e.g., variable types from A1; input, processing,
and output from A2; correcting and identifying errors from A4). The unit includes a
discussion of how to safeguard against malware.
Unit 3: Control Structures
This unit introduces the concept of program flow with respect to sequence (i.e. statements
execute one after the other), selection (i.e. if statements, switch/case statements etc), repetition
(i.e. for loops, while loops etc) and logic/run-time errors. Students will create user-friendly
software interfaces.
Unit 4: Arrays
This unit will cover arrays. Students will write programs that declare, initialize, modify, and
access one-dimensional arrays. They will explore concepts of indexes, bounds and elements
through accessing and modifying data. It will provide opportunities for students to write
programs with nested structures (e.g., searching algorithms).
Unit 5: Modularity
This unit will teach modularity to students by having them write programs using predefined
procedures and functions and then test their knowledge by creating their own. It will include
the concepts of passing parameters and returning values.
Unit 6: Software Development Life Cycle (SDLC)
A teacher-driven project that will take the students through the stages of the Software
Development Life Cycle (problem definition, analysis, design, writing code, testing,
implementation, maintenance).
Unit 7: Computers in Society and the Environment
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Hours
5
15
15
20
15
10
10
22
ICS 3U Teacher Course Outline
Students will explore how computer science impacts the environment and human health.
They will explore: emerging areas of research in computer science, career choices, and trends
in computer science. (Note: This unit does not necessarily need to be covered as a separate
unit and can be addressed throughout the course.)
Unit 8: Culminating Activity - Putting it all Together
This activity will walk students through the stages of the Software Development Life Cycle
(SDLC) to develop a larger project. This project may be teacher-assigned, or the students may
choose from a list of projects.
Culminating Exam
20
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
25%
25%
20%
30%
30%
25%
25%
20%
30%
100%
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Computer Environments and Systems
Concepts
A1. Data Types and Expressions
A2. Control Structures and Simple Algorithms
A3. Subprograms
A4. Code Maintenance
B1. Problem-solving Strategies
B2. Designing Software Solutions (including graphics)
B3. Designing Algorithms
B4. The Software Development Life Cycle
C1. Computer Components
C2. File Maintenance
C3. Software Development
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
23
ICS 3U Teacher Course Outline
D. Topics in Computer Science
D1. Environmental Stewardship and Sustainability
D2. Exploring Computer Science
D3. Postsecondary Opportunities
Course Units:
Unit Title, Description, and Expectations
Unit 1: Computer Hardware
Students will identify the functions of the internal and external components of the computer.
(Note: This unit does not necessarily need to be covered as a separate unit and can be
addressed throughout the course.)
Hours
5
Overall Expectations:
C1. relate the specifications of computer components to user requirements.
Specific Expectations:
C1.1 relate the specifications of the internal components of a computer (e.g., CPU, RAM,
ROM, cache, hard drive, motherboard, power supply, video card, sound card) to user
requirements;
C1.2 relate computer specifications (e.g., processor type, bus speed, storage capacity, amount
of memory) to user requirements, using correct terminology;
C1.3 relate the specifications of common computer peripheral devices (e.g., printer, monitor,
scanner, keyboard, mouse, speakers, USB flash drive) to user requirements;
C1.4 identify the computer components involved in executing programming operations (e.g.,
assignment statements store a value in RAM, arithmetic operations are performed in the
CPU).
Unit 2: Introduction to Programming
This unit is an overview of how programs are compiled, interpreted, stored and executed. It
includes an introduction to the development environment that will be used in the course and
will have students create simple programs with basic input and output. Many concepts
introduced in this unit will be taught at a high level and will not be evaluated until the entire
overall expectation is covered in a later unit (e.g., variable types from A1; input, processing,
and output from A2; correcting and identifying errors from A4). The unit includes a
discussion of how to safeguard against malware.
15
Overall Expectations:
C2. use appropriate file maintenance practices to organize and safeguard data;
C3. demonstrate an understanding of the software development process.
Specific Expectations:
A1.1 use constants and variables, including integers, floating points, strings, and Boolean
values, correctly in computer programs;
A1.2 demonstrate an understanding of how a computer uses various systems (e.g., binary,
hexadecimal, ASCII, Unicode) to internally represent data and store information;
A1.3 use assignment statements correctly with both arithmetic and string expressions in
computer programs;
A2.1 write programs that incorporate user input, processing, and screen output;
A4.1 demonstrate the ability to identify and correct syntax, logic, and run-time errors in
computer programs;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
24
ICS 3U Teacher Course Outline
A4.3 demonstrate the ability to interpret error messages displayed by programming tools (e.g.,
compiler, debugging tool), at different times during the software development process
(e.g., writing, compilation, testing);
B2.1 design programs from a program template or skeleton (e.g., teacher-supplied skeleton,
Help facility code snippet);
C2.1 use an operating system to organize computer programs and files logically on local and
shared drives;
C2.2 describe procedures to safeguard data and programs from malware (e.g., viruses, Trojan
horses, worms, spyware, adware, malevolent macros), and devise a thorough system
protection plan;
C2.3 use standard procedures to back up and archive user files;
C3.1 demonstrate an understanding of an integrated software development environment and
its main components (e.g., source code editor, compiler, debugger);
C3.2 work independently, using support documentation (e.g., IDE Help, tutorials, websites,
user manuals), to design and write functioning computer programs;
C3.3 explain the difference between source code and machine code;
C3.4 explain the difference between an interpreter and a compiler;
C3.5 explain the difference between the functions of applications, programming languages,
and operating systems.
Unit 3: Control Structures
This unit introduces the concept of program flow with respect to sequence (i.e. statements
execute one after the other), selection (i.e. if statements, switch/case statements etc), repetition
(i.e. for loops, while loops etc) and logic/run-time errors. Students will create user-friendly
software interfaces.
15
Overall Expectations:
A2. demonstrate the ability to use control structures and simple algorithms in computer
programs;
B3. design algorithms according to specifications.
Specific Expectations:
A1.4 demonstrate the ability to use Boolean operators (e.g., AND, OR, NOT), comparison
operators (i.e., equal to, not equal to, greater than, less than, greater than or equal to, less
than or equal to), arithmetic operators (e.g., addition, subtraction, multiplication,
division, exponentiation, parentheses), and order of operations correctly in computer
programs;
A2.2 use sequence, selection, and repetition control structures to create programming
solutions;
A2.3 write algorithms with nested structures (e.g., to count elements in an array, calculate a
total, find highest or lowest value, or perform a linear search);
A4.4 use a tracing technique to understand program flow and to identify and correct logic and
run-time errors in computer programs;
B1.3 use the input-process-output model to solve problems.
B2.5 design user-friendly software interfaces (e.g., prompts, messages, screens, forms).
B3.2 solve common problems (e.g., calculation of hypotenuse, determination of primes,
calculation of area and circumference) by applying mathematical equations or formulas
in an algorithm;
B3.3 design algorithms to detect, intercept, and handle exceptions (e.g., division by zero, roots
of negatives).
Unit 4: Arrays
This unit will cover arrays. Students will write programs that declare, initialize, modify, and
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
20
25
ICS 3U Teacher Course Outline
access one-dimensional arrays. They will explore concepts of indexes, bounds and elements
through accessing and modifying data. It will provide opportunities for students to write
programs with nested structures (e.g., searching algorithms).
Overall Expectations:
A1. demonstrate the ability to use different data types, including one-dimensional arrays, in
computer programs;
B1. use a variety of problem-solving strategies to solve different types of problems
independently and as part of a team.
Specific Expectations:
A1.5 describe the structure of one-dimensional arrays and related concepts, including
elements, indexes, and bounds;
A1.6 write programs that declare, initialize, modify, and access one-dimensional arrays.
A2.3 write algorithms with nested structures (e.g., to count elements in an array, calculate a
total, find highest or lowest value, or perform a linear search);
B1.1 use various problem-solving strategies (e.g., stepwise refinement, divide and conquer,
working backwards, examples, extreme cases, tables and charts, trial and error) when
solving different types of problems;
B1.2 demonstrate the ability to solve problems independently and as part of a team;
B2.2 use appropriate vocabulary and mode of expression (i.e., written, oral, diagrammatic) to
describe alternative program designs, and to explain the structure of a program;
B3.1 design simple algorithms (e.g., add data to a sorted array, delete a datum from the
middle of an array) according to specifications.
Unit 5: Modularity
This unit will teach modularity to students by having them write programs using predefined
procedures and functions and then test their knowledge by creating their own. It will include
the concepts of passing parameters and returning values.
15
Overall Expectations:
A3. demonstrate the ability to use subprograms within computer programs;
B2. design software solutions to meet a variety of challenges.
Specific Expectations:
A3.1 demonstrate the ability to use existing subprograms (e.g., random number generator,
substring, absolute value) within computer programs;
A3.2 write subprograms (e.g., functions, procedures) that use parameter passing and
appropriate variable scope (e.g., local, global), to perform tasks within programs.
B1.2 demonstrate the ability to solve problems independently and as part of a team;
B2.1 design programs from a program template or skeleton (e.g., teacher-supplied skeleton,
Help facility code snippet);
B2.3 apply the principle of modularity to design reusable code (e.g., subprograms, classes) in
computer programs.
Unit 6: Software Development Life Cycle
A teacher-driven project that will take the students through the stages of the Software
Development Life Cycle (problem definition, analysis, design, writing code, testing,
implementation, maintenance).
10
Overall Expectations:
A4. use proper code maintenance techniques and conventions when creating computer
programs;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
26
ICS 3U Teacher Course Outline
B4. apply a software development life-cycle model to a software development project.
Specific Expectations:
A4.2 use workplace and professional conventions (e.g., naming, indenting, commenting)
correctly to write programs and internal documentation;
A4.5 demonstrate the ability to validate a program using a full range of test cases.
B2.4 represent the structure and components of a program using industry-standard
programming tools (e.g., structure chart, flow chart, UML [Unified Modeling
Language], data flow diagram, pseudocode);
B4.1 describe the phases (i.e., problem definition, analysis, design, writing code, testing,
implementation, maintenance), milestones (e.g., date of completion of program
specification), and products (e.g., specification, flow chart, program documentation, bug
reports) of a software development life cycle;
B4.2 use a variety of techniques (e.g., dialogue, questionnaires, surveys, research) to clarify
program specifications;
B4.3 use project management tools (e.g., Gantt chart, critical path diagram, PERT chart) to
show tasks and milestones in a teacher-led project;
B4.4 use a test plan to test programs (i.e., identify test scenarios, identify suitable input data,
calculate expected outcomes, record actual outcomes, and conclude ‘pass’ or ‘fail’) by
comparing expected to actual outcomes;
B4.5 use a variety of methods to debug programs (e.g., manual code tracing, extra code to
output the state of variables);
B4.6 communicate information about the status of a project (e.g., milestones, work completed,
work outstanding) effectively in writing throughout the project.
Unit 7: Computers in Society and the Environment
Students will explore how computer science impacts the environment and human health.
They will explore: emerging areas of research in computer science, career choices, and trends
in computer science. (Note: This unit does not necessarily need to be covered as a separate
unit and can be addressed throughout the course.)
10
Overall Expectations:
D1. describe policies on computer use that promote environmental stewardship and
sustainability;
D2. demonstrate an understanding of emerging areas of computer science research;
D3. describe postsecondary education and career prospects related to computer studies.
Specific Expectations:
D1.1 describe the negative effects of computer use on the environment (e.g., creation of ewaste, excessive use of paper resulting from unnecessary printing of files and emails,
heavy power consumption) and on human health (e.g., exposure to radiation,
musculoskeletal disorders, eye strain, mental health problems resulting from social
isolation, various health consequences of reduced activity levels);
D1.2 identify measures that help reduce the impact of computers on the environment (e.g., lab
regulations, school policies, corporate and government policies promoting paperless
workplaces and computer recycling and reuse) and on human health (e.g., ergonomic
standards);
D1.3 describe ways in which computers are or could be used to reduce resource use and to
support environmental protection measures (e.g., computer modelling to reduce use of
physical resources; management of natural resources);
D1.4 identify government agencies and community partners that provide resources and
guidance for environmental stewardship (e.g., local community recycling centres,
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
27
ICS 3U Teacher Course Outline
private companies that refurbish computers, printer cartridge recycling programs).
D2.1 demonstrate an understanding of emerging areas of research in computer science (e.g.,
cryptography, parallel processing, distributed computing, data mining, artificial
intelligence, robotics, computer vision, image processing, human–computer interaction,
security, geographic information systems [GIS]);
D2.2 demonstrate an understanding of an area of collaborative research between computer
science and another field (e.g., bioinformatics, geology, economics, linguistics, health
informatics, climatology, sociology, art);
D2.3 report on an area of research related to computer science, using an appropriate format
(e.g., website, presentation software, video);
D3.1 research and describe career choices and trends in computer science, at the local,
national, and international levels;
D3.2 identify and report on opportunities for experiential learning (e.g., co-op programs, job
shadowing, career fairs) in the field of computer science;
D3.3 research and report on postsecondary educational programs leading to careers in
information systems and computer science (e.g., institutions offering relevant programs,
industry certifications, courses of study, entrance requirements, length of programs,
costs);
D3.4 identify groups and programs that are available to support students who are interested in
pursuing non-traditional career choices related to information systems and computer
science (e.g., mentoring programs, virtual networking/support groups, specialized
postsecondary programs, relevant trade/industry associations);
D3.5 describe the Essential Skills and work habits that are important for success in computer
studies, as identified in the Ontario Skills Passport.
Unit 8: Culminating Activity - Putting it All Together
This activity will walk students through the stages of the Software Development Life Cycle
(SDLC) to develop a larger project. This project may be teacher-assigned, or the students may
choose from a list of projects.
20
Overall 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.
B2. design software solutions to meet a variety of challenges;
B3. design algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
Culminating Exam
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
28
ICS 3U Teacher Course Outline
Introduction to Computer Science: ICS 3U – Student Course Sheet
Introduction to Computer Science – ICS 3U
TDSB – School Name, School Department (416- Ex. )
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 lifecycle 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. (Computer Studies: The Ontario Curriculum
Grades 10 to 12, Revised, 2008) Prerequisite: None
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Computer Environments and
Systems
D. Topics in Computer Science
Concepts
A1. Data Types and Expressions
A2. Control Structures and Simple Algorithms
A3. Subprograms
A4. Code Maintenance
B1. Problem-solving Strategies
B2. Designing Software Solutions (including graphics)
B3. Designing Algorithms
B4. The Software Development Life Cycle
C1. Computer Components
C2. File Maintenance
C3. Software Development
D1. Environmental Stewardship and Sustainability
D2. Exploring Computer Science
D3. Postsecondary Opportunities
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
25%
25%
20%
30%
30%
25%
25%
20%
30%
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
100%
29
ICS 3U Student Course Sheet
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Ontario Skills Passport (OSP):
 Essential Skills needed for work, learning, and life: Reading text, Writing, Computer Use,
Measurement and Calculation, and Problem Solving
 http://skills.edu.gov.on.ca
Classroom Expectations:
 Academic Honesty – Students are expected to be academically honest by submitting their own
original work, and the mark received is intended to reflect their own academic achievement.
 Online Code of Conduct as in the school agenda or
http://www.tdsb.on.ca/communications/code_of_online_conduct/occ.html
 Respect for Property – no food or drink in the lab
 TDSB Homework Policy – Students will receive 30 minutes or less per day for each course.
 Late or missed evaluations - - (if available include School or Department Policy)
Required Resources and Course Materials:
 Text
 Software
 USB Device
 Notebook
Provisions for Student Success:
Teacher Support:
Student Responsibilities:
 Extra help
 Organise a binder to assist with your studies
 School lab time
 Set and focus on realistic goals for each class
 Web, Blog, or Wiki  Record daily achievements to set and meet new challenges
 Teacher email
 Home study in preparation for each class to enrich your learning
 Take advantage of extra help and school lab time to assist in meeting goals
 Provide peer help to consolidate your learning and increase confidence
 Ask questions and look for answers
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
30
ICS 3U Student Course Sheet
Introduction to Computer Science: ICS 3U – Course Culminating Activity - Project
ICS 3U – Culminating Activity
Performance Task and Task Requirements:
Paper, TV, box, electronic, cards, hosts, people, money! What’s your favourite game? How do you
envision this in an electronic environment? What game or process can you program with the skills you
have learned in this course?
Project:
Concentration
Mastermind
Who Wants to be a Millionaire
Deal or no Deal
Theatre Seating
Base Conversions
Pay Stubs
Alphabetizer
Calculator
Morse Code
Lotto 649
Hangman
Card Games
Instant Teller
Other by teacher approval
Choose one project that you would like to program and follow the Software Development Life Cycle.
Problem Definition: List all of the requirements for the project you have chosen. List any
limitations of your version in the activity.
Design: Determine how to code the project using design tools such as flow charts, structure
charts, UML [Unified Modeling Language] diagrams, data flow diagrams, and/or pseudocode.
Allow an unlimited number of users to access your project. Address the users by name. (Options
may include keeping score using input/output files).
Implementation: Write the program code using proper conventions (variable names,
indentation, comments). Include Boolean operators, nested selection and repetition constructs,
predefined and custom modular programming (procedure/command and function/query), 1dimensional arrays, and exception handling.
Testing & Debugging
Test your program at two levels:
1. Do your own testing first using expected, unexpected and extreme data.
2. User Acceptance Testing must be completed by peer assessment following the teacherprovided template (user-friendly, input, output, functionality, layout/look)
Timelines/Due Dates:
Task
Due Date
Problem Definition and Design
Implementation and Testing & Debugging
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
31
ICS 3U Culminating Activity
Course 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. use a variety of problem-solving strategies to solve different types of problems independently and as
part of a team;
B2. design software solutions to meet a variety of challenges;
B3. design algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
Resource Supports:
Visit these websites for examples of games:
http://www.games.com/browse-games/card-and-board/
http://board-games.pogo.com/
http://games.onlinestudent.ro/online-c/5-1/Board/
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
32
ICS 3U Culminating Activity
ICS 3U Course Culminating Activity - Evaluation:
Problem
Definition
Categories
Expresses and
organizes
requirements of
the project.
Level 1
Level 2
Level 3
Level 4
Expresses and organizes
requirements of the
project with limited
effectiveness.
Expresses and organizes
requirements of the project
with some effectiveness.
Expresses and organizes
requirements of the project
with considerable
effectiveness.
Expresses and organizes
requirements of the
project with a high degree
of effectiveness.
Demonstrates limited
knowledge of the use of
design tools.
Demonstrates some
knowledge of the use of
design tools.
Demonstrates considerable
knowledge of the use of
design tools.
Demonstrates thorough
knowledge of the use of
design tools.
Uses design tools to plan
the solution with limited
effectiveness.
Uses design tools to plan the
solution with some
effectiveness.
Uses design tools to plan the
solution with considerable
effectiveness.
Uses design tools to plan
the solution with a high
degree of effectiveness.
Demonstrates limited
knowledge of the
language’s syntax.
Demonstrates some
knowledge of the language’s
syntax.
Demonstrates considerable
knowledge of the language’s
syntax.
Demonstrates thorough
knowledge of the
language’s syntax.
Uses internal
programming comments
to express how the
constructs function with
limited effectiveness.
Uses internal programming
comments to express how
the constructs function with
some effectiveness.
Uses internal programming
comments to express how
the constructs function with
considerable effectiveness.
Uses internal
programming comments
to express how the
constructs function with a
high degree of
effectiveness.
(C)
Design
Knowledge of
design tools.
(K/U)
Use of design
tools.
(T)
Coding
Knowledge of
the language’s
syntax.
(K/U)
Uses internal
programming
comments to
express how the
constructs
function.
(T)
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
33
ICS 3U Culminating Activity
Testing & Debugging
Uses
programming
and natural
language
conventions.
(C)
Applies
appropriate use
of programming
constructs.
(A)
Uses programming and
natural language
conventions with limited
effectiveness.
Uses programming and
natural language
conventions with some
effectiveness.
Uses programming and
natural language
conventions with
considerable effectiveness.
Uses programming and
natural language
conventions with a high
degree of effectiveness.
Applies appropriate use of Applies appropriate use of
programming constructs
programming constructs
with limited effectiveness. with some effectiveness.
Applies appropriate use of
programming constructs
with considerable
effectiveness.
Applies appropriate use
of programming
constructs with a high
degree of effectiveness.
Corrects design
flaws by testing
and debugging.
(T)
Uses critical/creative
thinking processes to
correct design flaws by
testing and debugging
with limited effectiveness.
Uses critical/creative
thinking processes to correct
design flaws by testing and
debugging with some
effectiveness.
Uses critical/creative
thinking processes to correct
design flaws by testing and
debugging with considerable
effectiveness.
Create a testing
report
(C)
Testing report shows test
cases with limited
effectiveness.
Testing report shows test
cases with some
effectiveness.
Testing report shows test
cases with considerable
effectiveness.
Uses critical/creative
thinking processes to
correct design flaws by
testing and debugging
with a high degree of
effectiveness.
Testing report shows test
cases with a high degree
of effectiveness.
Student Name: _____________________________________________________
Knowledge and Understanding (25%): _____ (Design and Coding)
Thinking (25%): _____ (Design, Coding, Testing & Debugging)
Communication (20%): _____ (Problem Definition, Design, and Coding)
Application (30%): _____ (Coding and Testing & Debugging)
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
34
ICS 3U Culminating Activity
General Comments/Feedback:
ICS 3U Course Culminating Activity - Assessment – Learning Skills:
Works
Independently
Teamwork
Needs Improvement
• Uses a few strategies
• Rarely meets deadlines
• Rarely focused
Satisfactory
• Uses several strategies
• Sometimes meets deadlines
• Focused, but often needs
reminders to stay on task
Good
• Uses a variety of strategies
• Usually meets dealings
• Focused, but occasionally
needs reminders to stay on
task
• Shows reluctance to take on
an alternate role in a group
• Rarely shares ideas
• Rarely listens passively or
actively
• Generally works in the same
role in a group;
occasionally tries an
alternate role
• Sometimes shares ideas
• Listens passively and
actively some of the time
• Frequently tries alternate
roles in a group
• Usually shares ideas
• Listens passively and
actively most of the time
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Excellent
• Uses a wide variety of
strategies
• Always, or almost
always, meets deadlines
• Focused, and rarely
needs reminders to stay
on task
• Takes on a variety of
roles in a group
• Always, or almost
always, shares ideas
• Listens passively and
actively almost all of the
time
35
ICS 3U Culminating Activity
Organization
• Rarely brings required
materials to class
• Limited organization
• Rarely uses resources
• Generally brings required
materials to class
• Partial organization
• Sometimes uses resources
Work Habits
• Completes little, if any,
• Completes more than half of
homework
homework
• Rarely submits work on time • Generally submits work on
• Rarely makes up missed
time
work
• Sometimes makes up missed
work
• Completes most homework
• Usually submits work on
time
• Usually makes up missed
work
Initiative
• Rarely acts to solve
problems
• Rarely recognizes what
needs to be done and rarely
takes appropriate steps
• Usually acts to solve
problems
• Usually recognizes what
needs to be done and does
it
• Sometimes acts to solve
problems
• Sometimes recognizes what
needs to be done and does it
• Usually brings required
materials to class
• Considerable organization
• Usually uses resources
• Always, or almost
always, brings required
material to class
• Effective organization
• Always, or almost
always, uses resources
• Completes all homework
• Always, or almost
always, submits work on
time
• Always, or almost
always, makes up missed
work
• Always, or almost
always, acts to solve
problems
• Always, or almost
always, recognizes what
needs to be done and
does it
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
36
ICS 3U Culminating Activity
Introduction to Computer Programming: ICS 3C – Course Outline
Introduction to Computer Programming – ICS 3C
TDSB – School Name, School Department (416- Ex. )
Course Description:
This course introduces students to computer programming concepts and practices. Students will write and
test computer programs, using various problem-solving strategies. They will learn the fundamentals of
program design and apply a software development life-cycle model to a software development project.
Students will also learn about computer environments and systems, and explore environmental issues
related to computers, safe computing practices, emerging technologies, and postsecondary opportunities
in computer-related fields. (Computer Studies: The Ontario Curriculum Grades 10 to 12, Revised, 2008)
Prerequisite: None
Unit Summary:
Unit Title
Unit 1: Computers and Society
This unit explores the ethics related to computers and the environment; emerging technologies
and their affect on society; and career choices and their pathways.
Unit 2: How Computers Work
This unit explores the internal components of a computer, essential computer peripherals, and
networking and the internet.
Unit 3: Introduction to Computer Programming
This unit introduces students to essential computer programming concepts and techniques
1. Introduction to file storage, programming, and Integrated Development Environments.
2. Introduction to the software development life cycle (SDLC).
3. Development of a computer program (e.g. translating pseudo-code to computer code)
with an exploration of a computer language (e.g. syntax, variables, assignment
statements, output statements, etc.)
4. Introduction to debugging and data validation and programming conventions.
Unit 4: Computer Decision Making using Branching
This unit introduces students to branching structure (e.g. case switch, if-else if -else, nested
branching), as well as debugging techniques & data validation (e.g. boundaries, error checking,
run-time & logic errors).
Unit 5: Programming with Iteration & Subprograms
This unit introduces students to repetition structure (e.g. infinite, conditional, and counted
loops), and improving program readability through modularizing the program (methods,
functions, procedures return-types, parameters and arguments, global versus local scope).
Unit 6: Culminating Activity – Project
Your task is to create an educational Learning Object Module (LOM). A Learning Object
Module is something that is used for the purposes of learning. The theme of your educational
Learning Object Module can incorporate any subject topic taught at the secondary level. So,
dust off your text books and start researching a topic. Then write a program that you feel could
enhance another student's understanding of that topic.
Culminating Exam
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Hours
10
6
25
25
25
19
37
ICS 3C Teacher Course Outline
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
25%
20%
20%
35%
30%
25%
20%
20%
35%
100%
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Computer Environments and Systems
D. Computers and Society
Concepts
A1. Data Types and Expressions
A2. Control Structures and Simple Algorithms
A3. Code Maintenance
B1. Problem-solving Strategies
B2. Designing Software Solutions
B3. Designing Simple Algorithms
B4. The Software Development Life Cycle
C1. Computer Components
C2. File Maintenance
C3. The Software Development Environment
D1. Environmental Stewardship and Sustainability
D2. Safe Computing
D3. Emerging Technologies
D4. Postsecondary Opportunities
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
38
ICS 3C Teacher Course Outline
Course Units:
Unit Title, Description, and Expectations
Unit 1: Computers and Society (Note: This unit is intended to be taught throughout the course.)
This unit involves exploring the ethics related to computers and the environment; emerging
technologies and their affect on society; and career choices and their pathways.
Hours
10
Overall Expectations:
D1 describe computer use policies that promote environmental stewardship and sustainability;
D2 describe and apply procedures for safe computing to safeguard computer users and their
data;
D3 explain key aspects of the impact that emerging technologies have on society;
D4 Describe postsecondary education and career prospects related to computer studies.
Specific Expectations:
D1.1 describe negative effects of computer use on the environment,(e.g., creation of waste,
unnecessary printing of emails, heavy power consumption) and on human health, (e.g.,
exposure to radiation, musculoskeletal disorders, eye strain, various health consequences
of reduced activity levels);
D1.2 identify measures that help reduce the impact of computers on the environment, (e.g., lab
regulations, school policies, corporate policies, provincial policies, paperless workplaces,
computer recycling and reuse) and on human health, (e.g., ergonomic standards);
D1.3 describe ways in which computers are or could be used to reduce resource use and to
support environmental protection measures, (e.g., computer modelling to reduce use of
physical resources; interpretation of large amounts of environmental data; management of
natural resources; programmable temperature control to reduce energy consumption);
D1.4 identify government agencies and community partners that provide environmental
stewardship opportunities, opportunities, (e.g., local community recycling centres, private
companies that refurbish computers, printer cartridge recycling programs);
D2.1 explain the need for an acceptable-use policy for using computers at school and at work;
D2.2 describe and use appropriate strategies to avoid potential health and safety problems
associated with computer use, (e.g., musculoskeletal disorders, eye strain);
D2.3 describe procedures to safeguard data and programs from malware, (e.g., viruses, spyware,
adware);
D3.1 explain how emerging technologies can affect personal rights and privacy, (e.g. video
surveillance, cyberbullying, identity theft);
D3.2 describe some emerging technologies and their implications for, and potential uses by,
various members of society;
D3.3 describe some of the solutions to complex problems affecting society that have been or are
being developed through the use of advanced computer programming and emerging
technologies, (e.g., monitoring and regulating electrical supply and demand; using facial
recognition programs to verify the identity of persons entering a country; analysing
criminal activity by overlaying crime data on satellite imagery; analysing large-scale
meteorological data to predict catastrophic storms);
D4.1 research and describe trends in careers that require computer skills, using local and
national sources, (e.g., local newspaper, national newspaper, career websites);
D4.2 identify opportunities for experiential learning (e.g., co-op programs, job shadowing,
career fairs) related to computer science;
D4.3 research and report on postsecondary educational programs leading to careers in the field
of information systems and computer science, (e.g., institutions offering relevant
programs, industry certifications, courses of study, entrance requirements, length of
programs, costs);
D4.4 identify groups and programs that are available to support students who are interested in
pursuing non-traditional career choices in computer-related fields, (e.g., mentoring
programs, virtual networking/support groups, specialized postsecondary programs,
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
39
ICS 3C Teacher Course Outline
relevant trade/industry associations);
D4.5 describe the Essential Skills and work habits that are important for success in computer
studies, as identified in the Ontario Skills Passport.
Unit 2: How Computers Work
This unit explores the internal components of a computer, essential computer peripherals, and
networking & the internet.
6
Overall Expectations:
C1. demonstrate an understanding of the functions of different types of computer components;
Specific Expectations:
C1.1 describe the functions and features of the internal components of a computer, computer
(e.g., CPU, RAM, ROM, cache, hard drive, motherboard, power supply, video card,
sound card);
C1.2 use correct terminology to describe computer features and specifications, (e.g., processor
type, bus speed, storage capacity, amount of memory);
C1.3 describe the functions and features of common computer peripheral devices, (e.g., printer,
monitor, scanner, keyboard, mouse, speakers, USB flash drive);
C1.4 compare and contrast common ISP services and home networking hardware, (e.g., DSL,
cable, dial-up, regional Wi-Fi) and home networking hardware (e.g., NICs, routers,
hardware used for wired and wireless connections).
Unit 3: Introduction to Computer Programming
This unit introduces students to essential computer programming concepts and techniques
25
Overall Expectations:
A1. demonstrate the ability to use different data types in expressions in simple computer
programs;
A2. demonstrate the ability to use control structures and simple algorithms in computer
programs;
A3. use proper code maintenance techniques and conventions when creating computer
programs.
B1. use a variety of problem-solving strategies to solve different types of problems;
B2. design software solutions to meet a variety of challenges, using a set of standards;
B3. design simple algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
C2. use appropriate file maintenance practices to organize and safeguard data;
C3. use a software development environment to write and run computer programs.
Specific Expectations:
A1.1 use constants and variables, including integers, floating points, strings, and Boolean
values, correctly in computer programs;
A1.3 use assignment statements correctly with both arithmetic and string expressions in
computer programs (e.g., numStudents = 4 + 2, name = “Devi”);
A2.1 write programs that incorporate user input, processing, and screen output;
A3.1 explain the difference between syntax, logic, and run-time errors in computer programs;
A3.3 use workplace and professional conventions (e.g., naming, indenting, commenting)
correctly to write programs and internal documentation;
A3.5 demonstrate the ability to validate a program using test cases;
B1.1 use various problem-solving strategies (e.g., divide and conquer, working backwards,
process analysis, examples, extreme cases, tables and charts, trial and error) to solve
programming problems;
B1.2 use the input-process-output model to solve programming problems;
B2.1 design a simple program from a program template or skeleton (e.g., teacher-supplied
skeleton, help facility, code snippet);
B2.2 use appropriate vocabulary and mode of expression (i.e., written, oral, diagrammatic) to
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
40
ICS 3C Teacher Course Outline
describe alternative program designs and to explain the structure of a program;
B2.4 use industry-standard programming tools (e.g., structure chart, flow chart, UML [Unified
Modeling Language], data flow diagram, pseudocode) to represent the structure and
components of a computer program;
B3.2 solve problems (e.g., calculation of gross pay; fuel consumption on a car trip; average of
students’ marks; temperature at a given altitude, using the environmental lapse rate) by
applying mathematical equations or formulas in an algorithm;
B4.1 describe the phases (i.e., problem definition, analysis, design, writing code, testing,
implementation, maintenance), milestones (e.g., date of completion of program
specification), and products (e.g., specification, flow chart, program, documentation, bug
reports) of a software development life cycle;
B4.2 use a variety of techniques (e.g., dialogue, questionnaires, surveys, research) to clarify
program specifications;
B4.4 use a test plan to test programs (i.e., identify test scenarios, identify suitable input data,
calculate expected outcomes, record actual outcomes, and conclude ’pass‘ or ’fail‘) by
comparing expected to actual outcomes;
C2.1 use an operating system to logically organize computer files for easy retrieval, backup, and
recovery;
C2.2 use standard backup procedures to back up user files;
C3.1 describe the functions and features of a software development environment and use it to
write and run a computer program;
C3.2 describe the differences between applications, programming languages, and operating
systems;
C3.3 use Help documentation as a guide to designing and writing programs.
Unit 4: Computer Decision Making using Branching
This unit introduces students to branching structure (e.g. case switch, if-elseif-else, nested
branching), as well as, debugging techniques & data validation (e.g., boundaries, error checking;
run-time & logic errors).
25
Overall Expectations:
A1. demonstrate the ability to use different data types in expressions in simple computer
programs;
A2. demonstrate the ability to use control structures and simple algorithms in computer
programs;
A3. use proper code maintenance techniques and conventions when creating computer
programs;
B1. use a variety of problem-solving strategies to solve different types of problems;
B2. design software solutions to meet a variety of challenges, using a set of standards;
B3. design simple algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
Specific Expectations:
A1.4 use Boolean operators (e.g., AND, OR, NOT), comparison operators (i.e., equal to, not
equal to, greater than, less than, greater than or equal to, less than or equal to), arithmetic
operators (e.g., addition, subtraction, multiplication, division, exponentiation,
parentheses), and order of operations correctly;
A2.3 demonstrate the ability to write algorithms with nested structures;
A3.2 demonstrate the ability to correct syntax, logic, and run-time errors in computer programs;
A3.4 demonstrate the ability to interpret error messages displayed by programming tools (e.g.,
compiler, debugging tool), at different times during the software development process
(e.g., writing, compilation, testing);
B1.1 use various problem-solving strategies (e.g., divide and conquer, working backwards,
process analysis, examples, extreme cases, tables and charts, trial and error) to solve
programming problems;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
41
ICS 3C Teacher Course Outline
B3.3 design algorithms to detect, intercept, and handle run-time errors (e.g., division by zero,
roots of negatives);
B4.5 use a variety of methods to debug programs (e.g., manual code tracing, extra code to
output the state of variables).
Unit 5: Programming with Iteration & Subprograms
This unit introduces students to repetition structures (e.g. infinite, conditional, and counted
loops), and to improving program readability through modularizing (methods, functions,
procedures, return-types, parameters and arguments, global versus local scope).
25
Overall Expectations:
A1. demonstrate the ability to use different data types in expressions in simple computer
programs;
A2. demonstrate the ability to use control structures and simple algorithms in computer
programs;
B2. design software solutions to meet a variety of challenges, using a set of standards;
B3. design simple algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
Specific Expectations:
A1.2 demonstrate the ability to manipulate string data in a computer program (e.g., swap two
characters, capitalize first letter, extract a portion of an address, count the occurrences of a
word or letter);
A2.2 use sequence, selection, and repetition control structures to create programming solutions;
B2.3 write subprograms (e.g., functions, procedures) that perform one well-defined task and use
parameter passing and appropriate variable scope (e.g., local, global);
B2.5 design user-friendly software interfaces (e.g., prompts, messages, screens, forms);
B3.1 use simple algorithms (e.g., validate entered data, count, accumulate, use random
numbers) to design a program according to specifications;
B4.3 use project management tools (e.g., Gantt chart, critical path diagram, PERT chart) to
show tasks and milestones in a teacher-led project.
Unit 6: Culminating Activity – Project
Your task is to create an educational Learning Object Module (LOM). A Learning Object
Module is something that is used for the purposes of learning. The theme of your educational
Learning Object Module can incorporate any subject topic taught at the secondary level. So,
dust off your text books and start researching a topic. Then write a program that you feel could
enhance another student's understanding of that topic.
19
Overall Expectations:
A2. demonstrate the ability to use control structures and simple algorithms in computer
programs;
A3. use proper code maintenance techniques and conventions when creating computer
programs;
B2. design software solutions to meet a variety of challenges, using a set of standards;
B1. use a variety of problem-solving strategies to solve different types of problems;
B3. design simple algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project;
C3. use a software development environment to write and run computer programs.
Culminating Exam
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
42
ICS 3C Teacher Course Outline
Introduction to Computer Programming: ICS 3C – Student Course Sheet
Introduction to Computer Programming – ICS 3C
TDSB – School Name, School Department (416- Ex. )
This course introduces students to computer programming concepts and practices. Students will write and
test computer programs, using various problem-solving strategies. They will learn the fundamentals of
program design and apply a software development life-cycle model to a software development project.
Students will also learn about computer environments and systems, and explore environmental issues
related to computers, safe computing practices, emerging technologies, and postsecondary opportunities
in computer-related fields. (Computer Studies: The Ontario Curriculum Grades 10 to 12, Revised, 2008)
Prerequisite: None
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Computer Environments and Systems
D. Computers and Society
Concepts
A1. Data Types and Expressions
A2. Control Structures and Simple Algorithms
A3. Code Maintenance
B1. Problem-solving Strategies
B2. Designing Software Solutions
B3. Designing Simple Algorithms
B4. The Software Development Life Cycle
C1. Computer Components
C2. File Maintenance
C3. The Software Development Environment
D1. Environmental Stewardship and Sustainability
D2. Safe Computing
D3. Emerging Technologies
D4. Postsecondary Opportunities
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
25%
20%
20%
35%
30%
25%
20%
20%
35%
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
100%
43
ICS 3C Student Course Sheet
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Ontario Skills Passport (OSP):
 Essential Skills needed for work, learning, and life: Reading text, Writing, Computer Use,
Measurement and Calculation, and Problem Solving
 http://skills.edu.gov.on.ca
Classroom Expectations:
 Academic Honesty – Students are expected to be academically honest by submitting their own
original work, and the mark received is intended to reflect their own academic achievement.
 Online Code of Conduct as in the school agenda or
http://www.tdsb.on.ca/communications/code_of_online_conduct/occ.html
 Respect for Property – no food or drink in the lab
 TDSB Homework Policy – Students will receive 30 minutes or less per day for each course.
 Late or missed evaluations - - (if available include School or Department Policy)
Required Resources and Course Materials:
 Text
 Software
 USB Device
 Notebook
Provisions for Student Success:
Teacher Support:
Student Responsibilities:
 Extra help
 Organise a binder to assist with your studies
 School lab time
 Set and focus on realistic goals for each class
 Web, Blog, or Wiki  Record daily achievements to set and meet new challenges
 Teacher email
 Home study in preparation for each class to enrich your learning
 Take advantage of extra help and school lab time to assist in meeting goals
 Provide peer help to consolidate your learning and increase confidence
 Ask questions and look for answers
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
44
ICS 3C Student Course Sheet
Introduction to Computer Programming: ICS 3C – Course Culminating Activity - Project
ICS 3C – Culminating Activity
Performance Task:
Your task is to create an educational Learning Object Module (LOM). A Learning Object Module is
something that is used for the purposes of learning. The theme of your educational Learning Object
Module can incorporate any subject topic taught at the secondary level. So, dust off your text books and
start researching a topic. Then write a program that you feel could enhance another student's
understanding of that topic.
Problem Definition:
Choose a topic on which you would like to create a LOM. Any topic you have learned about in your other
classes is acceptable. List all the requirements for your program and list any limitations your program will
have.
Design:
Provide a detailed description and/or visual storyboard showing how your LOM will work. Your LOM
should follow the basic pattern: Present information  Perform a task  Provide feedback
Your description should answer the following questions.
a. Present information  How are you going to present the information to be learned?
b. Perform a task  How are you going to allow the user to perform a task?
c. Provide feedback  How are you going to provide feedback on the task performed?
Implementation:
After you have planned and designed how your LOM interface will work, implement it by writing a
program that meets the following requirements:
a. Your program must be modular. It will use subprograms.
1. You must use a subprogram that you have written.
2. You must use a subprogram that involves parameter passing.
3. You must use a value returned from a subprogram.
(1-3 could be satisfied by the same subprogram)
b.
c.
d.
e.
Your program should use appropriately named variables.
Your program should include at least 2 selection constructs. (if statements)
Your program should include at least 1 repetition construct. (a loop)
Your program should be commented according to the conventions for the programming
language you are using.
Testing and Debugging:
Test your program at two levels.
1. Do your own testing first. Use expected, unexpected and extreme input values.
2. Have a peer perform user-acceptance testing following the teacher-provided template which will
address the following areas: user-friendliness, program functionality, layout/look.
Write a short report describing the testing you have performed. For each test case show the input, the
expected response from the program and the actual response from your program.
User Manual:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
45
ICS 3C Culminating Activity
Finally, create a user manual for your LOM with easy to follow instructions. You may use both text and
pictures. The manual will be marked for content and clarity about the LOM.
Timelines/Due Dates:
Phase 1: Design
 Problem Definition
 Detailed description and/or visual storyboard
2 hours
Phase 2: Implementation
 Coding
 Internal Commenting
13 hours
Phase 3: Testing and Debugging
 Testing Report
2 hours
Phase 4: Completed Documentation
 User Manual
2 hours
Resource Supports:
What is a learning object:
Wikipedia: http://en.wikipedia.org/wiki/Learning_object
Learning Object Portal: http://ilearn.senecac.on.ca/lop/information/information.htm
Exploring Learning Objects:
LORDEC: http://www.education.uoit.ca/lordec/collections.html
PBS Kids: http://pbskids.org/whiteboard/
OERB: http://ressources.apprentissageelectroniqueontario.ca/index-fr.asp
Login: tdsbstudent
Password: xxxx
Course Expectations:
A2. demonstrate the ability to use control structures and simple algorithms in computer programs;
A3. use proper code maintenance techniques and conventions when creating computer programs;
B1. use a variety of problem-solving strategies to solve different types of problems;
B2. design software solutions to meet a variety of challenges, using a set of standards;
B3. design simple algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project;
C3. use a software development environment to write and run computer programs.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
46
ICS 3C Culminating Activity
Problem
Definition
ICS 3C Course Culminating Activity - Evaluation:
Categories
Level 1
Expresses and
organizes
requirements of
the project.
Level 2
Level 3
Level 4
Expresses and organizes
requirements of the
project with limited
effectiveness.
Expresses and organizes
requirements of the project
with some effectiveness.
Expresses and organizes
requirements of the project
with considerable
effectiveness.
Expresses and organizes
requirements of the
project with a high degree
of effectiveness.
Demonstrates limited
knowledge of the use of
design tools.
Demonstrates some
knowledge of the use of
design tools.
Demonstrates considerable
knowledge of the use of
design tools.
Demonstrates thorough
knowledge of the use of
design tools.
Uses design tools to plan
the solution with limited
effectiveness.
Uses design tools to plan the
solution with some
effectiveness.
Uses design tools to plan the
solution with considerable
effectiveness.
Uses design tools to plan
the solution with a high
degree of effectiveness.
Design communicated
Design communicated with
with limited effectiveness. some effectiveness.
Design communicated with
considerable effectiveness.
Design communicated
with a high degree of
effectiveness.
Demonstrates limited
knowledge of the
language’s syntax.
Demonstrates some
knowledge of the language’s
syntax.
Demonstrates considerable
knowledge of the language’s
syntax.
Demonstrates thorough
knowledge of the
language’s syntax.
Uses internal
programming comments
to express how the
constructs function with
limited effectiveness.
Uses internal programming
comments to express how
the constructs function with
some effectiveness.
Uses internal programming
comments to express how
the constructs function with
considerable effectiveness.
Uses internal
programming comments
to express how the
constructs function with a
high degree of
effectiveness.
(C)
Design
Knowledge of
design tools.
(K/U)
Use of design
tools.
(T)
Design was
communicated.
(C)
Coding
Knowledge of
the language’s
syntax.
(K/U)
Uses internal
programming
comments to
express how the
constructs
function.
(T)
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
47
ICS 3C Culminating Activity
Testing & Debugging
User
Manual
Uses
programming
and natural
language
conventions.
(C)
Appropriate use
of programming
constructs.
(A)
Uses programming and
natural language
conventions with limited
effectiveness.
Uses programming and
natural language
conventions with some
effectiveness.
Uses programming and
natural language
conventions with
considerable effectiveness.
Uses programming and
natural language
conventions with a high
degree of effectiveness.
Applies appropriate use of Applies appropriate use of
programming constructs
programming constructs
with limited effectiveness. with some effectiveness.
Applies appropriate use of
programming constructs
with considerable
effectiveness.
Applies appropriate use
of programming
constructs with a high
degree of effectiveness.
Corrects design
flaws by testing
and debugging.
(T)
Uses critical/creative
thinking processes to
correct design flaws by
testing and debugging
with limited effectiveness.
Uses critical/creative
thinking processes to correct
design flaws by testing and
debugging with some
effectiveness.
Uses critical/creative
thinking processes to correct
design flaws by testing and
debugging with considerable
effectiveness.
Create a testing
report
(C)
Testing report shows test
cases with limited
effectiveness.
Testing report shows test
cases with some
effectiveness.
Testing report shows test
cases with considerable
effectiveness.
Uses critical/creative
thinking processes to
correct design flaws by
testing and debugging
with a high degree of
effectiveness.
Testing report shows test
cases with a high degree
of effectiveness.
User manual
communicates
instructions.
(C)
User manual
User manual communicates
communicates and
and expresses instructions
expresses instructions
with some effectiveness.
with limited effectiveness.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
User manual communicates
and expresses instructions
with considerable
effectiveness.
User manual
communicates and
expresses instructions
with a high degree of
effectiveness.
48
ICS 3C Culminating Activity
Student Name: _____________________________________________________
Knowledge and Understanding (25%): _____ (Design and Coding)
Thinking (20%): _____ (Design, Coding, and Testing & Debugging)
Communication (20%): _____ (Problem Definition, Design, Coding, and User Manual)
Application (35%): _____ (Coding and Testing & Debugging)
ICS 3C Course Culminating Activity - Assessment – Learning Skills:
Needs Improvement
• Uses a few strategies
• Rarely meets deadlines
• Rarely focused
Satisfactory
• Uses several strategies
• Sometimes meets deadlines
• Focused, but often needs
reminders to stay on task
Good
• Uses a variety of strategies
• Usually meets dealings
• Focused, but occasionally
needs reminders to stay on
task
Teamwork
• Shows reluctance to take on
an alternate role in a group
• Rarely shares ideas
• Rarely listens passively or
actively
• Frequently tries alternate
roles in a group
• Usually shares ideas
• Listens passively and
actively most of the time
Organization
• Rarely brings required
materials to class
• Limited organization
• Rarely uses resources
• Generally works in the same
role in a group;
occasionally tries an
alternate role
• Sometimes shares ideas
• Listens passively and
actively some of the time
• Generally brings required
materials to class
• Partial organization
• Sometimes uses resources
Works
Independently
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
• Usually brings required
materials to class
• Considerable organization
• Usually uses resources
Excellent
• Uses a wide variety of
strategies
• Always, or almost
always, meets deadlines
• Focused, and rarely
needs reminders to stay
on task
• Takes on a variety of
roles in a group
• Always, or almost
always, shares ideas
• Listens passively and
actively almost all of the
time
• Always, or almost
always, brings required
material to class
• Effective organization
• Always, or almost
always, uses resources
49
ICS 3C Culminating Activity
Work Habits
• Completes little, if any,
• Completes more than half of
homework
homework
• Rarely submits work on time • Generally submits work on
• Rarely makes up missed
time
work
• Sometimes makes up missed
work
• Completes most homework
• Usually submits work on
time
• Usually makes up missed
work
Initiative
• Rarely acts to solve
problems
• Rarely recognizes what
needs to be done and rarely
takes appropriate steps
• Usually acts to solve
problems
• Usually recognizes what
needs to be done and does
it
• Sometimes acts to solve
problems
• Sometimes recognizes what
needs to be done and does it
• Completes all homework
• Always, or almost
always, submits work on
time
• Always, or almost
always, makes up missed
work
• Always, or almost
always, acts to solve
problems
• Always, or almost
always, recognizes what
needs to be done and
does it
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
50
ICS 3C Culminating Activity
Computer Science: ICS 4U – Course Outline
Computer Science – ICS 4U
TDSB – School Name, School Department (416- Ex. )
Course Description:
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. (Computer Studies: The Ontario Curriculum Grades 10 to 12,
Revised, 2008)
Prerequisite: Introduction to Computer Science, Grade 11, ICS 3U
Unit Summary:
Unit Title
Unit 1: Review of Grade 11 Concepts and Introduction
This unit is designed to review concepts taught in grade 11, which students have done the
previous year. It can also be used to transition from the programming language taught in
grade 11 to a new language in grade 12. It also includes a sub-unit on file I/O which may be
taught later in the course at the teacher’s discretion.
Unit 2: Intro to Modular Programming
Concepts in unit 1 should now be enhanced as components within a modular programming
framework. (This is an opportunity for subject teachers to introduce object-oriented concepts
and an object-oriented programming language.)
Unit 3: Designing and Analyzing Algorithms
This unit is made up of three sub-units. Students will learn about and use algorithms involving
1D arrays, 2D arrays, searching, sorting and recursion.
Unit 4: Other Topics in Computer Science
These topics can be covered in a variety of methods – through research assignments, group
discussions or reinforced through current projects.
Unit 5: Team Project
Assign a team project that will tie together most if not all programming concepts and
algorithms from previous units. Throughout this unit students will be taught the following
concepts and demonstrate them as part of the project. There will be milestones set throughout
the project where students will demonstrate growth and depth of learning regarding project
design, planning and management; evaluation will take place at each milestone after
opportunity to practice and receive feedback.
Hours
10
25
25
20
30
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
51
ICS 4U Teacher Course Outline
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluation
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
100%
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Designing Modular Programs
D. Topics in Computer Science
Concepts
A1. Data Types and Expressions
A2. Modular Programming
A3. Designing Algorithms
A4. Code Maintenance
B1. Project Management
B2. Software Project Contribution
C1. Modular Design
C2. Algorithm Analysis
D1. Environmental Stewardship and Sustainability
D2. Ethical Practices
D3. Emerging Technologies & Society
D4. Exploring Computer Science
Course Units:
Unit Title, Description, and Expectations
Hours
Unit 1: Review and Extension of Previous and Fundamental Concepts
This unit is designed to review concepts taught in grade 11, which students may have done the
previous year. It can also be used to transition from the programming language taught in
grade 11 to a new language in grade 12. It also includes a sub-unit on file I/O which may be
taught later in the course at the teacher’s discretion.
10
Overall Expectations:
A1. demonstrate the ability to use different data types and expressions when creating
computer programs;
A3. design and write algorithms and subprograms to solve a variety of problems.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
52
ICS 4U Teacher Course Outline
Specific Expectations:
A1.1 demonstrate the ability to use integer division and resultant remainders in computer
programs;
A1.2 demonstrate an understanding of type conversion (e.g., string-to-integer, character-tointeger, integer-to- character, floating point-to-integer, casting in an inheritance
hierarchy);
A1.3 demonstrate the ability to use non-numeric comparisons (e.g., strings, comparable
interface) in computer programs;
A1.4 demonstrate an understanding of the limitations of finite data representations (e.g.,
integer bounds, precision of floating-point real numbers, rounding errors) when
designing algorithms;
A1.5 describe and use one-dimensional arrays of compound data types (e.g., objects,
structures, records) in a computer program;
A3.1 demonstrate the ability to read from, and write to, an external file (e.g., text file, binary
file, database, XML file ) from within a computer program.
Unit 2: Intro to Modular Programming
Concepts in unit 1 should now be enhanced as components within a modular programming
framework. (This is an opportunity for subject teachers to introduce object-oriented concepts
and an object-oriented programming language.)
25
Overall Expectations:
A2. describe and use modular programming concepts and principles in the creation of
computer programs;
C1. demonstrate the ability to apply modular design concepts in computer programs.
Specific Expectations:
A2.1 create a modular program that is divided among multiple files (e.g., user-defined classes,
libraries, modules);
A2.2 use modular design concepts that support reusable code (e.g., encapsulation, inheritance,
method overloading, method overriding, polymorphism);
A2.3 demonstrate the ability to modify existing modular program code to enhance the
functionality of a program;
C1.2 demonstrate the ability to apply data encapsulation in program design (e.g., classes,
records, structures);
C1.3 demonstrate the ability to apply the process of functional decomposition in subprogram
design;
C1.4 apply the principle of reusability in program design (e.g., in modules, subprograms,
classes, methods, and inheritance).
Unit 3: Designing and Analyzing Algorithms
This unit is made up of three sub-units. Students will learn about and use algorithms involving
1D arrays, 2D arrays, searching, sorting and recursion.
25
Overall Expectations:
A3. design and write algorithms and subprograms to solve a variety of problems;
C2. analyse algorithms for their effectiveness in solving a problem.
Specific Expectations:
Searching and other Algorithms with Arrays
A3.2 create linear and binary search algorithms to find data in an array;
A3.3 create subprograms to insert and delete array elements;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
53
ICS 4U Teacher Course Outline
A3.5 create algorithms to process elements in two dimensional arrays (e.g., multiply each
element by a constant, interchange elements, multiply matrices, process pixels in an
image);
C2.2 compare the efficiency of linear and binary searches, using run times and computational
complexity analysis (e.g., to analyse the number of statements executed, the number of
iterations of a loop, or the number of comparisons performed).
Sorting
A3.4 create a sort algorithm (e.g., bubble, insertion, selection) to sort data in an array;
C2.1 demonstrate the ability to analyse a precondition (i.e., starting state) and a post condition
(i.e., ending state) in an algorithm;
C2.3 compare the efficiency of sorting algorithms, using run times and computational
complexity analysis (e.g., to analyse the number of statements executed, the number of
iterations of a loop, or the number of comparisons performed).
Recursion
A3.6 design a simple and efficient recursive algorithm (e.g., calculate a factorial, translate
numbers into words, perform a merge sort, generate fractals, perform XML arising);
C2.4 identify common pitfalls in recursive functions (e.g., infinite recursion, exponential
growth in recursive algorithms such as Fibonacci numbers).
Unit 4: Other Topics in Computer Science
These topics can be covered in a variety of methods – through research assignments, group
discussions or reinforced through current projects.
20
Overall Expectations:
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.
Specific Expectations:
D1.1 outline strategies to reduce the impact of computers and related technologies on the
environment (e.g., reduce, reuse, and recycle turn computers and monitors off at end of
day; participate in printer cartridge recycling) and on human health (e.g. ergonomic
standards);
D1.2 investigate and report on governmental and community initiatives that encourage
environmental stewardship and promote programs and practices that support
sustainability (e.g., local community recycling centres, private companies that refurbish
computers, printer cartridge recycling programs);
D2.1 investigate and analyse an ethical issue related to the use of computers (e.g., sharing
passwords, music and video file downloading, software piracy,keystroke logging,
phishing, cyberbullying);
D2.2 describe the essential elements of a code of ethics for computer programmers (e.g., ACM
[Association for Computing Machinery] and IEEE [Institute of Electrical and
Electronics Engineers] standards) and explain why there is a need for such a code (e.g.,
plagiarism, backdoors, viruses, spyware, logic bombs);
D2.3 outline and apply strategies to encourage ethical computing practices at home, at school,
and at work;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
54
ICS 4U Teacher Course Outline
D3.1 explain the impact of a variety of emerging technologies on various members of society
and on societies and cultures around the world and on the economy;
D3.2 investigate an emerging technology and produce a report using an appropriate format
(e.g., technical report, website, presentation software, video);
D4.1 report on some areas of collaborative research between computer science and other fields
(e.g., bioinformatics, geology, economics, linguistics, health informatics, climatology,
sociology, art), on the basis of information found in industry publications (e.g., from the
ACM and IEEE);
D4.2 investigate a topic in theoretical computer science (e.g., cryptography, graph theory,
logic, computability theory, attribute grammar, automata theory, data mining, artificial
intelligence, robotics, computer vision, image processing), and produce a report, using
an appropriate format (e.g., website, presentation software, video);
D4.3 research and describe careers associated with computer studies (e.g., computer scientist,
software engineer, systems analyst), and the postsecondary education required to
prepare for them;
D4.4 evaluate their own development of Essential Skills and work habits that are important for
success in computer studies, as identified in the Ontario Skills Passport.
Unit 5: Term Project
Assign a team project that will tie together most if not all programming concepts and
algorithms from previous units. Throughout this unit students will be taught the following
concepts and demonstrate them as part of the project. There will be milestones set throughout
the project where students will demonstrate growth and depth of learning regarding project
design, planning and management; evaluation will take place at each milestone after
opportunity to practice and receive feedback.
30
Overall Expectations:
A4. use proper code maintenance techniques 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.
Specific Expectations:
A4.1 work independently, using support documentation (e.g., IDE Help, tutorials, websites,
user manuals), to resolve syntax issues during software development;
A4.2 develop and implement a formal testing plan (e.g., unit testing, integration testing,
regression testing) for a software project to ensure program correctness;
A4.3 create fully documented program code according to industry standards (e.g., doc
comments, docstrings, block comments, line comments);
A4.4 create clear and maintainable external user documentation (e.g., Help files, training
materials, user manuals);
B1.1 create a software project plan by producing a software scope document and determining
the tasks, deliverables, and schedule;
B1.2 develop the software product according to the project plan (i.e., ensure that the software
meets end user needs, functions as intended, and can be produced within quality
standards, budget, and timelines);
B1.3 produce the software according to specifications (i.e., code, test, deploy), and create user
documentation and training materials;
B1.4 use an appropriate project management tool (e.g., Gantt chart, PERT chart, calendar) to
manage project components;
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
55
ICS 4U Teacher Course Outline
B1.5 close the project (i.e., confirm that software meets all user requirements, deliver software
in appropriate format, plan software support and maintenance);
B1.6 review the management of the project (e.g., compare plan to actual performance,
outline successes, make recommendations for improvement) and prepare a report in an
appropriate format;
B1.7 demonstrate the ability to use shared resources to manage source code effectively and
securely (e.g., organize software components using shared files and folders with
timestamps, and proper version control);
B2.1 demonstrate the ability to contribute, as a team member, to the planning, development,
and production of a large software project;
B2.2 demonstrate the ability to meet project goals and deadlines by managing individual time
during a group project;
B2.3 reflect on, and assess, team and individual progress during the project review;
C1.1 decompose a problem into modules, classes, or abstract data types (e.g., stack, queue,
dictionary) using an object-oriented design methodology (e.g., CRC [Class
Responsibility Collaborator] or UML [Unified Modeling Language]);
C1.4 apply the principle of reusability in program design (e.g., in modules, subprograms,
classes, methods, and inheritance).
Culminating Exam
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
56
ICS 4U Teacher Course Outline
Computer Science: ICS 4U – Student Course Sheet
Computer Science – ICS 4U
TDSB – School Name, School Department (416- Ex. )
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. (Computer Studies: The Ontario Curriculum Grades 10 to 12,
Revised, 2008) Prerequisite: Introduction to Computer Science, Grade 11, ICS 3U
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Designing Modular Programs
D. Topics in Computer Science
Concepts
A1. Data Types and Expressions
A2. Modular Programming
A3. Designing Algorithms
A4. Code Maintenance
B1. Project Management
B2. Software Project Contribution
C1. Modular Design
C2. Algorithm Analysis
D1. Environmental Stewardship and Sustainability
D2. Ethical Practices
D3. Emerging Technologies & Society
D4. Exploring Computer Science
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluation
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
100%
57
ICS 4U Student Course Sheet
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Ontario Skills Passport (OSP):
 Essential Skills needed for work, learning, and life: Reading text, Writing, Computer Use,
Measurement and Calculation, and Problem Solving
 http://skills.edu.gov.on.ca
Classroom Expectations:
 Academic Honesty – Students are expected to be academically honest by submitting their own
original work, and the mark received is intended to reflect their own academic achievement.
 Online Code of Conduct as in the school agenda or
http://www.tdsb.on.ca/communications/code_of_online_conduct/occ.html
 Respect for Property – no food or drink in the lab
 TDSB Homework Policy – Students will receive 30 minutes or less per day for each course.
 Late or missed evaluations - - (if available include School or Department Policy)
Required Resources and Course Materials:
 Text
 Software
 USB Device
 Notebook
Provisions for Student Success:
Teacher Support:
Student Responsibilities:
 Extra help
 Organise a binder to assist with your studies
 School lab time
 Set and focus on realistic goals for each class
 Web, Blog, or Wiki  Record daily achievements to set and meet new challenges
 Teacher email
 Home study in preparation for each class to enrich your learning
 Take advantage of extra help and school lab time to assist in meeting goals
 Provide peer help to consolidate your learning and increase confidence
 Ask questions and look for answers
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
58
ICS 4U Student Course Sheet
Computer Science: ICS 4U – Term Project
ICS 4U – Team Project – Books, Ratings, Suggestions, and More!
Team Project Description: The basic idea
For this activity your team will design an online database and product rating system as found on Indigo.ca
or Amazon.com. This handout always refers to the products in your database as books but your own
implementation could be about another category of products such as music, movies, games, restaurants,
favourite foods, TV shows, etc.
Your program will manage a set of customers and a set of books. Customers will rate individual books
and the program will be able to produce statistics about a given book such as the number of ratings or the
average rating. Of course, a given customer probably hasn't read all the books in the database and so will
only have ratings for some of them. All the data will be saved between runs of your program so that the
same customer can connect multiple times and add more ratings.
Customers will have a unique name and you might also decide to implement customer passwords. You
should be able to add new customers to the system at any time. For each customer, the program needs to
keep the rating for each book that the customer has rated thus far. Think carefully about an appropriate
rating system. A returning customer may reconnect to the system and rate more books or change past
ratings.
For each product, your program will store the relevant identifying information such as author and title (if
the product is books), or the appropriate information for the product that you have chosen. It is
recommended that (at least initially) you work with a fixed number of books.
Making predictions about suggested books a customer might read
When you connect with many online stores and make purchases, the system suggests other products you
might like. This feature is often available at Indigo.ca when searching for a book. The page contains
information such as “other customers who bought this item also bought …” The better your website is at
making predictions that actually match the customer’s real taste, the happier your customer will be and
the more they likely they are to trust your recommendations.
You should consider the complexity of the prediction algorithm, which can range from simple
comparisons to complex statistical models. Talk to your teacher about the most appropriate challenge for
you.
Project Options or Differentiated Instruction Opportunities:
(Note to teacher - Below is a list of other items you may wish to include for all class members or some
depending on the students. It may also give ideas how to modify the program for the next semester or
year.)
 Add administrator access to admit new customers with assigned passwords. The administrator
may have the ability to request overall statistics about the system.
 Allow a customer to add new books to the system. Notice that this complicates the prediction
because customers, who were added before the latest books, will not have ratings for these books.
This is not difficult to handle but necessary to address.
 You might want to consider an efficient way for the program to produce a summary of the ratings
for a particular book.
 Implement the database in a database package such as MYSQL.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
59
ICS 4U Team Project


Use data files provided by the teacher which already contain a large number of ratings for a fixed
set of products.
Make suggestions for online friendships that are based on the similarity between two customers’
ratings.
Timelines/Due Dates:
Each project phase has been allocated a specific amount of classroom time. Teams finding that they are
not meeting these deadlines will need to work outside of class to remain on schedule.
Phase 1: Design and Plan
5 hours
1. Team contract (conflict resolution plan, member roles).
2. Initial design (flowchart, pseudo-code, or UML diagrams).
3. Design of user interface.
4. Teamwork breakdown plan (who is responsible for what, when does each component need to be
completed, how will we share updates?).
Phase 2: Implementation
21 hours
The implementation requirements of your program are broken down into 3 milestones. You should make
sure that your code successfully achieves the tasks described by each milestone before starting to code the
next. (Teachers may wish to add a requirement to show the code at each milestone.)
Milestone A: The basic data-structures for storing books and customers are implemented, tested and
documented. Your program can read books in from the book file and read/write the customer file.
Your program can display a list of 10 random books from the system.
Milestone B: Customers can rate books and new customers can be added to the system. Your
program can display a list of books, sorted by the average rating.
Milestone C: Program is a working, installable executable that runs correctly. It allows a customer to
rate books and also makes suggestions about other books the user might like, by displaying a list of
the top 10 recommendations.
While completing this implementation phase be minding of including internal documentation appropriate
for the language used (e.g. doc comments, docstrings, class comments).
Phase 3: Completed Documentation
2 hours
1. External documentation – help system built into the program.
2. Testing notes/ what was learned and discovered during the testing phase.
3. Each team member must submit a list of at least 4 problems they encountered during the
programming, along with a detailed solution to each problem.
Phase 4: Interview 2 hours
A private discussion and presentation of program material will be scheduled between the teacher and the
project team. The following three items will be addressed:
o Discussion of algorithms developed by each team member.
o Reflection on management of project and individual contribution.
o Demonstration of the software written by the team.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
60
ICS 4U Team Project
Course Expectations:
The following course expectations are addressed by this project, as they are not specifically addressed in
the other course units. The project also addresses many other course expectations (such as programming
concepts) that have previously been taught and evaluated in earlier course units.
A4. use proper code maintenance techniques 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;
Project Submissions:
The following are expected to be included in the program:







Appropriate data types
Non-numeric comparisons
1-dimensional array of compound data types or a 2-dimensional array
Modular programming
o user defined classes
o use of standard libraries
o encapsulaton where appropriate
Reading from and writing to text files
Searching
Sorting
All code must be internally documented according to expectations discussed in class.
In addition to your source code, your team must submit (teacher to list specific requirements):
 Team Contract
 Initial Design
 Design of User Interface
 Teamwork Breakdown
 External Documentation
 Testing Notes
 Individual Challenges and Solutions
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
61
ICS 4U Team Project
ICS 4U Team Project - Evaluation:
Categories
Level 1
Level 2
Level 3
Level 4
Knowledge/Understanding – Subject-specific content acquired in each course (knowledge), and the comprehension of its meaning and
significance (understanding)
-demonstrates limited
-demonstrates some
Knowledge of content
knowledge of content
knowledge of content
 Code structures
 Data structures
 Modular programming
 File IO
 Searching/sorting
-demonstrates limited
-demonstrates some
Understanding of concepts
understanding of
understanding of
 IDE
concepts
concepts
 Debugger
 Algorithms
 Design methodologies
Thinking – The use of critical and creative thinking skills and/or processes
-demonstrates
considerable
knowledge of content
-demonstrates thorough
knowledge of content
-demonstrates
considerable
understanding of
concepts
-demonstrates thorough
understanding of concepts
Use of planning skills
 Algorithmic design
 Timelines
 Task assignment & tracking
 Deadlines/milestones
Use of processing skills
 Task division & assignment
of project elements
 Evaluating & Integrating
individual project
components into final
project
-uses planning skills
with limited
effectiveness
-uses planning skills
with some
effectiveness
-uses planning skills
with considerable
effectiveness
-uses planning skills with a
high degree of effectiveness
-uses processing skills
with limited
effectiveness
-uses processing skills
with some
effectiveness
-uses processing skills
with considerable
effectiveness
-uses processing skills with
a high degree of
effectiveness
Use of critical/creative thinking
processes
 Software design cycle
 Testing & debugging using
valid & invalid data
-uses critical/creative
thinking processes with
limited effectiveness
-uses critical/creative
thinking processes
with some
effectiveness
-uses critical/creative
thinking processes
with considerable
effectiveness
-uses critical/creative
thinking processes with a
high degree of effectiveness
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
62
ICS 4U Team Project

Researching potential math
formulas
(e.g., evaluation of
computer solutions, problem
solving, decision making,
detecting and correcting
flaws, research)
Communication – The conveying of meaning through various forms
-expresses and organizes -expresses and
Expression and organization of
ideas and information
organizes ideas and
ideas and information
with limited
information with some
in oral, visual and written forms,
effectiveness
effectiveness
including electronic forms
 Design documentation
 Internal documentation
 Built-in help system
 User-friendly interface
 Testing notes
 Problems and solutions
 Phase 4 presentation
(e.g., clear expression,
logical organization)
-communication for
-communication for
Communication for different
audiences (e.g., peers, computer
different audiences and
different audiences and
users, company supervisor) and
purposes with limited
purposes with some
purpose (e.g., to inform, persuade)
effectiveness
effectiveness
in oral, visual, and written forms,
including electronic forms
 Design documentation
 Internal documentation
 Built-in help system
 User-friendly interface
 Testing notes
 Problems and solutions
 Phase 4 presentation
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
-expresses and
organizes ideas and
information with
considerable
effectiveness
-expresses and organizes
ideas and information with
a high degree of
effectiveness
-communication for
different audiences and
purposes with
considerable
effectiveness
-communication for
different audiences and
purposes with a high degree
of effectiveness
63
ICS 4U Team Project
-uses conventions,
-uses conventions,
-uses conventions,
Use of conventions, vocabulary,
vocabulary, and
vocabulary, and
vocabulary, and
and terminology of the discipline
terminology
of
the
terminology
of
the
terminology of the
in oral, visual, and written forms,
discipline with some
discipline with
including electronic forms suitable discipline with limited
effectiveness
effectiveness
considerable
for the assigned audience
effectiveness
 Design documentation
 Internal documentation
 Programming conventions
 Built-in help system
 User-friendly interface
 Testing notes
 Problems and solutions
 Phase 4 presentation
Application – The use of knowledge and skills to make connections within and between various contexts
-applies knowledge and
-applies knowledge
-applies knowledge
Application of knowledge and
skills in familiar
and skills in familiar
and skills in familiar
skills in familiar contexts
contexts with limited
contexts with some
contexts with
 Selects correct
effectiveness
effectiveness
considerable
programming structures
effectiveness
 Selects correct data types
 Organizes code into
classes/modules
 Designs appropriate data
files
 User interface is user
friendly & well
designed/organized
-transfers knowledge and -transfers knowledge
-transfers knowledge
Transfer of knowledge and skills
skills
to
new
contexts
and
skills
to
new
and skills to new
to new contexts
with limited
contexts with some
contexts with
 Credits code from other
effectiveness
effectiveness
considerable
sources
effectiveness
 Incorporates sort/search in
appropriate places
 Appropriately modifies
code from other sources
 Uses known algorithms
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
-uses conventions,
vocabulary, and
terminology of the
discipline with a high
degree of effectiveness
-applies knowledge and
skills in familiar contexts
with a high degree
effectiveness
-transfers knowledge and
skills to new contexts with
a high degree of
effectiveness
64
ICS 4U Team Project
appropriately in new
contexts
Making connections within and
between various contexts
 Designs an appropriate
algorithm to do prediction
 Incorporates different
disciplines to create the
final project
 Future enhancement
discussion
-makes connections
within and between
various contexts with
limited effectiveness
-makes connections
within and between
various contexts with
some effectiveness
-makes connections
within and between
various contexts with
considerable
effectiveness
-makes connections within
and between various
contexts with a high degree
of effectiveness
Student Name: __________________________________
Knowledge/Understanding: _____ 20%
Thinking: _____
25%
Communication: _____ 20%
Application: _____ 35%
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
65
ICS 4U Team Project
ICS 4U Team Project – Assessment – Learning Skills:
Needs Improvement
• Uses a few strategies
• Rarely meets deadlines
• Rarely focused
Satisfactory
• Uses several strategies
• Sometimes meets deadlines
• Focused, but often needs
reminders to stay on task
Good
• Uses a variety of strategies
• Usually meets dealings
• Focused, but occasionally
needs reminders to stay on
task
Teamwork
• Shows reluctance to take on
an alternate role in a group
• Rarely shares ideas
• Rarely listens passively or
actively
• Frequently tries alternate
roles in a group
• Usually shares ideas
• Listens passively and
actively most of the time
Organization
• Rarely brings required
materials to class
• Limited organization
• Rarely uses resources
• Generally works in the same
role in a group;
occasionally tries an
alternate role
• Sometimes shares ideas
• Listens passively and
actively some of the time
• Generally brings required
materials to class
• Partial organization
• Sometimes uses resources
Work Habits
• Completes little, if any,
• Completes more than half of
homework
homework
• Rarely submits work on time • Generally submits work on
• Rarely makes up missed
time
work
• Sometimes makes up missed
work
• Completes most homework
• Usually submits work on
time
• Usually makes up missed
work
Initiative
• Rarely acts to solve
problems
• Rarely recognizes what
needs to be done and rarely
takes appropriate steps
• Usually acts to solve
problems
• Usually recognizes what
needs to be done and does
it
Works
Independently
• Sometimes acts to solve
problems
• Sometimes recognizes what
needs to be done and does it
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
• Usually brings required
materials to class
• Considerable organization
• Usually uses resources
Excellent
• Uses a wide variety of
strategies
• Always, or almost
always, meets deadlines
• Focused, and rarely
needs reminders to stay
on task
• Takes on a variety of
roles in a group
• Always, or almost
always, shares ideas
• Listens passively and
actively almost all of the
time
• Always, or almost
always, brings required
material to class
• Effective organization
• Always, or almost
always, uses resources
• Completes all homework
• Always, or almost
always, submits work on
time
• Always, or almost
always, makes up missed
work
• Always, or almost
always, acts to solve
problems
• Always, or almost
always, recognizes what
needs to be done and
does it
66
ICS 4U Team Project
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
67
ICS 4U Team Project
ICS 4U – Team Project – Books, Ratings, Suggestions, and More!
Teacher Supplement
This handout is intended to be used by teachers to assist with the facilitation of the sample ICS 4U Team
project. A teacher may chose to include and paste some of this information to the student handout as is
appropriate for the class.
Predicting User Preferences: The interesting part of the assignment
The component of this project that sets it apart from the implementation of a basic database is the ability
of the program to make predictions about which other books a given user might like. Implementing this
feature provides a wide range of opportunities for differentiated learning and a number of openings for
discussing broader Computer Science concepts. In particular, it provides a hook to current research in
artificial intelligence that could be explored by strong students. Below is an explanation of three different
prediction algorithms.
Approach A: Basic
Let’s consider a user named Rabia. How is it that the program should predict other books Rabia might
like? The simplest approach would be to make almost the same prediction for every customer. In this case
the program would simply calculate the average rating for all the books in the database, sort the books by
rating and then from that sorted list, suggest the top 5 books that Rabia hasn’t already rated.
Approach B: More Sophisticated
In the Approach A, the only information special to Rabia used by the prediction algorithm was whether or
not Rabia had read a specific book. We could make a better prediction about what Rabia might like by
considering her actual ratings in the past and how these ratings compare to the ratings given by other
customers. Consider how you decide on movie recommendations from friends. If a friend tells you about
a number of movies that one enjoyed and you also enjoyed them, then when one tells you about another
movie that you have never seen, and one enjoyed it, you probably are willing to go see it. On the other
hand, if you and a different friend always tend to disagree about movies – you enjoy the ones this friend
hates and this friend enjoys the ones you hate – you are not likely to go to a movie.
The program can calculate how similar two users are, by treating each of their ratings as a vector and
calculating the dot product of these two vectors. You may have to remind (or even teach) students the
definition of a dot product. It is just the sum of the products of each of the corresponding elements.
Suppose we had 3 books in our data-base and Rabia rated them
[ 5,3,-5], Suelyn rated them [1,5,-3], Bob rated them [5,-3,5], and Kalid rated them [1, 3, 0].
The similarity between Rabia and Bob is calculated as: (5 X 5) + (3 X -3) + (-5 x 5) = 25 -9 -25 = -9
The similarity between Rabia and Suelyn is: (5x1) + (3x 5) + (-5x -3) = 5 + 15+ 15 = 35
The similarity between Rabia and Kalid is (5x1) + (3x3) + (-5x0) = 5 + 9 + 0 = 14
We see that if both people like a book (rating it with a positive number) it increases their similarity and if
both people dislike a book (both giving it a negative number) it also increases their similarity.
Once you have calculated the pair-wise similarity between Rabia and every other customer, you can use
the ratings of the user who is most-similar to Rabia, to make your sorted list of books from which you can
make some recommendations to Rabia. In this case Rabia is most similar to Suelyn, so we would use sort
all the books according to Suelyn's ratings. Then we would recommend to Rabia the top books from
Suelyn's list that Rabia hadn't already rated.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
68
ICS 4U Team Project
Approach C: Most Sophisticated
In the Approach B, the algorithm used the ratings of every customer to calculate how similar Rabia is to
every other user in the database and find the single user who is most-similar to Rabia. Once the algorithm
finds that Suelyn is the closest match to Rabia, it only uses Suelyn’s ratings to make suggestions for
Rabia and doesn’t consider the ratings of anyone else at all. Wouldn’t it be more interesting to consider
the ratings of a number of different people who were similar to Rabia? But how many and how much
weight should we give to the different recommendations? Think again about the friends telling you about
a movie you should see. If one friend Irfan (whose movie sense you tend to trust) tells you he hated a
certain movie, but 5 other friends (whose movie sense you also trust) enjoyed the movie, you might
decide to go see it. However, if you really trust Irfan’s judgement and you often don’t agree with the other
5 friends, that might change your opinion. The more you trust a person’s ratings, the more you will factor
them into your final decision.
For this approach, your algorithm will look at every user and calculate how similar that person is to Rabia
in the same way as the previous approach. Then it will calculate a final prediction rating for each book by
weighting the ratings given by each other user by the similarity of that user with Rabia.
Let’s look again at our example. The final rating of the books for Rabia is calculated as:
(Bob's ratings) X (Bob's similarity to Rabia ) + (Kalid's ratings) X (Kalid's similarity to Rabia) +
(Suelyn's ratings) X (Suelyn's similarity to Rabia )
= [5,-3,5] * x -9 + [1, 3, 0] x 14 + [1,5,-3] * 35
= [-45,27,-45] + [13,42,0] + [35,175,-105]
= [3,244,-150]
So we would recommend books to Rabia in the order book 2, book 1, and book 3. Of course this doesn't
make much sense since Rabia has already read all the books in our system. In order for it to work, the
user has to have some books that they have not yet read.
Determining a Rating System
In the student handout, the rating system is not prescribed. Students are allowed to design their own
system. It is likely that without guidance students will invent a scheme that uses only non-negative
numbers. Many will propose using a scale of 0-5 or maybe 1-5 with 5 being “I really liked this” and 1
being “I didn’t like it”. They might then use 0 to be “I didn’t read this”. This is an obvious choice and will
work sufficiently well for prediction Approach A (the basic one) but unfortunately it won't work nearly as
well if the student is calculating the similarity of two users using the dot product of rating vectors. A
much better rating scheme would be something that uses both positive and negative ratings, centred
around 0 but not using 0 for a rating itself. Zero is saved for indicating that this user hasn't rated this
book.
Here is the example rating scheme used in the prediction example above:
-5 : Hated it!
-3 : Didn't like it
1 : ok – neither hot nor cold about it
3 : Liked it
5 : Really liked it!
0 : Didn't read it
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
69
ICS 4U Team Project
If the student insists on using a strictly positive rating scheme, the similarity calculation can be adjusted
to take this into account by shifting all the ratings to make the range centre around zero before taking the
dot product. This also means a few extra conditional statements to consider the "Didn't read it" case and
to avoid including this value in the similarity calculations. The ideal practice of using zero to indicate a
book that wasn't read means the similarity calculation effectively ignores the rating of one user for any
book that the other user hasn't read.
Notice that you may need to remind students that 0 isn’t really a rating so if the program calculates
average ratings, the zeros themselves can be added into the total (since they have no effect) but the
number of zeros isn’t part of the count.
Obtaining a Data Set
The predictions will work better with a reasonable amount of data. The examples shown above were
intentionally very small but it would be much better to have a set of 50 or 100 books and have 50 people
each rate many of them.
But it can be a lot of work to collect this data. One option is to make the task of collecting the data part of
an earlier assignment or change the team project to explicitly require students to run a partially completed
version of their program to collect data from a number of their friends and classmates. The Phase 2
requirements were specifically arranged so that a program that has these features implemented could be
used to collect data.
Another option is to provide the students with a pre-collected data set in a specified format. The
disadvantage to this is that it limits the students' program to be about the type of data for which you have
already collected data -- and it is a lot of work for you to collect data. To this end, we have already
collected book rating data for you. It is available at
www.cs.toronto.edu/~mcraig/ICS4U/BookRatingProject
This is a somewhat random collection of approximately 50 books that many teenagers have read and the
ratings by true teenagers of these books. If you want to use these files, please download them and make
them available locally to your students. Of course if you want to use this data, your students will have to
use a compatible rating scheme and it will give you the opportunity to talk about the fact that much of
programming is living with a data file format that someone else created.
Connections to Real-World Problems and Computer Science Issues
One of the ideas in computer science is the concept of designing a simple but powerful model of a realworld object or concept. In this assignment, we model customers by their name and by a vector of ratings.
The new idea for students might be that this model allows us to calculate the similarity between any two
users and that once we have the pair-wise similarity for all combinations of users, we can use this to
weight the contributions of each user; this idea of weighting vectors from various sources depending on
some notion of the trustworthiness of that source surfaces in many areas of computer science.
Another opportunity for discussing CS concepts and research comes from considering what it would take
to really implement this system for Indigo. At the time of writing this handout, Indigo had over 900,000
books purchased but less than 300,000 ratings. They had over 25,000 users who had rated at least 1
product but on average each product had been rated by just over 3 customers. That means that most of the
rating vectors are full of 0's. This is what is called "sparse data" and even our most sophisticated
prediction algorithm would fail miserably on the calculating of user similarity. The discussion of the more
advanced approaches is probably beyond the grasp of all but the very best high school students, but there
is an opportunity to discuss the problems of sparse data.
Students might also be excited to know that making predictions about user preferences in real life is a
very current research area in machine learning. In 2006, an online movie-rental company called Netflix
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
70
ICS 4U Team Project
offered one million dollars to anyone who could make their movie-prediction method 10% better. The
contest details are at www.netflixprize.com where students can see the size of the data sets. As of June
2009, it looks like an international team has achieved performance that may earn them the grand-prize.
Helping Students Manage the Development Process
The sample student handout suggests the following documents relating to the management of the software
development process: a team contract, a team work breakdown plan, testing notes, an individual list of
problems encountered and their solutions and a final reflection on the project management and the
student's individual contribution. To meet the provincial curriculum expectations, your course must
provide an opportunity for students to demonstrate the ability to manage the software development
process and to use standard project management techniques. However, the specific documentation you
require from your students is up to you.
Some experienced teachers have found it helpful to require students to submit a weekly work plan and
progress report. The following are excerpts from student handouts that address the project management
components. You may want to modify and use different sections as is appropriate in your circumstances.
A Team Contract
Write a team contract, worded so that each member is taking responsibility for the project. Define the
team leader duties as well as team member duties with a list of consequences (reasonable, rational and
business-like) for breaking the contract. Select a Team Leader who will be listed as such on the contract.
Every group member must agree to the above and sign the Team Contract which will be handed in by the
Team Leader. This contract is unchangeable and will be followed.
Weekly Planning Sheets and Logs
A weekly planning sheet must be created by each team member in consultation with the entire team, and
submitted each weekly indicating: team name, project name, student name, task list for that week, and
projected time to be spent on each task (in hours).
An individual log book must be submitted each week end indicating: team name, project name, student
name, actual task list for that week (same as above) - by day (Monday to Friday), time spent on each task
(in hours) - by day (Monday to Friday), each task must be marked as either completed (and signed off by
other team members), or incomplete (with a rationale as to why it is not) and added to next week's task
list.
Final Task Breakdown Report
A final report including a task breakdown by each team member will be submitted as part of final
submission including: a compiled report of all team member contributions organized by the following:
TASK
TIME
ALLOCATED
TIME SPENT
COMPLETED
(Y/N)
SIGNATURES
the percentage of weight allocated to each task by the team signed off as accurate by all team members.
All team members must contribute to the planning and design portion of this project.
Resource Supports for Teaching with Windows
The following resource links are provided by experienced teachers who use Java in a Windows
environment for the Team project. You should check the links before providing them to your students
since they may no longer be current.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
71
ICS 4U Team Project
Create Installation Programs
http://www.setupfactory.net/site/index.php
Create CHM Files
http://www.easyhelpweb.com/
http://www.helpsmith.com/htmlhelp.php
http://freeware.brothersoft.com
http://www.gold-software.com/download1508.html
http://www.shareware-catalog.com/web-developer-download-c10-21.htm
How to create CHM files
http://office.microsoft.com/en-us/orkXP/HA011362731033.aspx
Creating Exe Files
Create a .jar file or a .zip file of your entire program first then go to http://jsmooth.sourceforge.net/
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
72
ICS 4U Team Project
Computer Programming: ICS 4C – Course Outline
Computer Programming – ICS 4C
TDSB – School Name, School Department (416- Ex. )
Course Description:
This course further develops students’ computer programming skills. Students will learn object-oriented
programming concepts, create object-oriented software solutions, and design graphical user interfaces.
Student teams will plan and carry out a software development project using industry-standard
programming tools and proper project management techniques. Students will also investigate ethical
issues in computing and expand their understanding of environmental issues, emerging technologies, and
computer-related careers. (Computer Studies: The Ontario Curriculum Grades 10 to 12, Revised, 2008)
Prerequisite: Introduction to Computer Programming, Grade 11, ICS 3C
Unit Summary:
Unit Title
Unit 1: Responsible Use of Computers
This unit is made up of two sub-units; Computer Ethics and Environmental Issues.
Students will learn about the ethical use and development of computers, software
and the internet, and explore the impact of the use of computers regarding the
environment.
Unit 2: Careers and Emerging Technologies in Computer Science
This unit is made up of two sub-units; Computer Science in the Future and
Computer Science in Your Future. Students will learn about emerging
technologies and their impact on society, and explore careers requiring knowledge
of computers and technology.
Unit 3: Programming Fundamentals
Students will review and extend programming fundamentals.
Unit 4: Searching & Sorting
Students will implement searching and sorting algorithms.
Unit 5: File I/O
Students will perform file inputting and outputting.
Unit 6: Object Oriented Concepts
Students will explore and apply the object-oriented concepts of Classes and
inheritance.
Unit 7: Internal & External Documentation
Students will create internal & external documentation.
Unit 8: Graphical User Interface (GUIs)
Students will explore and create graphical user interfaces (GUIs).
Unit 9: Software Development
Students will explore principles of project management in order to the
development of a complete project.
Unit 10: Culminating Activity – Project
In this project, students will apply programming concepts and project development
principles by working as a team to develop a custom-designed software
application.
Hours
10
10
10
8
2
20
10
15
5
20
Students will: solicit a client; determine the needs of the client; write a proposal
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
73
ICS 4C Student Course Sheet
letter; prepare a contract for the client; design, plan, code and document a software
application; prepare an installation mechanism and a user manual; prepare a
development report/ log; and prepare an electronic presentation to be presented to
the class.
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
100%
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Programming Environment
D. Computers and Society
Concepts
A1. Data Structures
A2. Using Standard Algorithms
A3. Object-oriented Programming
A4. Code Maintenance
B1. Designing Standard Algorithms
B2. Object-oriented Software Solutions
B3. Graphical User Interfaces
B4. Student-managed Project
C1. Project Management Tools
C2. Software Development Tools
D1. Environmental Stewardship and Sustainability
D2. Ethical Practices
D3. Emerging Technologies
D4. Computer-related Careers
Course Units:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
74
ICS 4C Student Course Sheet
Unit Title, Description, and Expectations
Unit 1: Responsible Use of Computers
This unit is made up of two sub-units; Computer Ethics and Environmental Issues.
Students will learn about the ethical use and development of computers, software
and the internet, and explore the impact of the use of computers regarding the
environment.
Hours
10
Overall Expectations:
D1. analyse and apply strategies that promote environmental stewardship with
respect to the use of computers and related technologies;
D2. demonstrate an understanding of ethical issues and practices related to the use
of computers;
Specific Expectations:
D1.1 outline and apply strategies to reduce the impact of computers and related
technologies on the environment and on human health
D1.2 investigate and describe governmental and community initiatives promoting
environmental stewardship and sustainability
D2.1 investigate and describe an ethical issue related to the use of computers
D2.2 describe the essential elements of a code of ethics for computer
programmers, and explain why there is a need for such a code
D2.3 outline and apply strategies to encourage ethical computing practices at
home, at school, and at work
Unit 2: Careers and Emerging Technologies in Computer Science
This unit is made up of two sub-units; Computer Science in the Future and
Computer Science in Your Future. Students will learn about emerging
technologies and their impact on society, and explore careers requiring knowledge
of computers and technology.
10
Overall Expectations:
D3. investigate and report on emerging computer technologies and their potential
impact on society and the economy.
D4. research and report on the range of career paths and lifelong learning
opportunities in software development or a computer-related field.
Specific Expectations:
D3.1 describe the evolution of some emerging programming languages;
D3.2 investigate and report on innovations in information technology and their
potential impact on society and the economy;
D3.3 describe programming requirements for a variety of emerging technologies.
D4.1 research and report on the range of career opportunities in software
development, including duties, responsibilities, qualifications, and
compensation;
D4.2 research and report on opportunities for lifelong learning in software
development or a computer-related field;
D4.3 evaluate their own development of Essential Skills and work habits that are
important for success in computer studies, as identified in the Ontario Skills
Passport.
Unit 3: Programming Fundamentals
Students will review and extend programming fundamentals.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
10
75
ICS 4C Student Course Sheet
Overall Expectations:
A1. use data structures in the design and creation of computer programs;
A2. demonstrate the ability to use standard algorithms in the design and creation of
computer programs;
B1. design standard algorithms according to specifications;
C2. demonstrate the ability to use software development tools to design and write a
computer program.
Specific Expectations:
A1.1 perform operations on data types typically used in business applications
A1.2 use Boolean operators, comparison operators, arithmetic operators, and order
of operations correctly in programming;
A1.3 describe the structure of one-dimensional and two-dimensional arrays and
related concepts including elements, indexes, and bounds
A2.1 demonstrate the ability to manipulate and convert data in a computer
program
A2.3 demonstrate the ability to declare, initialize, modify, and access onedimensional and two-dimensional arrays and elements within a program;
A2.4 demonstrate the ability to add, change, or delete elements of an array of
objects in a program;
B1.1 design algorithms to solve practical mathematical problems
B1.2 design algorithms that require precision and accuracy when rounding
numbers
B1.3 design data validation routines
C2.1 use the features of a software development environment to debug programs
and create functioning computer programs;
C2.2 work independently, using the Help function, to resolve syntax issues while
programming;
C2.3 work independently, using reference materials, to design and write
functioning computer programs.
Unit 4: Searching & Sorting
Students will implement searching and sorting algorithms.
8
Overall Expectations:
A2. demonstrate the ability to use standard algorithms in the design and creation of
computer programs;
Specific Expectations:
A2.5 demonstrate the ability to use search and sort routines in a program.
Unit 5: File I/O
Students will perform file inputting and outputting.
2
Overall Expectations:
A2. demonstrate the ability to use standard algorithms in the design and creation of
computer programs;
Specific Expectations:
A2.2 demonstrate the ability to read from, and write to, an external file
Unit 6: Object Oriented Concepts
Students will explore and apply the object-oriented concepts of Classes and
inheritance.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
20
76
ICS 4C Student Course Sheet
Overall Expectations:
A3. demonstrate an understanding of object-oriented programming concepts and
practices in the design and creation of computer programs;
B2. design software solutions using object-oriented programming concepts;
Specific Expectations:
A3.1 explain the importance of designing reusable code in computer programs;
A3.2 explain fundamental object-oriented programming concepts
A3.3 apply the concepts of scope and visibility for variables, constants, and
methods when creating classes in computer programs;
A3.4 compare and contrast object-oriented and procedural programming
paradigms.
B2.1 demonstrate the ability to create and use instance methods in a computer
program;
B2.2 design a simple base class to represent objects or concepts in a problem
statement, using program templates or skeletons;
B2.3 write methods that require parameter passing in a computer program.
Unit 7: Internal & External Documentation
Students will create internal & external documentation.
10
Overall Expectations:
A4. create clear and accurate internal and external documentation to ensure the
maintainability of computer software.
Specific Expectations:
A4.1 write maintainable computer programs by creating clear and accurate internal
documentation that provides in-depth explanations of complex blocks of
code;
A4.2 create clear and maintainable external user documentation as part of a
complete software development project;
A4.3 develop and implement a formal testing plan for a software development
project to ensure program correctness.
Unit 8: Graphical User Interface (GUIs)
Students will explore and create graphical user interfaces (GUIs).
15
Overall Expectations:
B3. design user-friendly graphical user interfaces (GUIs) that meet user
requirements;
Specific Expectations:
B3.1 design graphical user interfaces that contain common controls
B3.2 design a user-friendly graphical user interface that helps to improve user
accessibility
B3.3 evaluate a user interface for conformity with a given accessibility standard
B3.4 design responses to user events in a graphical user interface.
Unit 9: Software Development
Students will explore principles of project management in order to the
development of a complete project.
5
Overall Expectations:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
77
ICS 4C Student Course Sheet
B4. participate in a large student-managed project, using proper project
management tools and techniques to manage the process effectively.
C1. demonstrate the ability to use project management tools to plan and track
activities for a software development project;
Specific Expectations:
B4.1 describe the phases of a model of the software development life cycle;
B4.2 create a project plan for a software development project, outlining the tasks at
each phase of the software development life cycle;
B4.3 use project management tools and time management tools to help develop a
software project;
B4.4 use industry-standard programming tools to develop a software project.
C1.1 use software tools to plan and track activities during a software development
project;
C1.2 communicate information about project status effectively in writing
throughout the project.
Unit 10: Culminating Activity – Project
In this project, students will apply programming concepts and project development
principles by working as a team to develop a custom-designed software
application.
20
Students will: solicit a client; determine the needs of the client; write a proposal
letter; prepare a contract for the client; design, plan, code and document a software
application; prepare an installation mechanism and a user manual; prepare a
development report/ log; and prepare an electronic presentation to be presented to
the class.
Overall Expectations:
A1. use data structures in the design and creation of computer programs;
A2. demonstrate the ability to use standard algorithms in the design and creation of
computer programs;
A3. demonstrate an understanding of object-oriented programming concepts and
practices in the design and creation of computer programs;
A4. create clear and accurate internal and external documentation to ensure the
maintainability of computer software.
B1. design standard algorithms according to specifications;
B2. design software solutions using object-oriented programming concepts;
B3. design user-friendly graphical user interfaces (GUIs) that meet user
requirements;
B4. participate in a large student-managed project, using proper project
management tools and techniques to manage the process effectively.
C1. demonstrate the ability to use project management tools to plan and track
activities for a software development project;
C2. demonstrate the ability to use software development tools to design and write a
computer program.
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
78
ICS 4C Student Course Sheet
Computer Programming: ICS 4C – Student Course Sheet
Computer Programming – ICS 4C
TDSB – School Name, School Department (416- Ex. )
This course further develops students’ computer programming skills. Students will learn object-oriented
programming concepts, create object-oriented software solutions, and design graphical user interfaces.
Student teams will plan and carry out a software development project using industry-standard
programming tools and proper project management techniques. Students will also investigate ethical
issues in computing and expand their understanding of environmental issues, emerging technologies, and
computer-related careers. (Computer Studies: The Ontario Curriculum Grades 10 to 12, Revised, 2008)
Prerequisite: Introduction to Computer Programming, Grade 11, ICS 3C
Course Strands
A. Programming Concepts and Skills
B. Software Development
C. Programming Environment
D. Computers and Society
Concepts
A1. Data Structures
A2. Using Standard Algorithms
A3. Object-oriented Programming
A4. Code Maintenance
B1. Designing Standard Algorithms
B2. Object-oriented Software Solutions
B3. Graphical User Interfaces
B4. Student-managed Project
C1. Project Management Tools
C2. Software Development Tools
D1. Environmental Stewardship and Sustainability
D2. Ethical Practices
D3. Emerging Technologies
D4. Computer-related Careers
Assessment and Evaluation:
To promote student success, ongoing formative assessment and feedback will be given regularly to the
students. Expectations will be evaluated according to the four categories of the achievement chart.
Academic Evaluations:
Term Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Course Culminating Evaluations
Knowledge and Understanding
Thinking
Communication
Application
Final Course Grade
70%
20%
25%
20%
35%
30%
20%
25%
20%
35%
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
100%
79
ICS 4C Student Course Sheet
Learning Skills Assessment:
These skills will be assessed throughout the course and reflected on the report card.
Skills:
Rating Scale:
Works Independently
E – Excellent
Teamwork
G – Good
Organization
S – Satisfactory
Work Habits
N – Needs Improvement
Initiative
Ontario Skills Passport (OSP):
 Essential Skills needed for work, learning, and life: Reading text, Writing, Computer Use,
Measurement and Calculation, and Problem Solving
 http://skills.edu.gov.on.ca
Classroom Expectations:
 Academic Honesty – Students are expected to be academically honest by submitting their own
original work, and the mark received is intended to reflect their own academic achievement.
Online Code of Conduct as in the school agenda or
http://www.tdsb.on.ca/communications/code_of_online_conduct/occ.html
 Respect for Property – no food or drink in the lab
 TDSB Homework Policy – Students will receive 30 minutes or less per day for each course.
 Late or missed evaluations - - (if available include School or Department Policy)
Required Resources and Course Materials:
 Text
 Software
 USB Device
 Notebook
Provisions for Student Success:
Teacher Support:
Student Responsibilities:
 Extra help
 Organise a binder to assist with your studies
 School lab time
 Set and focus on realistic goals for each class
 Web, Blog, or Wiki  Record daily achievements to set and meet new challenges
 Teacher email
 Home study in preparation for each class to enrich your learning
 Take advantage of extra help and school lab time to assist in meeting goals
 Provide peer help to consolidate your learning and increase confidence
 Ask questions and look for answers
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
80
ICS 4C Student Course Sheet
Computer Programming: ICS 4C – Culminating Activity - Project
ICS 4C – Culminating Activity
Performance Task:
Do you know someone who can benefit from a custom designed software application?
How can you use your newly acquired skills to create a software application and potentially generate an
income while solving a problem for a client (e.g., teacher, parent, community member)?
1. Working in teams, students will solicit a client who has a problem or day-to-day routine that can
be facilitated by a custom designed software application.
2. Once a client is found, students will write a proposal letter to the client. The proposal letter will
include:
 A brief description of the client and the client’s industry.
 A description of the routine task or problem encountered by the client.
 Advisement on what the proposed software program can do.
 A description of the different components of the software application and an identification of
the team member who will be primarily responsible for each component.
 A list of optional additions that be may included in future revisions.
The proposal letter should be written with the understanding that other students may also be
competing for the same project. Therefore, they must be professional, and attempt to convince the
client of their talents and capabilities. The proposal letter should therefore, be written on
(fictitious) company letterhead indicating the names of each member of the company/group. (To
be submitted according to the timeline.)
3. Each member will design/plan their own separate components of the application using data flow
charts, data flow diagrams, UML or pseudo-code. (To be submitted according to the timeline.)
4. Each member will implement the code according to their designs. The code must be internally
documented according to standards (using comments to indicate the purpose of variables,
methods and functions, and explanations of algorithms). Each member’s code will be tested,
debugged, and critiqued by a different member of the group. Each member of the team will be
responsible for reviewing another member’s code and provide feedback. (To be submitted
according to the timeline.)
5. The final program must run seamlessly and interact with the user through a user friendly
interface. The program will include all the separate components designed and implemented by the
members of the group. The final program must have a self-extracting installation mechanism. (To
be submitted according to the timeline.)
6. The group will prepare the following forms of external documentation; a user manual describing
the purpose, intended input and expected results of every function available to the user in the
software application (must include screen shots), and a report outlining the problems and
solutions encountered while coding and testing the program. (To be submitted according to the
timeline.)
7. The group will prepare a contract for the client. The contract, written on company letterhead, will
describe the goal of the contract, describe the function of the custom software application and will
also have a properly worded passage indicating that the reader has received the program and that
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
81
ICS 4C Culminating Activity
they are satisfied. The contract must be signed by the client. (To be submitted according to the
timeline.)
8. The group will schedule an appointment to meet with the teacher to submit all written materials
and discuss problems encountered during development. (To be scheduled according to the
timeline.)
9. The group will prepare an electronic presentation (using any form of electronic presentation
software), describing the needs of the client, an overview description of the software solution
developed to help the client, the different components of the program (each student will present
describing their own separate components of the program), and provide a live demonstration of
the software. (To be presented according to the timeline.)
Timelines/Due Dates:
Students have 20 classroom hours to complete the task. After the number of hours stated, each
component of the project should be submitted.
1 hour
3 hours
18 hours
19 hours
20 hours
– submission of client proposal letter
– submission of planning documentation (flow charts, pseudocode, etc)
– submission of source code, self-extracting installation file and external documents
– scheduled meeting with teacher - submission of contract
– presentation to classmates (and possibly client)
Requirements:
Students are required to meet with their client on their own time. Students should continue to remain in
touch with the client throughout the assignment, providing them with a copy of the proposal letter,
keeping them informed of progress, obtaining their signature on the contract, and possibly inviting the
client to the class presentation.
Resource Supports:
Create Installation Programs
http://www.setupfactory.net/site/index.php
Create CHM Files
http://www.easyhelpweb.com/
http://www.helpsmith.com/htmlhelp.php
http://freeware.brothersoft.com/software_developer/helpfile_tools/pocket_chm_20707.html
http://www.gold-software.com/download1508.html
http://www.shareware-catalog.com/web-developer-download-c10-21.htm
How to create CHM Files
http://office.microsoft.com/en-us/orkXP/HA011362731033.aspx
Creating Exe Files
Create a .jar file or a .zip file of your entire program first then go to:
http://jsmooth.sourceforge.net/
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
82
ICS 4C Culminating Activity
Course Expectations:
A. Programming Concepts and Skills
A1. use data structures in the design and creation of computer programs;
A2. demonstrate the ability to use standard algorithms in the design and creation of computer
programs;
A3. demonstrate an understanding of object-oriented programming concepts and practices in the
design and creation of computer programs;
A4. create clear and accurate internal and external documentation to ensure the maintainability of
computer software.
B. Software Development
B1. design standard algorithms according to specifications;
B2. design software solutions using object-oriented programming concepts;
B3. design user-friendly graphical user interfaces (GUIs) that meet user requirements;
B4. participate in a large student-managed project, using proper project management tools and
techniques to manage the process effectively.
C. Programming Environment
C1. demonstrate the ability to use project management tools to plan and track activities for a software
development project;
C2. demonstrate the ability to use software development tools to design and write a computer
program.
Assessment:
Meeting with Teacher - Anecdotal Notes
Learning Skills – Rubric
Evaluation:
Proposal Letter / Contract – Checkbric
Planning Documentation/ Installation Package / External Documentation – Checkbric
Source Code - Rubric
Class Presentation – Rubric
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
83
ICS 4C Culminating Activity
ICS4C Course Culminating Activity - Evaluation - Proposal Letter / Contract:
Requirements Checklist
Knowledge and Understanding
Proposal letter
□ company letterhead indicating names of
members
□ description of the client and the client’s
industry
□ description of the routine task or problem
□ description of proposed software and
components
□ component responsible for each member
identified
□ list of additional features
Score
Communication
Contract
□ company letterhead indicating names of
members
□ passage describing the goal of contract
□ description of function of the software
application
□ passage indication receipt and satisfaction
□ signature of client
Comments/Feedback
/5
/5
Student Name: __________________________________
Knowledge/Understanding (20%): _____/
Communication (20%): _____/
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
84
ICS 4C Culminating Activity
ICS 4C Course Culminating Activity - Evaluation - Planning Documentation/ Installation Package / External Documentation:
Requirements Checklist
Thinking
Planning Documentation
□ design/ plan using flow charts, data flow
diagrams, UML or pseudo-code
□ design/ plan reflected in source code
Score
/5
Application
Installation Package
□ program installs using a self-extracting
executable file
Knowledge and Understanding
External Documentation
□ user manual, using screen shots, describing the
purpose, intended input and expected results of
each function used or created by you
□ report outlining the problems and solutions
encountered while coding and testing the code
you created
Comments/Feedback
/5
/10
Student Name: __________________________________
Knowledge and Understanding (20%): _____/
Thinking (25%) : _____/
Application (35%): _____/
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
85
ICS 4C Culminating Activity
ICS 4C Course Culminating Activity - Meeting with Teacher:
Anecdotal Notes
Knowledge and Understanding / Thinking / Communication / Application
 Teacher has a semi-structured discussion with members of the group
 Teacher is assessing each member of the group
 Teacher is assessing the cooperation and teamwork by each member of the group by discussing events of the testing, debugging
and critiquing phase during development
ICS 4C Course Culminating Activity – Evaluation - Source Code:
Categories
Application
Indentation, code structure (spacing), method
separators (delimiters /documentation) and
naming conventions
Use of advanced programming concepts:
OOP, searching, sorting, recursion, dynamic
structures
Communication
Program headers, comments and other
documentation
Interface design
Level 1
Level 2
- uses indentation, code
structure, method
separators and naming
conventions with
limited effectiveness
- uses indentation,
code structure,
method separators
and naming
conventions with
some effectiveness
- uses advanced
programming concepts
with limited
effectiveness
- uses advanced
programming
concepts with some
effectiveness
- uses program headers,
comments and other
documentation with
limited effectiveness
- uses program
headers, comments
and other
documentation with
some effectiveness
- interface designed
with limited sense of
user and purpose
- interface designed
with some sense of
user and purpose
Level 3
Level 4
- uses indentation,
code structure,
method separators
and naming
conventions with
considerable
effectiveness
- uses advanced
programming
concepts with
considerable
effectiveness
- uses indentation, code
structure, method
separators and naming
conventions with a high
degree of effectiveness
- uses program
headers, comments
and other
documentation with
considerable
effectiveness
- interface designed
with considerable
sense of user and
purpose
- uses program headers,
comments and other
documentation with a
high degree of
effectiveness
- uses advanced
programming concepts
with a high degree of
effectiveness
- interface designed with
a highly developed sense
of user and purpose
Thinking
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
86
ICS 4C Culminating Activity
programming logic: control structures and
code efficiency program design
- applies programming
logic with limited
effectiveness
- applies
programming logic
with some
effectiveness
- applies
programming logic
with considerable
effectiveness
- applies programming
logic with a high degree
of effectiveness
program complexity
- limited program
complexity
implemented
- some program
complexity
implemented
- considerable
program complexity
implemented
- high degree of program
complexity implemented
Student Name: __________________________________
Thinking (25%) : _____/
Communication (20%): _____/
Application (35%): _____/
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
87
ICS 4C Culminating Activity
ICS 4C Course Culminating Activity Assessment - Class Presentation:
Categories
Knowledge and Understanding
Knowledge of topic
Level 1
Level 2
- shows limited
understanding of
issues, ideas and
information
- shows some
understanding of
issues, ideas and
information
Description of client’s needs
- described client’s
needs with limited
effectiveness
- described client’s
needs with some
effectiveness
Description of software solution developed
- described software
solution with limited
effectiveness
- described software
solution with some
effectiveness
Description of separate components
- described separate
components with
limited effectiveness
- described separate
components with
some effectiveness
- communicates with
limited sense of
audience and purpose
- communicates with
some sense of
audience and
purpose
- some use of oral
presentation
techniques (e.g.,
gestures, body
language, voice
modulation, eye
contact)
- some use of audio /
visual presentation
tools (e.g., slideshow
presentation
Communication
Sense of audience
Oral presentation techniques
- limited use of oral
presentation techniques
(e.g., gestures, body
language, voice
modulation, eye
contact)
Use of audio / visual presentation tools
- limited use of audio /
visual presentation
tools (e.g., slideshow
presentation including
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
Level 3
Level 4
- shows
considerable
understanding of
issues, ideas and
information
- described client’s
needs with
considerable
effectiveness
- described software
solution with
considerable
effectiveness
- described separate
components with
considerable
effectiveness
- shows thorough
understanding of issues,
ideas and information
- communicates with
considerable sense
of audience and
purpose
- effective use of
oral presentation
techniques (e.g.,
gestures, body
language, voice
modulation, eye
contact)
- effective use of
audio / visual
presentation tools
(e.g., slideshow
- communicates with a
highly developed sense
of audience and purpose
- described client’s needs
with a high degree of
effectiveness
- described software
solution with a high
degree of effectiveness
- described separate
components with a high
degree of effectiveness
- highly effective use of
oral presentation
techniques (e.g.,
gestures, body language,
voice modulation, eye
contact)
- highly effective use of
audio / visual
presentation tools (e.g.,
slideshow presentation
88
ICS 4C Culminating Activity
Thinking
Develop interest
key points, graphics,
sound effects etc.)
including key points,
graphics, sound
effects etc.)
presentation
including key points,
graphics, sound
effects etc.)
including key points,
graphics, sound effects
etc.)
- developed little
interest by providing
examples, interesting
details, relevant
terminology and
supporting information
- developed some
interest by providing
examples, interesting
details, relevant
terminology and
supporting
information
- developed
considerable interest
by providing
examples, interesting
details, relevant
terminology and
supporting
information
- developed a high
degree of interest by
providing examples,
interesting details,
relevant terminology and
supporting information
Student Name: __________________________________
Knowledge/Understanding (20%): _____/
Thinking (25%) : _____/
Communication (20%): _____/
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
89
ICS 4C Culminating Activity
ICS 4C Course Culminating Activity Assessment - Learning Skills:
Needs Improvement
• Uses a few strategies
• Rarely meets deadlines
• Rarely focused
Satisfactory
• Uses several strategies
• Sometimes meets deadlines
• Focused, but often needs
reminders to stay on task
Good
• Uses a variety of strategies
• Usually meets dealings
• Focused, but occasionally
needs reminders to stay on
task
Teamwork
• Shows reluctance to take on
an alternate role in a group
• Rarely shares ideas
• Rarely listens passively or
actively
• Frequently tries alternate
roles in a group
• Usually shares ideas
• Listens passively and
actively most of the time
Organization
• Rarely brings required
materials to class
• Limited organization
• Rarely uses resources
• Generally works in the same
role in a group;
occasionally tries an
alternate role
• Sometimes shares ideas
• Listens passively and
actively some of the time
• Generally brings required
materials to class
• Partial organization
• Sometimes uses resources
Work Habits
• Completes little, if any,
• Completes more than half of
homework
homework
• Rarely submits work on time • Generally submits work on
• Rarely makes up missed
time
work
• Sometimes makes up missed
work
• Completes most homework
• Usually submits work on
time
• Usually makes up missed
work
Initiative
• Rarely acts to solve
problems
• Rarely recognizes what
needs to be done and rarely
takes appropriate steps
• Usually acts to solve
problems
• Usually recognizes what
needs to be done and does
it
Works
Independently
• Sometimes acts to solve
problems
• Sometimes recognizes what
needs to be done and does it
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
• Usually brings required
materials to class
• Considerable organization
• Usually uses resources
Excellent
• Uses a wide variety of
strategies
• Always, or almost
always, meets deadlines
• Focused, and rarely
needs reminders to stay
on task
• Takes on a variety of
roles in a group
• Always, or almost
always, shares ideas
• Listens passively and
actively almost all of the
time
• Always, or almost
always, brings required
material to class
• Effective organization
• Always, or almost
always, uses resources
• Completes all homework
• Always, or almost
always, submits work on
time
• Always, or almost
always, makes up missed
work
• Always, or almost
always, acts to solve
problems
• Always, or almost
always, recognizes what
needs to be done and
does it
90
ICS 4C Culminating Activity
General Comments/Feedback:
TDSB School Services: Program – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
91
ICS 4C Culminating Activity
References
Ontario Ministry of Education. (2008). The Ontario Curriculum: Computer Studies, Grades 10 to 12
(Revised). Toronto: Queen’s Printer for Ontario.
Vocational Information Centre. (2009). Computer Science Career Guide. Retrieved June 10, 2009, from
www.khake.com/page17.html
TDSB School Services – ICT, e-Learning & Computer Studies
http://tdsbweb/program/computerstudies
92
Download