Unit 4: Experience with Programming and Design
Suggested Time: 50-65 hours
Foundational Objective
.
Common Essential Learnings Foundational Objectives
| Learning Objectives | Notes | |
|---|---|---|
| 4.1 |
Demonstrate general knowledge of programs in the language, including:
|
The teacher should explain the value of these things in a program.
It can be valuable for students to critique examples of good and bad program code. |
| 4.2 |
Write programs in the language that outputs:
|
It is a good idea to have some sort of "ice breaker" activity to reduce the anxiety level for beginning programmers. Writing the first program can be daunting.
Students should be given an explanation of the criteria which will be used when their programs are evaluated. Creating a checklist of these for the students to use is good. Whenever possible, have student programming projects link to other courses such as science, mathematics or accounting. The instructor can provide the students with test data to use with their program to see if the results are valid. |
| 4.3 |
Demonstrate understanding and skill in the use of variables and assignment of values to variables, as follows:
|
A concrete model is useful to demonstrate how a value is assigned to a variable.
|
| 4.4 |
Write programs in the language that assigns an output, as follows:
|
It is important that students understand the difference between numeric and string variables and the way they are handled in the language. An activity early in the course to help students learn the differences can prevent much grief for them. An assignment where students correct variable mismatches or write a program with mismatches for a classmate to correct might be valuable. |
| 4.5 |
Write programs that:
|
|
| 4.6 | Recognize the various structural components of a program including variable and type declarations, conditionals, loops, modules, procedures/sub-routines, functions and other components that the chosen language supports. | It can be a good idea to have the students write procedures for a program body supplied by the teacher. |
| 4.7 |
Demonstrate understanding and skill in the use of conditionals and looping, as follows:
|
Conditional statements in most programming languages are implemented with an if-then-else structure. In some older languages, go to statements were used to simulate this structure. However, the use of go to should be STRONGLY discouraged in all student programming. If your chosen language requires use of go to statements, it is time for an upgrade. |
| 4.8 |
Demonstrate an understanding in the use of the language’s conditional and loop commands, as follows:
|
The instructor may decide to restrict the topic to one kind of loop structure; however, students should be aware that most languages have several loops, each of which has different attributes. For example, some loops are count based and some are condition based.
Nested loops can be demonstrated through role-playing. A student could perform an action loop, such as clapping five times. This action loop can be nested inside another such as standing up and sitting down. |
| 4.9 | Demonstrate understanding of the value and importance of proper use of sub-programs and of using sub-routines whenever practical within programming projects. | The students may find an ongoing program, that is added to as new concepts are introduced, to be more interesting than a new program for every concept. |
| 4.10 | Write programs involving single and nested loops. | |
| 4.11 |
Write programs that contain manipulations with strings using the string manipulation functions in the language.
(COM) |
String comparison, joining, case change, and dissecting should be discussed and practised.
A model of a string variable can show that different string functions do not change the value of the variable, they just look at a piece of it. |
| 4.12 | Write programs that contain uses of the built-in numeric functions of the language. | |
| 4.13 |
Demonstrate an understanding of and skill in the use of user-defined functions as follows:
|
It is useful to show the value of functions by contrasting two programs that produce similar output while differing by using or not using functions. |
| 4.14 |
Demonstrate an understanding of and skill in the use of single dimension arrays as follows:
|
Visual models are valuable when introducing arrays to students.
When beginning to use arrays, students will understand the processes much better if they first fill and extract data from an array with separate actions rather than doing it recursively. They will soon want a way to improve the process and will be eager to use loops to manipulate data in an array. |
| 4.15 |
Use single-dimension arrays appropriately in a program, as follows:
|
The sort and search should be done quickly, with the purpose of demonstrating the use of arrays. It is not intended to have students become proficient with all aspects of searches here. |
Unit 5: Networks (Optional)
Suggested Time: 5 hours
Foundational Objective
Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |
|---|---|---|
| 5.1 |
Demonstrate an understanding of the nature of networks as follows:
|
If the school has a network, the network manager can be an excellent resource. |
| 5.2 |
To demonstrate an understanding of the Internet as follows:
|
|
| 5.3 |
Demonstrate capability to use the Internet by:
|
Students may have covered this in other courses, in which case it may be omitted or covered in greater depth.
Most computer languages have websites and/or newsgroups where users congregate. These could be a valuable resource for computer science students. |
| 5.4 |
Demonstrate an ability to do simple multimedia presentations by:
|
Students may have covered this in other courses, in which case it may be omitted or covered in greater depth.
This might be a good opportunity for subject integration; students could do a presentation for another class. |
Unit 6: Careers Related to Computer Science
Suggested Time: 5 hours
Foundational Objective
Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |
|---|---|---|
| 6.1 |
Become aware of the potential jobs for people with training in computer science by investigating job descriptions, primary responsibilities associated with each, salaries, working conditions and educational requirements.
((PSVS, IL) |
Guest speakers and videos are good resources for this objective.
Post-secondary institutions often like to make contact with high school students. Many institutions have a presence on the World Wide Web. |
Suggested Time: 7-10 hours (This will vary with class size and availability of resources.)
Foundational Objective
Common Essential Learnings Foundational Objective
| Learning Objectives | Notes | |
|---|---|---|
| 7.1 | To research a computer science topic and present the findings to peers using computer technology. (IL, COM) |
Work with students to create a list of suggested topics for the student research. Teachers may choose other topics; ones specific to their local community would be fine. The project should make up a substantial part of the coursework, with about 10% of the grade derived from it.
Assignments should be made early in the course with the expectation that the students will present their findings to the class. It is important that the students use computer technology of some sort in the presentation of their results. Students should also be encouraged to use technological resources such as the Internet in their research. Some possible methods for students to deliver the information include: |
Creative Problem Solving
Describe the creative problem solving process.
Apply the process to real-world problems; work with a group.
Incorporate computers into some of the solutions.
(CCT, IL)
Documentation
Examine and criticize commercial documentation:
Fine Arts and Computers
Describe computer peripherals useful for artistic expression:
Gaming and Computers
Describe the various functions of computers in gaming:
Hackers and Security
Search the Web and create a report
History of Computing
Choose an example.
Libraries and Computers
Report on uses of computers for library functions:
Project
Apply the programming skills gained in the course to a major project
Robotics
Outline the history of robotics
Describe how robots work
Discuss industrial applications of robots
Analyze the socio-economic implications of robots
Describe the effects of combining robots with artificially intelligent computers
Analyze current trends and predict future scenarios.
(TL)
School Applications of Computers
Interview elementary-level teachers:
User Interfaces
Examine and contrast the way in which different computer applications present information to users.
Compare programs with similar uses, (word processing) and also ones with different uses, (a spreadsheet and a graphics program).