CS 492 Assignment 5 û An analysis of the Computer Science curriculum at Forest Heights High School

 

By

 

Farzana Nawaz

Michael Quek

Siyan Li

Sarwat Wasim


 

Introduction:

 

As the world moves further towards an information and communication based society, computer literacy has also become very important in order to succeed in this society. These days, computer-skills is one of the most important qualifications for most of the jobs available. Therefore, it is crucial that we have a well-designed computer studies curriculum for all high-school students, regardless of whether they will go to university for further computer education or not.

 

In this essay we examine the computer science courses offered at Forest Heights high-school in the Waterloo Region District School board. We will critique the current curriculum with respect two factors û whether it meets the requirements stated by the provincial guidelines, and its effectiveness in preparing the students for entry into the computer science program at a competitive university like the University of Waterloo. Recommendations are made for the improvement of the courses currently offered at Forest Heights. We also suggest some changes which we feel will in general bring up to date and enhance the curriculum dictated by the provincial government.ááá

 

 

The current state of the Computer Science curriculum at Forest Heights:

 

Currently the Computer Science curriculum at Forest Heights consists of 3 separate courses.á There is one course for each of Grade 10 (TIK2OI), 11 (ICS3MI), and 12 (ICS4MI).á Each course gets progressively deeper into various Computer Science concepts.á

 

In TIK2OI, a preliminary introduction about programming and non-programming aspects is given.á In the programming section, the elements covered include Data Types, Sequence, Selection, Repetition and problem solving.á In the non-programming section, other miscellaneous aspects are taught, such as ergonomics and hardware.á

 

ICS3MI covers a lot of the same topics as TIK2OI, since TIK2OI is not a prerequisite.á However, the material is taught at a much faster pace, in order to progress onto newer content.á In terms of programming concepts, Arrays, File Input/Output, Searching and Sorting are taught in addition to the concepts in TIK2OI.á As well, there is an emphasis on teaching debugging tools and techniques.á For the section on non-programming concepts, there has been a considerable focus of late on social aspects of computers, such as Computer Science and its role in education, employment, etc.á This course is still in flux, since the curriculum demands have been changing.á The emphasis usually varies between the programming and non-programming sections.

 

Finally, in ICS4MI the content is taken a step further.á Programming concepts become more advanced, and non-programming concepts also delve more in-depth into other issues involving Computer Science. Students are taught some advanced programming concepts such as pointers, linked lists, advanced searching and sorting. An introduction to databases is also provided. The course involves a final project in which students are free to explore on of the concepts taught in class in further detail.

 

In terms of the actual teaching environment, there is one classroom dedicated to teaching all three courses.á The room was previously a Tech Shop room and was cut in half.á This causes numerous difficulties, since the amount of space available for students is severely limited.á The computers themselves are recently donated Pentium IIIs, and there is a five year replacement schedule for new hardware.á StudeNTVista is used to manage the school network.á An LCD projector is sometimes used in order to display PowerPoint presentations with new material.á In addition, there is also a small white board, for more of a ôconcreteö teaching medium.á

 

The actual teaching of the courses involves various techniques.á Notes for the day are sent out as Word documents for the students to access, instead of having them copy it down from the board.á An Excel spreadsheet is used for the students to document all the new terms they learn.á Those terms are found through a Visual Basic help file.á In addition, the teacher may also either assign homework assignment/discovery lessons, For these, the students must search through the Visual Basic help file and learn about a new topic, or send out Visual Basic presentations to his/her peers which demonstrate a new concept that the students must learn.á

 

For teaching the hardware components of computers, old 486Æs and PentiumÆs were donated for the students to dismantle and analyze.á In regards to the programming part of the course, Visual Basic 6 is used.á

 

LANSchool is used to broadcast the teacherÆs computer screen to all the other computers.á This way, the teacher can demonstrate the concept to all of the students before walking each one of them through it individually. In order to teach some of the concepts, a more hands-on approach may be taken.á The teacher uses paper cups to demonstrate different programming ideas, such as Call procedures and sorting.á In terms of the actual programming, the teacher uses an Xtreme programming paradigm of assigning every student a partner.á Each student writes one self-contained part of the assignment, which usually calls another self-contained part, which the other student writes.á The students alternate back and forth for each assignment, allowing each student to get exposure to the different parts of the program.á To mark these and other assignments, there solutions posted at the back of the classroom, as well as self and peer evaluations.

 

 

Critique of the current situation

 

