Title: Computer Information Science York University 2002
1Computer Information ScienceYork University2002
- Graham Smyth
- smythel_at_mnsi.net
2Computer Engineering Units
- 1. Hardware
- 2. Networking
- 3. Integrated Circuits
- 4. Programming
- 5. Interfaces
3Overview of CIS Courses Grahams Opinions
- Four Programming Courses
- Ontario Curriculum Guidelines
- Units
- Some expectations
- Profiles
- Structured vs. OO
- Pick your language
- Your opinions
4Curriculum Guidelines
The Ontario Curriculum Grades 9 and 10
Technology Education Page 8 and 16 The Ontario
Curriculum Grades 11 and 12 Technology
Education Part B Computer Studies, page 169
5CIS Courses
6Grade 9 Integrated Technologies
Overall Expectations
TFV.05X - explain the fundamental concepts
underlying the creation of a computer program Â
Specific Expectations
TFS.06X - describe the fundamental building
blocks of a computer program ( i.e. constants and
variables, selection and repetition structures,
input and output) TFS.07X - explain the
different roles that computers, networks, and
operating systems have and describe the tasks for
which each is used SPS.09X- write simple
computer programs to manipulate text and graphics.
7Grade 9 Integrated Technologies
8Grade 9 Integrated Technologies
Unit 2 A Computer Studies Theme This unit will
provide students the opportunity to learn
computer concepts as a base for further studies.
Students will learn and apply an information
science problem solving method, use software
tools to research and solve specific problems,
and study the impact of computer technology at
home  and in the world of work. Students will
explore the fundamental concepts needed to design
a computer program, write and document simple
computer programs and explain the roles of
various computer components and products. This
unit will help students use technology in their
lives and provide students with an introduction
to further studies and careers in the computer
studies area.
9Grade 10 C.I.S. Ontario Curriculum
Overall Expectations
TFV.02I define and explain the fundamental
programming constructs
Specific Expectations
TF1.01I use input, processing, and output
correctly as a model for solving problems using a
computer TF3.03I define constants, variables,
expressions, and assignment statements, including
the order in which the operations are
performed SPV.04I create computer programs
using fundamental programming constructs SP3.04I
write input and output statements that conform
to a program design SP3.05I - write programs
that compare data using constants, variables, and
expressions SP3.06I write a program that uses
a decision structure involving two or more
alternatives SP3.07I write a program that uses
a counted repetition structure
10Grade 10 C.I.S. Profile
11Grade 10 C.I.S. Profile
Unit 2 The Problem Solver
Diagram of the Problem-Solving Model
12Grade 10 C.I.S. Profile
Unit 3 Foundations of Programming I
- Appendix 3.2.4
- Write a program that inputs a student's name and
four courses taken by this student with four
corresponding marks. The program should then
print a simple but attractive report card showing
the student's name, courses, marks, and average
to one decimal place. - 2. Write a program that inputs a dollar amount
and outputs how the amount can be represented
using the fewest number of bills and coins. For
example, 17.74 would be represented by a
ten-dollar bill, a five-dollar bill, a toonie,
two quarters, two dimes and four pennies.
13Grade 10 C.I.S.
Unit 5 Foundations of Programming II
- Appendix 5.2.1
- Using the graphics commands do the following
- Create a border of squares or circles around the
screen. - 2. Move a graphic shape across the screen from
left to right. - 3. Make the graphic shape bounce back and forth
across the screen. - 4. Add a second graphic character that bounces up
and down. - 5. Add code that determines if a collision occurs
between the two graphic shapes.
14Grade 10 C.I.S.
Unit 6 Putting it all together
Appendix 6.3.1 The following suggestions are
brief outlines for final project programs. They
are by no means comprehensive or
complete. Cafeteria Selections Program. This
program permits students to choose their lunch
purchases from a menu in the cafeteria. It
calculates the tax on taxable items (candy, pop)
and presents the user with a total. The program
accepts a tendered amount and computes and
outputs change down to the actual coins and bills
involved. An added inventory component could keep
a running total of individual items purchased.
15Grade 11 C.I.S. Ontario Curriculum
Overall Expectations
SPV.01 develop effective programs by following
the steps in the software design process
Specific Expectations
Programming Practices SP2.01 use constants,
variables, expressions, and assignment statements
to store and manipulate numeric, character, and
logical data in programs SP2.02 incorporate
one-dimensional and two-dimensional arrays into
computer programs SP2.03 write programs that
use related arrays to store and extract
data SP2.04 use selection structures, counted
and conditional loops, and nested selection and
loop structures SP2.05 manipulate numbers and
text using built-in subroutines SP2.06 write
subroutines that pass parameters and use local
and global variables
16Grade 11 C.I.S. Profile
17Grade 11 C.I.S. Profile
- Unit 3 Problem Solving with Procedures/
Functions -
- Appendix 3.2.1
- Utilize pre-defined mathematical subroutines to
solve the - following problems
- Input any real number and output and output the
number rounded to a whole number along with its
square root. - 2. Create a program that calculates and outputs
the trigonometric functions sine, cosine, and
tangent of any angle input by the user (expressed
in radians). The result is rounded to a whole
number.
18Grade 11 C.I.S. Profile
- Unit 3 Programming with Procedures
(Subroutines) - Appendix 3.5.1
- The purpose of this project is to combine and
consolidate the programming concepts learned in
this unit. The student must demonstrate an
understanding of the following concepts - proper definition of a subroutine
- parameters
- local and global variables
- use of predefined subroutines
- string concatenation
- remainder and integer division operator.
19Grade 11 C.I.S. Profile
Unit 5 Data in Lists Appendix 5.2.1 Write a
program that allows the user to enter up to 20
numbers to be stored in an array. When the user
has finished entering numbers, calculate and
display the sum of the numbers, the mean
(arithmetic average) of the numbers, and the
largest and smallest values entered.
20Grade 12 C.I.S. Ontario Curriculum
Overall Expectations
SP1.05 select appropriate data structures
(e.g., arrays, records, arrays of records) for
use in projects SP1.06 design algorithms to
incorporate data structures in projects
Specific Expectations
SP1.02 use industry-standard methodology (e.g.,
flow chart, pseudocode, structure chart) in the
design process SP1.05 select appropriate data
structures (e.g., arrays, records, arrays of
records) for use in projects SP1.06 design
algorithms to incorporate data structures in
projects SP1.07 ensure program correctness by
developing a complete suite of test data (valid
and invalid data) to eliminate syntax, runtime,
and logic errors SP1.08 use a problem-solving
protocol to troubleshoot computer programs.
21Grade 12 C.I.S. Profile
Units Titles and Time
22Grade 12 C.I.S. Profile
Unit1
23Grade 12 C.I.S. Profile
Unit1 Activity 7
User-Defined Data Types and Data Structures Unit
Project Develop a database of students in your
school. Each record includes multiple fields
(e.g., Student ID, Last Name, First Name,
Address, Date of Birth, Homeroom, Enrolment Date,
Timetable, Courses Completed. Other possible
problems 1. Database of a sports team or a
subject club 2. Database of collectibles 3.
Equipment inventory database (e.g., computer
equipment inventory) 4. Movie database
24Grade 12 C.I.S. Profile
Unit3 Exploring Advanced Algorithms
Appendix 3.1.2 Simple Problems with Recursive and
Non-Recursive Solutions. In the year 1202, a
mathematician by the name of Leonardo Fibonacci
described a very simple series that has intrigued
other mathematicians ever since. The Fibonacci
series is 1 1 2 3 5 8
13 21 34 55 Describe a recursive and
non-recursive method of determining the value of
any specified term of the Fibonacci series.
25C.I.S. Language Choice?
26Grade 10 C.I.S. Profile
- When selecting a programming language - the
following factors should be - considered in the selection of an appropriate
programming language for this course - Ease-of-use, appropriate structure,
- 2. Availability, and hardware requirements.
- 3. A level of difficulty that allows students
with no programming background to - experience some success.
- 4. A planned path for language skill development
in Grades 10, 11, and 12 that - takes into account the most likely
post-secondary destinations and required - preparation within the school community.
- Note It is the belief of the writing team that
C, C, or Java are not the best - language choices at the Grade 10 level as they
require a level of complexity - beyond the capability of most novice programmers.
27Grade 11 C.I.S. Profile
The focus of this course is on applying
fundamental programming structures and concepts
rather than applying a specific language and its
features. Upon completion of this course,
students can apply their knowledge and skills to
other programming languages.
28Grade 12 C.I.S. Profile
The course is programming-language independent.
The teacher chooses the language that best
prepares students for their destinations.
Teachers may encourage students to apply their
knowledge and skills to additional languages that
demonstrate procedural and object-oriented
paradigms.
The following information was recommended during
the university level review in regards to
object-oriented programming Teachers should
strongly consider implementing the ICS4M course
using an object-oriented approach. Students
should program in an object-oriented language,
such as Java, C, or Object-Oriented Turing, and
they should learn OO design techniques. This
approach better prepares students who are
interested in pursuing Computer Science at the
postsecondary level.
29Procedural vs Object Oriented 12
30Ready Java
Java Abstract Windowing Toolkit
Text I/O
Defines Class
Object Identifier
Standard Main
Creates object c of type Console
End of main
End of Example1
31Ready Java
Displays Name
32Turing
Displays Name
33C.I.S. Assignment Dont Panic Guide to
Programming in Java
34Addresses
smythel_at_mnsi.net www.holtsoft.com