1. INTRODUCTION
|
3
|
|||
2. THE ONTARIO CURRICULUM
|
4
|
|||
3. EVALUATION OF COURSES
OFFERED BY FOREST HEIGHTS
|
8
|
|||
4. FOREST HEIGHTS AND
ENTRY INTO UW COMPUTER SCIENCE
|
11
|
|||
5. CONCLUSION
|
14
|
|||
6. ACKNOWLEDGEMENTS
|
15
|
|||
The Ontario high school curriculum
has undergone several changes recently. One of the most significant amongst
them is that the fifth year of postsecondary education, during which students
complete their Ontario Academic Credits (OAC), is due to be eliminated in 2003.
As a result, expectations from students graduating after Grade 12 have been
altered.
In addition, Grade 9 and Grade 10
students can now take courses categorized as ôappliedö û allowing for hands-on practical experience, or
ôacademicö û emphasizing theory
and abstract thinking. Grade 11 and Grade 12 students may enrol in ôworkplaceö courses to prepare them
for work immediately following high school, ôcollegeö courses that provide the background necessary for a
college education, or ôuniversityö
courses that cover the required skills and concepts for a university education.
We will examine the high school
curriculum as specified by the Ontario Government for the year 2003, focusing
on the computer science curriculum for Grades 9 to 12.
Grade 9 students
are introduced to high school computer science by a course called ôIntegrated
Technologiesö. This class covers a broad range of technological skills and
contains both academic and applied content. A portion of the
content is dedicated to computer science.
Students
completing Grade 9 should know basic computer programming concepts and will have
written simple programs to manipulate text and graphics. Word processors,
databases, e-mail and spreadsheets are used to solve specific problems and
share information. Students also explore acceptable computer use and
computer-related careers in this course.
The Grade 10
curriculum offers two computer science courses, open to both academic and applied students.
The Computer and
Information Science course introduces the concepts of the software design
process and problem-solving skills. Students are expected to be able to perform
simple tasks like file management, file sharing and proper use of the Internet.
Students are taught how to write and document simple programs using input and
output, variables, constants, decision statements and loops. This course also
covers topics such as the evolution of programming languages and the social
impact of computers.
The second Grade
10 computer science course is Computer Engineering Technology, which places a
stronger focus on computer hardware concepts. The relationship between
high-level data and its binary representation is explored along with hardware
logic. The course also includes programming concepts such as input and output,
loops and decision statements. Students are responsible for designing, writing
and testing a computer program that controls a simple peripheral device.
In addition to
the above courses, there is a business course that is dedicated to the use of
computers in business environments. Students taking this course examine file
management, keyboarding techniques, creation of web pages and documents, and
the process of performing research electronically.
There are three
courses available to Grade 11 students, none of them requiring prerequisites,
so students without any Grade 10 computer science or computer engineering
courses can still take one or more of the Grade 11 courses in these areas if
they wish to do so.
The first of
these is the Computer and Information Science course, designed for preparation
for university and college studies. It focuses on problem solving and design
models for the creation of computer programs. Along with the programming
concepts covered in Grade 10, students are taught how to write and use
subroutines, use simple search and sort routines and arrays, and develop
internal and external documentation to summarize design.
Two Computer
Engineering courses are described in the curriculum. The workplace course emphasizes the practical aspects of computer
installation, maintenance, and repair while the university/college course builds on Grade 10 content, introducing
more complex hardware interfaces as well as programming concepts like arrays
and subroutines.
The Grade 12
Computer and Information Science course requires students to explain data
structures and their uses, and to evaluate the efficiency and applicability of
algorithms.á Grade 12 students must also
learn the concepts of user-defined types, object-oriented programming and
recursion. The curriculum hints that students should be able to plan, design,
implement, and test a large software project. The ethical use of computers,
effects of information technology, and opportunities for postsecondary
education are also studied in this course.
The workplace and university/college Computer Engineering courses continue to focus
on hardware interfaces and introduce computer hardware details such as the
processor, computer memory and the Arithmetic and Logic Unit. Low level
assembly languages are studied.
Apart from the
core computer science or computer engineering courses, the topic of computers
and technology is integrated into other parts of the curriculum such as
business, accounting, and science, as in earlier grades.
3.
EVALUATION OF COURSES OFFERED BY FOREST HEIGHTS
Forest
Heights offers all of the computer science courses in the Ontario curriculum,
and should thus theoretically cover all the material specified in the
curriculum. We will analyze the upper gradesÆ courses at Forest Heights to
determine how successful they are in achieving the curriculum goals.
3.1 The courses
As
stated in the section on OntarioÆs curriculum, Grade 11 computer science
courses do not have prerequisites, and thus basic programming concepts such as variables,
loops and documentation are taught in courses for both Grade 10 and Grade 11 at
Forest Heights. Sorting is effectively taught in Grade 11, which means that
almost all of the curriculum requirements for that level are covered, since
sorting requires students to be familiar with data structures such as an arrays
or linked lists as containers for the objects to sort, and involves the design
and use of subroutines to perform the sort procedure. The Forest Heights Grade
11 course goes a step further in that it students are supposed to plan, design,
implement and test a significant project component by the end of the academic
year. This actually falls into the Grade 12 curriculum, and prepares students
beforehand for what to expect in Grade 12.
The
Grade 12 computer science course is taught in Java, so students are introduced
to the concepts of object-oriented programming and user-defined types. From the
information gathered it appears that the only areas not definitively covered
are recursion and the social issues of computing. However, considering the
comprehensive coverage of every other topic in the curriculum, it seems
unlikely that these two items would remain untaught and it seems more likely
that such questions as were asked were insufficient to expose these
details.á Therefore, we feel it can be
safely assumed that the curriculum for computer science is adequately covered
by the courses offered at Forest Heights.
Currently,
Visual Basic 6 is being used to teach the Grade 11 course, and, as mentioned,
Java is used for Grade 12.á These
languages are both more than adequate for teaching the required skills. The
current teachers at Forest Heights are sufficiently familiar with these
languages, having taught them for a number of years, and it is recommended that
they continue to be used. We feel it is more valuable to be able to receive
significant help and instruction in a language that may not be the most
up-to-date one, than to receive inadequate assistance in the latest language
that is out on the market.á Only if the
language does not meet the requirements of the curriculum, which is not the
case at Forest Heights, would a change in this area be recommended.
Unfortunately,
while the subject matter at Forest Heights sufficiently covers the Ontario high
school computer science curriculum, the equipment and facilities offered leave
significant room for improvement.á
Due to
either a shortage of computers or there being no restriction on class sizes, it
is the case that there are more students than machines at the beginning of each
term. This problem persists until around October when a sufficient number of
students have usually switched courses for the computer-student ratio to
balance out. So while it could be argued that this arrangement is effective
considering that there is a computer for every student by October, it is
possible that the students that switch out of computer science courses at
Forest Heights do so precisely because there are not enough computers early on
in the term, resulting in students with a lower initial aptitude for computer
science getting behind and opting to transfer to another course.á
The
computers at Forest Heights are on a five-year replacement plan, and it may be
possible to solve the above problem by retaining some of the old machines at
the end of the five years. The agreement between the school and their supplier
should be checked to see if this is an option. We feel that this option is
especially viable given the nature of the curriculum, as courses teaching basic
programming skills would not require high-speed computers. The software and
programming languages used for the beginner computer science courses should be
able to run sufficiently satisfactorily on older, less powerful computers, and
the newer machines could be reserved for upper year high school students.
With
respect to other aspects of the computer labs, there is not enough light and a
lack of desk space for writing or studying notes. However, the fact that
students at Forest Heights can access their notes online seems to partially
solve this problem.á One concern about
this paperless solution is that some students, especially those without access
to the e-mail and the Internet at home might require hard copies of notes, but
this is not a significant issue since students have access to at least one
printer.
Due to the wide range of high
schools that first year students at the University of Waterloo (UW) come from,
including schools from across Canada and from many other countries, UW offers
entry points to their Computer Science program at three different levels. These
entry levels are based on the amount of experience students have in the field
of Computer Science before coming to Waterloo. One of these levels allows for
students who have no previous programming experience; thus UW effectively
allows entrance to Computer Science for students with any degree of computer
background. This section of the report analyzes how students from Forest
Heights fit into each entry level into the universityÆs Computer Science
program.
Students who complete Grade 11
computer science at Forest Heights benefit from excellent demonstrations of key
concepts such as sorting and procedural programming. These skills are described
in the entrance materials regarding computer science placement for entry into
CS133 at UW, which is the course that the majority of computer science students
enter into in their first year. UW expects students at this level to have spent
a significant amount of time programming in one of a variety of languages,
including Visual Basic, which is taught in Grade 11 at Forest Heights (see
section 3). The amount of programming experience, including the year-end
software development project, that students in Grade 11 computer science at
Forest Heights attain seems a solid foundation for entry at this level to UW.
The written testing combined with
computer-based testing that Mr. OÆReilly, the Grade 11 computer science
teacher, does to grade his students is a fair introduction to the style of
grading used at UW. A number of knowledge points in the UW recommendations for
entry that may be overlooked by other schools are covered by this course. For
example, Forest Heights students have the opportunity to examine computer
hardware, which allows for a technical grounding in a field that can become
highly software-focused, fostering a general naivety towards hardware and the
importance it plays in the operation of software. Partnering at Foster Heights
may be a hindrance in learning programming fundamentals, but it can also be an
excellent introduction to the programming that will take place at UW and
beyond. Almost no software projects rely entirely on the work of a single
developer, and students will be further ahead if they learn early how to work
with what another has given them, or to collaborate with partners on a single
project.
UW has designated this as the
starting point for advanced students. The expectations here are quite high in
comparison to CS133. Students need to have a strong background in the
fundamentals of programming as well as know how to use more advanced
programming principles, such as inheritance. Not only are students expected to
know object-oriented programming techniques, they are expected to have
considerable experience designing and implementing their own programs. They
must be able to work with multiple objects of their own design as well as those
written by others. The key word in this description is ôdesignö. The students
need to have enough experience and confidence in designing programs when
provided with program specifications or a problem description. Thus knowledge
of just Visual Basic by itself is expressly inadequate according to placement
guidelines, and students who have taken only Grade 11 computer science will not
be prepared to take on the demands of CS134, since the class is taught only in
Visual Basic and object-oriented programming is not involved in any way.
However, students who have completed
the Grade 12 course at Forest Heights will have learned programming in Java,
and with that comes support for all the concepts that CS134 expects students to
be familiar with. Students in Grade 12 gain experience in object-oriented
programming, but it is unknown if they will necessarily be able to use
inheritance or practice principles of good software design, even though they
would undoubtedly have encountered concepts expected for entry into CS133 at
UW. It is expected that only the most accomplished Grade 12 students will be
ready for admission directly into CS134. The emphasis on design from the CS134
description implies a level of sophistication far beyond filling in code at the
necessary spots to ômake it workö.
Any students from Forest Heights who
have completed only Grade 10 computer science, or Grade 11 computer science
with a weaker performance but who still wish to pursue Computer Science at the
University of Waterloo should choose CS131 as their entry point.
CONCLUSION
In conclusion, we feel that the
computer science education being offered by Forest Heights Collegiate Institute
is generally adequate in teaching high school students the skills they would
need in order to obtain a foundation for further university studies in this
area. Since the University of Waterloo offers a flexible entry margin for first
year computer science students, most students from Forest Heights should be
able to apply to the first two entry levels, namely CS131 and CS133. It is recommended
that Forest Heights offer advanced versions of their computer science courses
for highly intelligent students so that they are prepared for entry into CS134
at UW. A feasible solution, such as the one outlined in section 3.2, to solve
the problem of the computer-student ratio at Forest Heights is also
recommended. Finally, we urge Forest Heights to develop an innovative course of
education for its computer science students, in accordance with the City of
WaterlooÆs reputation as a centre for technology and innovation in Canada.á
6. ACKNOWLEDGEMENTS
Arnie Dyck, Associate Professor, University of Waterloo School of
Computer Science