The curriculum taught at the three computer science classes at Forest Heights for the most part adhere to the standards set by the provincial government. However, in some cases there seems to be discrepancies. For example, in the provincial governmentÆs description of the TIK2O course it states that students should learn, ôthe relationship among networks, operating systems, and application software and their uses; and how programming languages evolve.ö[2] Students should also, ôdevelop an awareness of computer-related careers.ö However, in the course description provided by the Forest Heights computer science teachers, it is not clear if or how this is being accomplished.

 

In case of the ICS3MI and ICS4MI courses, they seem to follow the provincial guidelines more or less accurately. [1] However, the vague nature of the provincial curriculum leaves a lot of the implementation details upon the individual high-school/teacherÆs discretion. Therefore, it is difficult to determine the success of a specific high-schoolÆs curriculum in most cases.

 

We feel that the teachers at Forest Heights are making a good effort by incorporating up to date programming concepts such as Xtreme programming in their teaching methods. The teachers are encouraging the students to take advantage of the computer for most of the course by removing paper from the note-taking process. By using peer evaluations, pair programming and information-sharing, they are teaching students to do effective group-work which is crucial to the success of their future computer studies. Visual Basic 6 is also an adequate programming language choice for introducing students to programming concepts.

 

The third and fourth level courses (ICS3MI, ICS4MI) introduce students to some advanced level programming concepts which is very beneficial if they want to pursue post-secondary studies in computer science. The project for ICS4MI gives students the opportunity to further their group-work skills in the scope of a big project.

 

However, the lack of physical facilities- such as classroom space, one small white board, and few projectors û can seriously undermine the teaching efforts. The teacher from Forest Heights mentioned that they do not have a proper computer lab for the students to attend, and a small room with a very small blackboard and a small number of computers is used to deliver lessons. This makes it quite hard to deliver lessons by writing notes or drawing diagrams. Also, it was mentioned that many times, students have to share computers since there are more students than computers in the class, which may negatively affect the learning experience of the students. The teachers like to use power point presentations to present new ideas visually; however, there is only one LCD projector in the entire school.á

 

The lack of pre-requisites for even the higher level computer science courses hampers the teacherÆs effort to study any material in-depth. Valuable time is wasted in getting new students up to date on basic concepts. This may also lead to loss of interest of the students who have already taken the earlier computer courses.áá

 

 

Adequacy of the current curriculum at Forest Heights in preparing students for entry at U of W

 

As a top computer science school in Canada, University of Waterloo has high requirements for entry into their computer science program. The first year students are expected to have a strong background in mathematics and computers. There are also recommended courses such as ICS3MI, ICS4MI and ICE4M.á Two of these courses (ICS3MI, ICS4MI) are offered at Forest Heights. From our examination of these courses offered at Forest Heights, we know that they discuss the main concepts behind programming in general, which will be helpful for the students if they join the CS program in U of W.

 

The university offers three levels of beginner computer science courses to meet the needs of students with different levels of programming knowledge. CS 120 is offered for students with little or no background in programming. CS 130 is offered for the students with some programming background. This is the only course offered for computer science majors with programming as its central theme. CS 134 is for students with extensive programming background and focuses on areas such as efficiency and correctness of programs. After our examination of the computer courses offered at Forest Heights we feel that after taking the third and fourth year computer science courses (ICS3MI and ICS4MI), the students will be able to join a 2nd level computer science course at U of W, such as CS 130. However, from the information that we have received, it is unclear whether the current curriculum prepares them the advanced level course (CS 134). áá

 

Assignments and tests are an important part of the learning experience for computer science students at the University of Waterloo. The teachers of Forest Heights seem to be doing well in carrying out the jobs of creating assignments and tests.á The students do programming tests on computer which test their concepts, application and problem solving abilities.á However, the fact that they do not do written tests may be a downside, since at the University of Waterloo, the programming tests are done on paper.á By only doing the tests on computer, the students may be missing the ability to code accurately and efficiently on paper. The high-school assignments also involve researching on computer related social issues, which is a good way of making the students aware in different aspects of computer science.áááá

 

 

Our recommendations:

 

áFrom our discussion above we can see that there are numerous problems with the current computer science courses offered at Forest Heights. Most of their problems seem to be related to poor equipment. However, we feel that their present curriculum can be improved as well to prepare the students better for post-secondary education. Therefore, we are going to make some recommendations to improve the curriculum at Forest Heights and the province in general.

 

To provide a good quality of education for all students, the computer science curriculum has to be changed to adopt newer standards and the teaching motivation should be catered to teach computer science as any other natural sciencesùto understand the natural world better.

 

Due to the diversity of High School attendees, a well-designed system is required to benefit all studentsùregardless of whether one is going to university, college or a working environment. The Computer Science curriculum should be ôapplicationö-orientated with a focus on various aspects of computing and computation.

 

