Previous Page Evergreen Main Menu TOC Discussion Area Web Resources for Page Next Page

Computer Science 20

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:
  • use of internal documentation statements
  • order of execution of statements
  • executable and non-executable statements
  • termination of a program. (TL)
  • 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:
  • blank lines
  • numbers
  • strings (messages)
  • items that are formatted and spaced in a variety of ways
  • strings and numbers on one line. (TL, COM)
  • 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:
  • differentiate between variables and values
  • identify primitive types of variables
  • identify the characteristics of the different types of variables and the operators appropriate to the different types
  • explain conventions for naming variables
  • identify an acceptable program statement that assigns a value to a variable
  • explain how a variable assignment is executed.
  • A concrete model is useful to demonstrate how a value is assigned to a variable.
  • A "RAM mailbox" structure with several compartments is an excellent model. Objects representing information can be moved among the compartments to show how values are assigned and moved. References to the mailbox are useful for more advanced topics such as traces, arrays, and sorts.
  • Role playing can be a good experience with students representing memory locations and data.

    Teacher Prepared Lesson

  • 4.4 Write programs in the language that assigns an output, as follows:
  • assign numbers to numeric variables
  • assign strings to string variables
  • transfer the value of one storage variable to another
  • output the values of numeric and string variables in a formatted way. (NUM)
  • 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:
  • display appropriate messages when prompting the user
  • store numeric data in an appropriate variable
  • store string data in an appropriate variable.
  •  
    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:
  • define a conditional, a loop
  • understand how infinite loops are created and why they should be avoided
  • describe the relational operators
  • use relational operators to compare numeric and string values.
  • 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:
  • state the purpose of each statement of the command(s)
  • identify and correct invalid uses of the command(s)
  • follow and diagram the working of a conditional (if statement) and series of nested conditionals identifying the operators and the logical concepts involved
  • follow and diagram the working of a loop, tracking counter values, etc.
  • explain nested loops and how they work.
  • 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:
  • identify appropriate uses
  • contrast characteristics with other types of routines and procedures. (NUM)
  • 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:
  • describe the way that subscripted variables are stored in memory
  • explain how a loop can deal with numerous variables using an array
  • explain how a variable can be used to select a particular element from an array.
  • 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:
  • enter data into an array
  • access data from an array
  • search and sort items in an array.
  • 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:
  • describe the components and workings of a local area network
  • explain the role of network manager
  • discuss network security issues
  • describe how local area networks can be connected into a wide area network. (TL)
  • 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:
  • be familiar with the nature and history of the Internet
  • explain how a connection is made to the Internet and the different protocols that make it work
  • demonstrate an understanding of the different functions of the Internet
  • understand and observe "netiquette", the code of ethics of the Internet
  • discuss Internet security issues and viruses. (PSVS)
  •  
    5.3 Demonstrate capability to use the Internet by:
  • connecting
  • sending and receiving e-mail
  • browsing the World Wide Web
  • using World Wide Web search tool
  • downloading a file by file transfer protocol (ftp) from an ftp site and examining it with appropriate software to ensure that it is safe and virus free. (TL, COM)
  • 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:
  • creating a simple, linear multimedia presentation containing graphics
  • creating a simple page in World Wide Web format using hypertext markup language (html). (TL, COM)
  • 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.

    Unit 7: Research Topics

    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:

  • seminar with technological aides
  • multimedia presentation
  • a series of web pages
  • tutorial program
  • model
  • List of Topics

      Coaching of Novice Users
      Prepare instructions and provide these in writing or orally.
      Display sensitivity to the age and background of the novice.
      "Adopt" a novice and accept the coaching duties.
      Prepare a "Computer Coaching Do’s and Don’ts" Report
      (COM)

      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:


      Produce art or music using a computer

      Gaming and Computers
      Describe the various functions of computers in gaming:


      Analyze the history of computer gaming
      Relate past events to current trends
      Survey current computer games:
      Write computer game programs

      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:


      Analyze the school library, and describe how computers might be involved:

      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:


      Describe the role computers might play in school activities:

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

    Previous Page Evergreen Main Menu TOC Discussion Area Next Page