manitoba curriculum framework of · pdf filemanitoba curriculum framework of outcomes 2004...
TRANSCRIPT
Senior 2 (20S), Senior 3 (30S), and
Senior 4 (40S)Computer ScienceManitoba Curriculum
Framework of Outcomes
SENIOR 2 (20S), SENIOR 3 (30S), AND SENIOR 4 (40S)COMPUTER SCIENCE
Manitoba Curriculum Framework of Outcomes
2004
Manitoba Education, Citizenship and Youth
Manitoba Education, Citizenship and Youth Cataloguing in Publication Data
004.0712 Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S)computer science : Manitoba curriculumframework of outcomes
Includes bibliographical references.ISBN 0-7711-3272-7
1. Computer science—Curricula. 2. Computerscience—Study and teaching (Secondary)—Manitoba.3. Electronic data processing—Curricula. 4. Electronicdata processing—Study and teaching (Secondary)—Manitoba. I. Manitoba. Manitoba Education, Citizenshipand Youth.
Copyright © 2004, the Crown in Right of Manitoba as represented by the Minister of Education,Citizenship and Youth. Manitoba Education, Citizenship and Youth, School Programs Division, 1970Ness Avenue, Winnipeg, Manitoba R3J 0Y9.
Every effort has been made to acknowledge original sources and to comply with copyright law. Ifcases are identified where this has not been done, please notify Manitoba Education, Citizenship andYouth. Errors or omissions will be corrected in a future edition.
This document is available on the Manitoba Education, Citizenship and Youth website at<http://www.edu.gov.mb.ca/ks4/cur/cs/index.html>.
iii
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Manitoba Education, Citizenship and Youth gratefully acknowledges the contributions of the following individuals in thedevelopment of Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science: Manitoba Curriculum Framework ofOutcomes.
Development Team Members
Kathy Athayde Kildonan-East Collegiate River East-Transcona School Division
Normand Châtel Collège Béliveau Louis Riel School Division
Bob Dagg Elton Collegiate Rolling River School Division
Sylvain Delaquis École Gabrielle-Roy Division scolaire franco-manitobaine
Dino Difabrizio Technical Vocational High School Winnipeg School Division
Cheryl Klimack Crocus Plains Regional Secondary School Brandon School Division
Kevin Rowan Fort Richmond Collegiate Pembina Trails School Division
Industry Representatives
Geoff Bresch Manitoba Information Technology Industries Inc.
Scott Greenlay Greenridge Business Systems Corporation
Norm Lee MindSet, Manitoba Network for Science and Technology
Wendy Magahay Applications of Working and Learning (AWAL) National Project, Camosun College
Bruce Popham Manitoba Solution Centre, EDS Canada Inc.
David Tetlock Investors Group
Acknowledgements
iv
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
AWAL Workshop
During the development of this document, development team members participated in an Applications of Working and Learning(AWAL) workshop facilitated by Wendy Magahay. Team members visited worksites and interviewed employees about theessential skills, knowledge, and attitudes required in careers in computer programming and project management. The followingorganizations volunteered to participate and provided access to staff for this workshop.
EDS Canada
Encore Business Solutions
The Great-West Life Assurance Company
Greenridge Business Systems Corporation
Manitoba Hydro
Workers Compensation Board of Manitoba
Manitoba Education, Citizenship and Youth StaffSchool Programs Division
Lee-Ila Bothe Coordinator Production Support UnitProgram Development Branch
Diane Cooley Project Manager Curriculum UnitProgram Development Branch
Darryl Gervais Project Leader/Writer Distance Learning and Information Technologies UnitProgram Development Branch
Michelle Larose-Kuzenko Consultant Bureau de l’éducation française Division
Susan Letkemann Publications Editor Production Support UnitProgram Development Branch
Sam Steindel Coordinator Distance Learning and Information Technologies UnitProgram Development Branch
Lindsay Walker Desktop Publisher Production Support UnitProgram Development Branch
v
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Acknowledgements iii
Contents v
Introduction 1Computer Science Framework 1Information and Communication Technologies 1Access to Computer with ProgrammingLanguage 1
Learning, Teaching, and Assessing 2The Student As Learner 2The Teacher As Facilitator 2Prerequisites 3Reporting 3
Senior 2, Senior 3, and Senior 4 Computer ScienceLearning Outcomes 5
General Learning Outcomes 7Specific Learning Outcomes 7Guide to Reading the Learning Outcomes 8Guide to Reading the Codes 9General Learning Outcome 1 10General Learning Outcome 2 12General Learning Outcome 3 14General Learning Outcome 4 16
Appendix 21Suggested Course Outlines 23
References 25
Contents
1
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Computer Science Framework
This document provides a framework of learningoutcomes for students completing Senior Years computerscience courses. The framework serves as a basis for thedevelopment of Senior 2 (20S), Senior 3 (30S), and Senior4 (40S) Computer Science courses. It replaces the formercurriculum documents: Computer Science 205 (1983) andComputer Science 305 (1984).
The emphasis in computer science courses is on studentslearning to solve problems, accomplish tasks, and expresscreativity, both individually and collaboratively. Studentswill learn programming techniques and the syntax of oneor more programming languages. More importantly,students will learn to adapt to changes in programminglanguages and learn new languages as they aredeveloped.
Information and Communication Technologies
Effective integration of information and communicationtechnologies into all curricula assists students indeveloping the abilities to use, manage, and understandthe technologies. Prior to the start of computer sciencecourses, students should have developed thecompetencies identified for the skill development stageof the “Information Technology Literacy Continuum”outlined in Technology As a Foundation Skill Area
(hereafter referred to as TFS—see Appendix A, pages 17to 24). Students studying computer science are at theapplication and extension stage of the continuumoutlined in TFS.
Computer science courses provide students withopportunities to apply previous learning and extend theirinformation and communication technology skills.Specifically, “students should have opportunities toexplore various programming languages and computer-controlled devices and systems through specializedSenior Years courses” (TFS, 23). Computer sciencecourses enable students to explore and develop skills insolving problems and prepare them for further studies atcollege or university.
Access to Computer with Programming Language
Many of the computer science learning outcomes can beachieved only by programming a computer. All studentsmust, therefore, have access to a computer with amodern programming language installed. The computerscience framework does not prescribe a specific language.The teacher and students will decide which modernprogramming languages students will learn.
Introduction
“The use of information technology will help enable all students to solve problems, improve their personal performance,and gain the critical and abstract thinking skills necessary to become lifelong learners and contributing members of theircommunities” (Manitoba Education and Training, Technology As a Foundation Skill Area, 7).
2
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
The Student As Learner
Students are curious, active learners who haveindividual interests, abilities, and needs. It is crucial torecognize how students learn and how learning can beassessed. Learning involves the process of linking newlyconstructed understanding with prior knowledge andadding new contexts and experiences to currentunderstanding. The learning outcomes in computerscience are designed to build upon previous learning.Each level of computer science builds upon the previouslevel.
Students must become independent learners if they areto pursue further studies and careers in computerscience. Programming languages and techniquescontinue to evolve rapidly. Students are expected to learnnew information and adapt to changes continually. Toensure that students become lifelong learners, it isimperative that they become increasingly engaged inplanning, developing, and assessing their own learningexperiences. They must have opportunities to work withother students, to initiate investigations, to communicatetheir findings, and to complete projects that demonstratetheir learning.
At the beginning of a block of instruction, teachers,together with students, need to identify expectedlearning outcomes and establish performance criteriathat correspond with provincial learning outcomes. Thiscommunication between teachers and students assists inplanning for instruction, assessment, evaluation, andreporting. It also helps identify clearly what students
need to accomplish, and thus facilitates the learningprocess.
When students are aware of expected learning outcomes,they will be more focused on the learning and more likelyto assess their own progress and achievement.Furthermore, they can participate in creatingappropriate assessment and evaluation criteria.Assessment methods must be valid, reliable, and fair tostudents.
The Teacher As Facilitator
While teachers are experts in facilitating groups andusing instructional and assessment strategies that helpstudents learn, they need not be experts in programminga computer. If computer science courses are to remaincurrent and relevant, however, teachers must be open toand accepting of innovations in computer science andwilling to learn with students.
As facilitators, teachers• assist students as they navigate through information
made available by information and communicationtechnologies and other sources
• direct students as they gather, organize, analyze, andpresent their findings
• help students recognize, develop, focus, refine,consolidate, and extend their knowledge, skills, andcompetencies
Learning, Teaching, and Assessing
3
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Prerequisites
No prerequisites are specified for computer sciencecourses. The framework is designed so that the computerscience courses build upon the outcomes from theprevious courses. Schools may choose to offer one, two, orthree full credits in computer science. If the school doesnot offer the course at Senior 2, then learning outcomesfrom 20S will need to be incorporated into the 30Scourse. Similarly, if the school does not offer the courseat Senior 3, then outcomes from 30S will need to beincorporated into the 40S course.
Reporting
All computer science courses (20S, 30S, and 40S) are full-credit courses. As indicated in the Department’s SubjectTable Handbook, the computer science course code is0280. Use this number when completing ProfessionalSchool Personnel (PSP) forms and entering studentrecords into the Student Records System (SRS).
4
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Notes
Senior 2, Senior 3, and Senior 4Computer Science Learning Outcomes
7
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
This framework contains the general and specificlearning outcomes for computer science courses. Thelearning outcomes are concise statements of the learningthat students are expected to demonstrate in computerscience courses by the end of Senior 2, Senior 3, andSenior 4. This learning includes:• Knowledge: Students need to know facts, concepts,
principles, and generalizations. The knowledgelearned in computer science includes the vocabularyand function of computer hardware, the vocabularyand syntax of computer-programming languages,programming standards and conventions, project-management practices, health and safety issues, andcareer information.
• Skills and Strategies: Students need to know andapply processes and strategies in developing skills.The skills include problem solving, critical thinking,metacognition, communication, and teamwork.
• Attitudes: Students need to develop attitudes andhabits that include setting goals, thinkingstrategically in approaching a task, consideringpersonal health and safety, acting ethically andmorally, and reflecting on their own performance.
General Learning Outcomes
The general learning outcomes (GLOs) are broadstatements describing student learning. The generaloutcomes are interrelated and interdependent. Eachoutcome is to be achieved through a variety of learningstrategies and experiences.
The four general learning outcomes of the computerscience framework reflect the four foundation skill areas:1. Human Relations: Students will demonstrate
tolerance, teamwork, leadership, and responsible,ethical, and moral behaviour.
2. Literacy and Communication: Students willdemonstrate effective communication skills inlistening, speaking, reading, writing, viewing, andrepresenting.
3. Problem Solving: Students will demonstrateappropriate problem-solving skills while seekingsolutions to technological challenges.
4. Technology: Students will develop the abilities touse, manage, and understand information andcommunication technologies by exploringprogramming languages and computer-controlleddevices.
Specific Learning Outcomes
Each general learning outcome is elaborated through asequence of specific learning outcomes, categorized underheadings. The specific outcomes (SLOs) are relevant forall students in a variety of learning environments andare cumulative across grades. Students are expected todemonstrate the specific learning outcomes for theircurrent grade while building on and maintaining theoutcomes of previous grades.
Computer Science Learning Outcomes
8
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Guide to Reading the Learning Outcomes
The learning outcomes for each computer science course(20S, 30S, and 40S) are identified in separate columns ofa table presented on the following pages. Read each pagevertically for learning outcomes expected at the end ofeach course. Read each page horizontally fordevelopmental flow of learning outcomes from course tocourse. An arrow (�) indicates that a learning outcomefrom one course is to be reviewed, reinforced, andmaintained in the subsequent course(s).
Each learning outcome is numbered:• The first digit indicates the GLO.
• The second digit indicates the heading for a cluster orgroup of SLOs.
• The third digit indicates the SLO.
The teacher notes are neither prescriptive norexhaustive; rather, they are intended to clarify the intentof the learning outcomes and suggest how the outcomesmight be achieved in general terms.
General Learning Outcome 1
SLO 1.1Teamwork
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
1.1.1Develop interpersonal andcommunication skills byworking in groups, thinking incollaboration with others, andcommunicating informationamong group members.
1.1.2Participate in at least onegroup project during the course.
1.2.1Describe the evolution ofcommunication and informationtechnologies, focusing on thehistory of computer hardware.
1.2.2Discuss the implications of theprogressive development ofcomputer hardware for theenvironment and for society.
SLO 1.2 Society and theEnvironment
Students will...
1.1.1�
1.1.2�
1.2.1Describe the evolution ofcommunication and informationtechnologies, focusing on thehistory of software and theevolution of computerprogramming languages up tothe present day.
1.2.2�
Human Relations: Students will demonstrate tolerance, teamwork, leadership, and responsible, ethical, and moral behaviour.
Senior 4 ComputerScience (40S)
Students will...
1.1.1�
1.1.2Participate in multiple groupprojects throughout the course,working as part of a team, aswell as performing individualtasks within the group.
1.2.1Examine current trends andpredictions for the future ofinformation and communicationtechnologies.
1.2.2Discuss current issues relatingto the impact of informationand communicationtechnologies on theenvironment and on society.
�����������
As students advance throughSenior 2, 3, and 4 (S2, S3, andS4), teamwork becomes anincreasing part of computerscience courses. S2: Initiate teamwork byhaving each student write anddocument the code for a smallpart of a program. Studentsthen exchange code andcontinue the project withsomeone else’s code.S3: To emphasizecommunication and teamworkskills, ensure that groupprojects are smaller in scopethan individual projects are.S4: Structure group projects tocreate a program written bymore than one student. Eachproject involves the division ofresponsibilities, top-downdesign, ongoing testing, walk-throughs, project management,interfacing, documentation, andproduct presentation.
Ensure that all projects includeopportunities to participatein self-directed learning.
(continued...)
9
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Guide to Reading the Codes
GLO—General Learning Outcome
SLO—Specific Learning Outcome
Course Designation
Heading for cluster of SLOs.
The SLO numberapplies to each course. – First digit indicates
the GLO.– Second digit
indicates theheading.
– Third digit indicatesthe SLO.
The SLO is expected tobe achieved by the endof a given course.
An arrow (�) indicates that an SLO from theprevious course is to be reviewed, reinforced,and maintained in the subsequent course(s).
The teacher notes clarify the intent ofthe SLO and suggest how it might beachieved in general terms.
Read each page horizontally for developmental flow of learning outcomes from course to course.
Rea
d ea
ch p
age
vert
ical
ly f
or le
arni
ng o
utco
mes
exp
ecte
d at
the
end
of
each
cou
rse.
10
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 1
SLO 1.1Teamwork
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
1.1.1Develop interpersonal andcommunication skills byworking in groups, thinking incollaboration with others, andcommunicating informationamong group members.
1.1.2Participate in at least onegroup project during the course.
1.2.1Describe the evolution ofcommunication and informationtechnologies, focusing on thehistory of computer hardware.
1.2.2Discuss the implications of theprogressive development ofcomputer hardware for theenvironment and for society.
SLO 1.2 Society and theEnvironment
Students will...
1.1.1�
1.1.2�
1.2.1Describe the evolution ofcommunication and informationtechnologies, focusing on thehistory of software and theevolution of computerprogramming languages up tothe present day.
1.2.2�
Human Relations: Students will demonstrate tolerance, teamwork, leadership, and responsible, ethical, and moral behaviour.
Senior 4 ComputerScience (40S)
Students will...
1.1.1�
1.1.2Participate in multiple groupprojects throughout the course,working as part of a team, aswell as performing individualtasks within the group.
1.2.1Examine current trends andpredictions for the future ofinformation and communicationtechnologies.
1.2.2Discuss current issues relatingto the impact of informationand communicationtechnologies on theenvironment and on society.
�����������
As students advance throughSenior 2, 3, and 4 (S2, S3, andS4), teamwork becomes anincreasing part of computerscience courses. S2: Initiate teamwork byhaving each student write anddocument the code for a smallpart of a program. Studentsthen exchange code andcontinue the project withsomeone else’s code.S3: To emphasizecommunication and teamworkskills, ensure that groupprojects are smaller in scopethan individual projects are.S4: Structure group projects tocreate a program written bymore than one student. Eachproject involves the division ofresponsibilities, top-downdesign, ongoing testing, walk-throughs, project management,interfacing, documentation, andproduct presentation.
Ensure that all projects includeopportunities to participate inself-directed learning.
(continued...)
11
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 1 (continued)
Human Relations: Students will demonstrate tolerance, teamwork, leadership, and responsible, ethical, and moral behaviour.
SLO 1.3 Ethical Behaviour
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
1.3.1Discuss the effects of computercrime, hacking, plagiarizingcode, software piracy, virusdistribution, and willfuldestruction of data.
1.3.2Demonstrate responsiblesecurity practices while usingcomputers and networks.
Students will...
1.3.1�
1.3.2�
Senior 4 ComputerScience (40S)
Students will...
1.3.1�
1.3.2�
�����������
Computer science courses teachmuch more than writingprogram code. Programs arecreated to meet a human need.
Industry representativesrepeatedly state that humanrelations are the mostimportant aspect of successfulcomputer programming. Ensurethat human relations aredeveloped and reinforcedthroughout all computer sciencecourses.
12
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 2
SLO 2.1Documentation
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
2.1.1Explain the need for andpurpose of documentation.
2.1.2Document the program code forall assignments.
2.1.3Assign meaningful names tovariables using acceptedconventions.
2.2.1Present an informalexplanation of ideas and code tothe teacher and other students.
2.3.1Explore careers in informationand communicationtechnologies that relate tocomputer science.
SLO 2.2 Oral Presentation
SLO 2.3 Careers
Students will...
2.1.1�
2.1.2�
2.1.3�
2.2.1Plan and deliver a formalindividual oral presentation onthe solution to a problem.
2.3.1Research a career ininformation and communicationtechnologies that relates tocomputer science.
Literacy and Communication: Students will demonstrate effective communication skills in listening, speaking, reading, writing, viewing, and representing.
Senior 4 ComputerScience (40S)
Students will...
2.1.1�
2.1.2�
2.1.3�
2.2.1Plan and participate in aformal oral group presentationon the solution to a problem.
2.3.1Research a career ininformation and communicationtechnologies that relates tocomputer science and projectmanagement.
2.3.2Research post-secondaryeducation options for furtherstudies in computer science.
�����������
Documentation communicatesthe programmer’s intent andsupports the use of the product.S2: Stress the need foradequate documentation fromthe start, focusing on anexplanation of the workings ofthe program code.S3: Documentation for allassignments should include adescription of the pre- and post-condition of the data for eachmodule within the program.S4: Documentation expands toinclude separate writtencommunication that describesthe problem that the programsolves and instructs the user inthe use of the program (forexample, organization chart,user manual, help file, andfrequently asked questions).
Other students, communitymembers, and Elders canbenefit from this research ifstudents share their knowledgethrough presentations orwebsites.
Research can includecareers and opportunitiesthat are viable in smalland/or isolatedcommunities.
(continued...)
13
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 2 (continued)
SLO 2.4 ProjectManagement
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will... Students will...
Literacy and Communication: Students will demonstrate effective communication skills in listening, speaking, reading, writing, viewing, and representing.
Senior 4 ComputerScience (40S)
Students will...
2.4.1Define the term project.
2.4.2Describe the roles of a projectmanager and project leader anddifferentiate between the tworoles.
2.4.3Identify the primary reasonswhy projects succeed or fail.
2.4.4Prepare a project plan,including a milestone schedule,an action plan, an estimate ofresource requirements, aproject budget, and a riskanalysis.
2.4.5Resolve project problems.
2.4.6Motivate team members.
2.4.7Report project status.
2.4.8Evaluate project results.
�����������
Computer programs are rarelycreated by one person workingin isolation. Large computerprograms are created by teamsof people.
Project management is a largepart of a computerprogrammer’s role. Successfulproject management will ensurethat each project meetsspecifications and is completedon time and within budget.
The project-management skillsthat students learn in acomputer science course aretransferable to other coursesand situations in their lives.
14
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 3
SLO 3.1 Learning toLearn
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
3.1.1Develop skills and strategiesfor independent learning.
3.2.1Use a structured model forsolving problems.
3.2.2Define the terms algorithm,pseudocode, and stepwiserefinement.
SLO 3.2 Reasoning andLogic
Students will...
3.1.1�
3.2.1�
3.2.2Use stepwise refinement.
Problem Solving: Students will demonstrate appropriate problem-solving skills while seeking solutions to technological challenges.
Senior 4 ComputerScience (40S)
Students will...
3.1.1�
3.1.2Research information on aprogramming language that isnew to them, and learn thesyntax independently bycreating a new program orrecreating an existing programwritten in a different language.
3.2.1�
3.2.2�
�����������
Provide students withopportunities and experiencesthat motivate them and foster asense of purpose. Encouragingcuriosity, self-confidence, and apositive self-concept will helpstudents become capable, self-reliant, and self-motivatedpeople who value learning.
Students require access tolearning resources in the schoolor community and opportunitiesto learn from peers or mentors.
Model problem solvingthroughout S2 to S4,emphasizing the importance ofanalysis and planning.Recognize that it is morenatural for some people toapproach a problem as a “wholepicture” than in a “sequential”manner. Provide less detail andsupport as students advancethrough S3 and S4.S2: Provide the problem and aplanned solution. Havestudents carry out the plan. (continued...)
(continued...)
15
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 3 (continued)
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
3.2.3Identify the logical series ofsteps involved in solving aproblem.
3.2.4Confirm an algorithm’s logic byhand-tracing a computerprogram.
3.2.5Use Boolean logic to drawanalogies between computerprograms and everyday tasks.
3.2.6Graphically represent thesolution to non-numeric andnumeric problems using– diagrams– pseudocode
SLO 3.2 Reasoning andLogic
Students will...
3.2.3�
3.2.4�
3.2.5�
3.2.6�
Problem Solving: Students will demonstrate appropriate problem-solving skills while seeking solutions to technological challenges.
Senior 4 ComputerScience (40S)
Students will...
3.2.3Decide upon the mostappropriate method to solve aproblem.
3.2.4�
3.2.5�
3.2.6�
3.2.7Describe and recognize thedifference between top-downand bottom-up design.
�����������
S3: Provide the problem. Havestudents analyze the problem,create a plan to solve it, anddesign and carry out the solution. S4: Have students identify theproblems and solve them througha team effort, with roles definedand tasks divided among teammembers. By the end of S4,students will be able to completeall steps of the problem-solvingmodel on their own and as part ofa group.
Students may have used a five-step approach, such as thefollowing, to solve problems inmathematics:1. Understand the problem.
– analyze the problem2. Make a plan.
– organize the steps to solve the problem
– outline a solution– create a prototype– create an algorithm
3. Carry out the plan.– code the solution
4. Look back.– test the code
5. Communicate thesolution.– present the product
16
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 4
SLO 4.1 ProgrammingStandards andConventions
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
4.1.1Set up a directory and file-management system forstorage, retrieval, andportability.
4.1.2Explain the need forprogramming standards andconventions.
4.1.3Use accepted programmingstandards and conventions for– documentation– style and readability – naming of variables,
subprograms, etc.
Students will...
4.1.1�
4.1.2�
4.1.3�
Technology: Students will develop the abilities to use, manage, and understand information and communication technologies by exploringprogramming languages and computer-controlled devices.
Senior 4 ComputerScience (40S)
Students will...
4.1.1�
4.1.2Research current programmingstandards and conventions.
4.1.3�
4.1.4Develop and document teamstandards as part of a groupproject.
�����������
Model file management bycreating a classroom standardfor organizing and naming files.
(continued...)
17
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 4 (continued)
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
4.2.1Recognize that a particulardata structure permits certainoperations to be carried outefficiently.
4.2.2Identify and use appropriatedata types.
4.2.3Obtain input from the programuser.
4.2.4Identify truncation and round-off errors related to data types.
4.2.5Format numeric and textualoutput.
4.2.6Use string data for input,concatenation, and output oftext.
4.2.7Describe the relationshipbetween each data type and theamount of memory it uses.
SLO 4.2 Programming:Data Structures
Students will...
4.2.1Recognize how a one-dimensional array makes thesolution to some problemspossible and makes otherproblems easier to solve.
4.2.2�
4.2.3Validate user input.
4.2.4�
4.2.5�
4.2.6Manipulate text, includingextraction, concatenation, andcomparison.
4.2.7Describe how an array is storedinternally and how anindividual element is accessed.
Technology: Students will develop the abilities to use, manage, and understand information and communication technologies by exploringprogramming languages and computer-controlled devices.
Senior 4 ComputerScience (40S)
Students will...
4.2.1Use a two-dimensional array.
4.2.2�
4.2.3�
4.2.4�
4.2.5�
4.2.6�
4.2.7Describe how a two-dimensional array is storedinternally.
�����������
(continued...)
18
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 4 (continued)
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
4.2.8Use simple structures for thestorage and retrieval of data.
4.3.1Identify, use, and trace controlstructures, including– linear (sequential)– branching (if/then/else)– looping (definite and
indefinite)
4.4.1Differentiate between compile-time errors, run-time errors,and logic errors.
4.4.2Detect and correct compile-timeerrors, run-time errors, andlogic errors.
4.4.3Locate errors by hand tracingand by using debugging tools.
SLO 4.2 Programming:Data Structures
Students will...
4.2.8Use parallel arrays to storerelated data.
4.3.1Identify, use, and trace controlstructures, including– multiple branching beyond
if/then/else (such as case,select case, and switch)
4.4.1Define sample data to test aprogram.
4.4.2�
4.4.3�
Technology: Students will develop the abilities to use, manage, and understand information and communication technologies by exploringprogramming languages and computer-controlled devices.
Senior 4 ComputerScience (40S)
Students will...
4.2.8Create a user-defined datastructure (such as records)consisting of a combination ofother data objects.
4.2.9Create, store, retrieve, andmanipulate sequential files andrandom-access files (such asdatabase files and comma-delimited files).
4.3.1Identify, use, and trace controlstructures, including– recursion
4.4.1�
4.4.2�
4.4.3�
�����������
(continued...)
SLO 4.3 Programming:ControlStructures
Looping can be used to creategraphic animation.
SLO 4.4 Programming:Debugging
Debugging is a part of eachprogramming assignment.Students should test each other’sprograms.In team projects, students shouldask for assistance from otherteam members beforerequesting teacherassistance. This is intendedto improve students’communication andproblem-solving skills.
19
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 4 (continued)
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
4.5.1Use existing code provided bythe teacher to build a largerprogram.
4.6.1Use built-in functions withparameters, includinggraphic/drawing functions.
4.6.2Use and create subprogramsthat do not pass parameters.
Students will...
4.5.1Create code that can be reused.
4.6.1�
4.6.2Use subprograms that passparameters.
4.6.3Recognize the scope of avariable (for example,differentiate between local andglobal variables).
Technology: Students will develop the abilities to use, manage, and understand information and communication technologies by exploringprogramming languages and computer-controlled devices.
Senior 4 ComputerScience (40S)
Students will...
4.5.1Create code for other studentsto use within a larger groupproject.
4.5.2Define and use libraries.
4.6.1�
4.6.2Use and create subprogramsthat pass parameters.
4.6.3�
�����������
Facilitate the writing of morecomplex programs by providingpre-written segments of codethat students may not yetunderstand. Students progressfrom using code, to planning tocreate reusable code, to sharingcode with others.
SLO 4.5 Programming:Reusable Code
SLO 4.6 Programming:Subprograms
(continued...)
20
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
General Learning Outcome 4 (continued)
Senior 2 ComputerScience (20S)
Senior 3 ComputerScience (30S)
Students will...
SLO 4.7 Programming:Objects
Students will...
4.7.1Define the term object.
4.7.2Use dot notation (for example,invoke a method or access aproperty).
4.8.1Program simple algorithms(such as insertion sort andselection sort).
4.8.2Compare the operation ofalgorithms.
4.8.3Use search algorithms,including sequential andbinary.
Technology: Students will develop the abilities to use, manage, and understand information and communication technologies by exploringprogramming languages and computer-controlled devices.
Senior 4 ComputerScience (40S)
Students will...
4.7.1Define the term class.
4.7.2Describe object-orientedprogramming in terms ofencapsulation, inheritance, andpolymorphism.
4.7.3Create a program using objectsand create classes using anobject-oriented programminglanguage.
4.7.4Limit the scope of public andprivate identifiersappropriately.
4.8.1Program advanced algorithms(such as quick sort, bisectionsearch, and random numbergenerator).
4.8.2Compare the efficiency ofalgorithms.
4.8.3�
�����������
The intent is to introduce thelanguage of object-orientedprogramming early and to havestudents use objects as soon aspossible. Students are notrequired to create their ownclasses until S4.
The key features of object-oriented programming are:encapsulation, inheritance, andpolymorphism. Not alllanguages support true object-oriented programming.
The intent is to learn aboutalgorithms, not to focus onprogramming sorts or searches.
SLO 4.8 Programming:Algorithms
Appendix
23
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
This introductory course in computer programming is of interest to a broad audience. Students developknowledge, skills, and attitudes applicable tosituations beyond computer science.
Topics:• Strategies for independent learning,
communication, and teamwork• History of computer hardware• Impact of information and communication
technologies (ICT) on society and the environment• Ethics• Exploring careers in ICT• Programming standards and conventions
• Problem solving• Programming concepts
– Documentation– Variables and data types– Input/output– Debugging– Branching (if/then/else), nested branching– Looping (definite and indefinite)– Using functions/methods– Built-in graphic functions– Writing subprograms without parameters
This course takes an in-depth look at problem solving through computer programming.
Topics:• Strategies for independent learning,
communication, and teamwork• History of computer software• Impact of ICT on society and the environment
• Ethics• Researching careers in ICT• Programming standards and conventions
• Problem solving• Programming concepts
– Documentation– Variables and data types– Input/output– Debugging– Multiple branching– Looping– Subprograms with parameters– Strings– Arrays—one-dimensional, parallel– Algorithms—simple sorts
This project-based computer programming coursereflects the way projects are completed in industry.The course is structured to give studentsopportunities to write programs and develop project-management skills in a team-programmingenvironment.
Topics:• Strategies for independent learning,
communication, and teamwork• Current trends in ICT• Current ICT issues relating to society and the
environment• Ethics• Researching careers in ICT and presenting
findings• Future studies in computer science• Project management• Team project: create a computer simulation• Learning a new programming language
independently • Problem solving • Programming concepts
– Sequential and random access files– Writing a simple program using two different
languages– Object-oriented programming– Recursion– Arrays—two-dimensional – Analyzing algorithms– Sorting and searching
Suggested Course Outlines
The following chart provides an overview of suggested course outlines for Senior Years computer science courses.
Senior 2 Computer Science (20S) Senior 3 Computer Science (30S) Senior 4 Computer Science (40S)
24
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Notes
References
27
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Manitoba Education and Training. Computer Science 205.Winnipeg, MB: Manitoba Education and Training, 1983.
---. Computer Science 305. Winnipeg, MB: Manitoba Educationand Training, 1984.
---. Technology As a Foundation Skill Area: A Journey TowardInformation Technology Literacy: A Resource forCurriculum Developers, Teachers, and Administrators.Winnipeg, MB: Manitoba Education and Training, 1998.Available online at <http://www.edu.gov.mb.ca/ks4/docs/support/tfs/index.html>.
Manitoba Education and Youth. Subject Table Handbook:Student Records System and Professional School PersonnelSystem. Annual publication. Available online at<http://www.edu.gov.mb.ca/ks4/docs/policy/sth/index.html>.
References
28
Senior 2 (20S), Senior 3 (30S), and Senior 4 (40S) Computer Science
Notes