Previous Page Evergreen Main Menu TOC Discussion Area Next Page

Program Considerations

Programming Languages

Learning to program a computer is one of the important topics in the study of computer science, but it must be noted that there are many other important components of the science. The theoretical science of computation has its foundations in mathematics and linguistics, where algorithms for efficient computation and languages for expressing these algorithms are studied. The practice of computer programming grew from the capabilities of electronic computers to physically execute algorithms and interpret languages.

The main activity of most computer scientists is to design, develop, and program software systems. This activity has recently become known as "software engineering". Improving methods for designing and developing software that is correct, reliable, safe, and efficient has been a major activity in computer science over the past 50 years. Software design methodologies have progressed rapidly during the past 15 years. New paradigms such as object-oriented programming and rapid application development environments have changed the way software is designed and developed.

Computer Science 20 and 30 are more than computer programming courses. They are based on a broader range of objectives. In this approach to computer science, a programming language is used as a tool. However, some programming language must be chosen over others. It is desirable for students to have experience with more than one language so that they are aware that commonalities exist among different languages.

A different language should be used in the two classes. The teacher should select the languages so that the one used at the 30 level presents a different perspective so that students get as broad a range of experience as possible. It is recommended that an object-oriented language be used in at least one of the courses.

The selection of programming languages is left to the teacher. However, situations may arise where guidance is needed. For those cases, suggested languages are listed in Appendix A. These are recommended for beginners because they are good languages that are easy to obtain, cheap, and relatively easy to use.

The concepts learned at the 20 level will be covered readily with the second language at the 30 level. It is know from research that students transfer their knowledge of one computer language to the learning of another. This transfer occurs, in part, by analogy. Features of the new language (syntax) are learned better when the teacher points out their similarities with features of the previous language. Analogies are also important when presenting control and data structures of the new language. Students will learn the new structures better when they are shown the similarities and differences with the previous language. Students will continue to explain structures of the new language in terms of the previous language, even after they become familiar with the new. Teachers can utilize this link with the previous language as an instructional aid for some time after the new language is introduced.

By the time students complete Computer Science 30, they should be exposed to a variety of computer experiences. Students should gain an understanding of the software methodology compatible with the new language. All programming projects should promote good software design habits, using a recognized software design methodology and producing a well-documented and tested software system.

Problem Solving

Various Core topics have been identified as important for Computer Science 20 and 30. Suggested times for these topics are indicated reflecting the level of emphasis. Optional topics may be chosen depending on interest and time available.

Integration

The Internet and multimedia presentations may be used by students in other classes. This would provide opportunities for integration of subjects. The Computer Science class could act as a resource for understanding the uses in other classes.

Assignments

Assignments, intended to be completed in class or at home, enhance students' understanding, skills, and proficiency in computer science. Assignments can ensure that each Secondary Level credit accommodates 100 instructional hours.

The research component of the courses gives students an opportunity to explore the current state of knowledge in a Computer Science area of interest. It will also give them opportunity to gain experience with state of the art presentation techniques.

Care must be taken to assure that assignments are meaningful extensions of the concepts taught in class. Unimaginative assignments can often inhibit students' creativity, love of computer science, and desire to extend their learning independently. Assignments should develop students' higher levels of thinking by being structured in a problem-solving mode so that students have the opportunity to apply the computer science concepts learned. Although the objectives are presented in a numbered sequence, it is not required that they be presented in this order. The teacher should present the objectives in a way that is appropriate for the situation in the class.

Parents/caregivers can be significant contributors to this learning process. Opportunities for parents/caregivers to be involved in the data collection and problem-solving processes allow them to display interest in the student's work. It also offers them the opportunity to become familiar with the student's program.

References

Alberta Education. (1994 Interim).Career and technology studies: Computer processing 10-20-30.Edmonton, AB: Author.
Saskatchewan Education. (1995).Connections to a world of learning. Saskatchewan’s multimedia learning strategy. Regina, SK: Author.
Saskatchewan Education. (1995).Indian and Métis education policy from kindergarten to grade 12.Regina, SK: Author.
Saskatchewan Education. (1993).Student evaluation: A teacher handbook follow-up inservice.Regina, SK: Author.
Saskatchewan Education. (1992).The adaptive dimension in core curriculum.Regina, SK: Author.
Saskatchewan Education. (1992).Gender equity: A framework for practice.Regina, SK: Author.
Saskatchewan Education. (1992).Saskatchewan school-based program evaluation resource book.Regina, SK: Author.
Saskatchewan Education. (1991).Instructional approaches: A framework for professional practice.Regina, SK: Author.
Saskatchewan Education. (1991).Student evaluation: A teacher handbook.Regina, SK: Author.
Saskatchewan Education. (1988).Understanding the common essential learnings: A handbook for teachers.Regina, SK: Author.
Saskatchewan Education. (1987).Resource-based learning. Policy, guidelines, and responsibilities for Saskatchewan learning resource centres.Regina, SK: Author.
Saskatchewan Education. (1984).Computer applications 10, 20 and computer science 10, 20, 30. A curriculum guide for division IV.Regina, SK: Author.
Saskatchewan Education. (1984).Directions: The final report.Regina, SK: Author.

Previous Page Evergreen Main Menu TOC Discussion Area Next Page