Previous Page Evergreen Main Menu TOC Discussion Area Next Page

Computer Science 30

Unit 1: Software and Hardware - Advanced

Suggested Time: 2-3 hours

Foundational Objective

Common Essential Learnings Foundational Objective

  Learning Objectives Notes

1.1

Extend knowledge of the software on the computer system being used in order to:

  • understand and discuss copyright issues with regard to software use and copying; understand the nature of software upgrades and the version of the software package students are using
  • understand the importance of backing up data
  • understand the nature and hazards of viruses and the importance of proper prevention and cure
  • be knowledgeable about the graphics, sound and multimedia capabilities of the system being used.
  • Some parts of this objective may have been covered in other courses. Do an assessment first. A review may suffice.
    Schools must model proper attitudes and practices in use of software. All software in use in a school should be properly licensed.
    School computers and networks are vulnerable to viruses. All users of schools systems should be vigilant to reduce the chance of a virus infection.

    1.2

    Understand the importance of proper hardware maintenance and where applicable be able to perform cleaning and maintenance procedures on hardware
  • understand the importance of appropriate storage media care and maintenance
  • understand the mechanism of a Local Area Network, including servers and clients
  • be knowledgeable of state of the art technology for micro-computers in the areas of graphics, sound and multimedia capabilities.
  • There are risks involved in student participation in hardware maintenance. A school situation may make student involvement undesirable. There can be many things for students to learn from these types of responsibilities. Consider having a student assistant.
    (PSVS)

    Unit 2: Problem Solving - Advanced

    Suggested Time: 3-4 hours

    Foundational Objective

    Common Essential Learnings Foundational Objective

      Learning Objectives Notes
    2.1 Reorganize a problem so it can be solved in steps. These objectives have been covered in Computer Science 20 Unit 2 in a different format. A teacher may choose to introduce them with a short review and integrate the content throughout the programming projects in Unit 4. The skills should be continually emphasized with students throughout the course.
    2.2 Describe a problem covering the following steps:
  • describe the problem state
  • describe the solution state
  • distinguish between the two states
  • identify factors which limit the solutions available
  • reject extraneous details
  • apply external knowledge to the solution.
    (COM)
  •  
    2.3 Conceive a model that represents the problem. There are many options for an appropriate model describing the problem.
  • none necessary
  • picture or diagram
  • chart or table
  • tree
  • top-down diagram using stepwise refinement
  • 2.4 Build the model:
  • draw the picture or diagram
  • design and fill in the chart or table
  • complete the tree
  • complete the top-down diagram using stepwise refinement techniques.
  •  

    2.5

    Outline a process for solving the problem. Students should select an appropriate representation of the solution algorithm:
  • plain language
  • flowcharts
  • structured line diagrams.

    Build the algorithm:

  • write out the instructions (plain language or pseudocode)
  • design and fill in the flowchart
  • design and fill in the structured line diagram.
  • 2.6 Evaluate the solution use the following steps:
  • select appropriate conditions for testing the solution algorithm
  • anticipate errors
  • test the solution algorithm
  • correct errors
  • identify limitations of the solution algorithm.
    (CCT)
  • Students often find it valuable to have another student examine their problem solution. The writer of an algorithm may find that a discussion of it helps understanding.

    Unit 3: Problem Solving and Programming

    Suggested Time: 3-4 hours

    Foundational Objective

    Common Essential Learnings Foundational Objective

    Note: other CELs should be emphasized here.
      Learning Objectives Notes
    3.1 Demonstrate an understanding by describing a problem appropriately before beginning a program. Students should consider:
  • problem and solution states
  • limiting factors
  • extraneous details
  • required external knowledge.
  • 3.2 Model the problem appropriately before beginning a program. Select a model.
    Build a model.
    3.3 Solve the problem appropriately before beginning a program:
  • select an algorithm
  • compose the algorithm
  • compose a computer program.
  •  
    3.4 Re-evaluate the solution by looking back. Students should:
  • select appropriate data for testing
  • anticipate errors
  • test and debug
    identify limitations of the program.
  • 3.5 Design a program according to structured form containing the parts necessary to the language being used. Assess and evaluate the design.
    3.6 Differentiate between local and global variables and identify the scope of a variable name. Hold a class discussion.
    3.7 Describe the way in which the language utilizes modules that are parts of a main program and explain how data is transferred between different parts of a program. (COM) Have students do this orally or in writing.
    3.8 Demonstrate efficient program development practices. All of the following steps should be demonstrable.
    1. Realize the importance of a test whenever a new step is accomplished.
    2. Design the main program
      • sequence modules correctly
      • describe data to be transferred to/from modules.
    3. Write stub procedures using built-in traces. A stub procedure is a dummy procedure that is put in place to show that a program structure is working. For example, if a program was written with a procedure to calculate a percentage interest of a sum of money, a stub procedure could return a message of "Interest Procedure is Here".
    4. Write internal documentation.
    5. Choose data structures.
    6. Compose input procedure(s) by designing input screens and data-verification routines.
    7. Compose output procedure(s) by designing output screens.
    8. Complete and test procedures individually; select appropriate control structures.
    9. Test and debug the entire program.
    3.9 Compare high-level and low-level programming languages. (CCT) Name the advantages and disadvantages of:
  • high-level languages
  • low-level languages.
  • 3.10 Compare interpreted and compiled programming languages. Name the advantages and disadvantages of:
  • interpreted languages
  • compiled languages.
  • 3.11 Demonstrate an understanding of the characteristics of Object-Oriented Programming. If an object-oriented language is not being used, this objective should be covered, perhaps through a lecture or demonstration.

    The following ideas need to be considered:

  • objects, messages and methods
  • events and event handling
  • Rapid Application Development Systems (RADS)
  • Graphical User Interfaces (GUIs).
  • Previous Page Evergreen Main Menu TOC Discussion Area Next Page