CS492 WINTER 2003 ASSIGNMENT 5

ôComputer Science Education in Forest Heights Collegiate Instituteö

Ali Ahmed, Simon Forsyth, James Wills and Tim Windsor

CONTENTS

 

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


1. INTRODUCTION

 

This report analyzes the computer science education being offered at Forest Heights Collegiate Institute of Kitchener, Ontario. It provides a description of the curriculum that is supposed to be followed, i.e. the province of OntarioÆs high school computer science curriculum, and then evaluates the courses offered by Forest Heights C. I. with respect to this curriculum. There is a section on how Forest Heights prepares its students to enter the University of WaterlooÆs Computer Science program. Finally, the report concludes with concluding comments and recommendations for Forest Heights to follow in the future.


2. THE ONTARIO CURRICULUM

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.

 

2.1 Grade 9

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.

 

2.2 Grade 10

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.

 

2.3 Grade 11

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.

 

2.4 Grade 12

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.

 

3.2 The equipment

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.


4. FOREST HEIGHTS AND ENTRY INTO UW COMPUTER SCIENCE

 

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.

 

4.1 CS133

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.

 

4.2 CS 134

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ö.

 

4.3 CS 131

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

 

Kevin OÆReilly, Teacher, Forest Heights Collegiate Institute

Arnie Dyck, Associate Professor, University of Waterloo School of Computer Science