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