Applications are the soul of computers. It is the myriad numbers of different applications that enables people to take advantage of computers to accomplish their own goals. A grade 8 computer course should be offered to teach students on use of commercial software, such as sophisticated word processing, spreadsheets, and simple databases. The possible ways of doing online research should be taught here as well. The motivation of this computer course is to have students used to computers and using computers in everyday life to achieve personal goals. The course should be open to all students. A suggested model is the ôA One Year Introductory Computer Science Course, Emphasis on Applicationsö[3] approach suggested by ACM.

 

áAfter the general grade 8 course, grade 9 should be more computer-science-orientated. It should open for everybody who is interested as well. A good breadth should be provided to students so that they are able to decide their fields of interests. A broad coverage on various applications of computer science in real life is the ultimate goal and motivation of the course. A course designed to cover simple programming concepts, website construction, digital graphics editing (static photo editing, animated gifs, and vector graphics), video production and simple computer networking. Logic Programming Language is recommended as the choice of programming language to teach those simple programming concepts, including looping, procedure, numeric operations and functions. Logic Programming Languages will provide students with a solid background on programming logic and general logic reasoning, which would be very beneficial for them in long-run. Web construction, digital graphics editing and video production should have their emphasis on using different applications to accomplish the task rather than the theoretical concepts on how those programs are running at the background to achieve the design goal. A networking section will include some basic networking topologies with a real practical exercise on each of them. The Computer Science curriculum used by the Ottawa-Glandorf High School [4] could be used as a model.

á

The grade 10 course should be more challenging and more computer science concepts should be brought in. It should be only open to those who are considering to pursuit a computer-related career, whether in college, university or work. Programming should be the emphasis of this course. It is suggested that computer input/output, branching, use of feedback and decision to resolve problem, string and string functions, and array data structure should be taught in this course. Also, certain exposure on basic object-orientated programming should be included in this course as well. The choice of programming language could be Java, Visual Basic, C#, or C++. A similar model could be the Computer Science course offered by Carlton Comprehensive High School [5].

 

Grade 11 should expose some real computer science ideas and concepts to students. It should only offered to students who would like to pursuit a computer science or computer engineering degree in universities of colleges. This course should start by an overview on computer science, including problem solving and algorithms, computer architecture, Operating System, graphs and network, Artificial Intelligence, Theoretical Foundations of Computer Science, and social impact of computing. None of those topics should be discussed in any details than a surface introduction. A good example would be the example by ACM Model High School Computer Science curriculum, Breadth Approach Using Applications and Programming Module [6]

ááááá

Grade 12 course is the last high school computer science course. Due to the nature of computer science of being a highly practical field, a senior design project is suggested. This design project should give students an opportunity to discover topics in computer science that they are interested in and practically design systems that will be beneficial to others in the real life. Asking students to try to find any working process of an organization and try to computerize it with the knowledge that they have learnt would be a possible way of the design project.

 

 

Conclusion

 

Due to the increasing importance of computer education, more attention should be paid towards the computer science curriculum used in high schools. The curriculum at Forest Heights reflects the problems many high schools are facing in implementing a provincial guideline which is ambiguous and out of date. While providing proper facilities for the students remains a challenge, the actual course contents should also be constantly reviewed and updated so that they prepare students for the increasingly complex world of computers in university and the workplace.

 

 

References:

 

 

1. Ministry of Education, Technological Education: The Ontario curriculum, Grades 11 and 12, 2000

http://www.edu.gov.on.ca/eng/document/curricul/secondary/grade1112/tech/tech.html

 

2. Ministry of Education, Technological Education: The Ontario curriculum, Grades 9 and 10, 1999

http://www.edu.gov.on.ca/eng/document/curricul/secondary/techno/techful.html

 

3. ACM Model High School Computer Science curriculum, Appendix E: A One Year Introductory Computer Science Course, Emphasis on Applications

http://www.acm.org/education/hscur/appendixe.html

 

4. Ottawa-Glandorf High School Computer Science curriculum

http://www.oghs.noacsc.org/CURRICULUM/hscourses/computer.htm

 

5. Carlton Comprehensive High School Grade 10 Computer Science curriculum

http://teachers.carlton.paschools.pa.sk.ca/lhoward/intro.htm

 

6. ACM Model High School Computer Science curriculum, Appendix F: Breadth Approach Using Applications and Programming Module.

http://www.acm.org/education/hscur/appendixf.html

 

7. ACM Model High School Computer Science Curriculum

http://www.acm.org/education/hscur/