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/