Adult and Community Education
        Search FCPS:   


Program of Study for High School Mathematics

COMPUTER SCIENCE (318400)
Grade: 10-12
Prerequisite or Corequisite: Algebra 1 and Geometry
Credit: One

Overview

Required Basal Textbooks


Overview

1) allows students to develop programming skills and an understanding of object-orientation in order to prepare them for future study or work in the field of computer science, and

2) develops students’ problem solving and design skills through an object-oriented environment and group problem-solving tasks.

This course uses an object-oriented approach to Java programming, including the concepts of data abstraction, information hiding, encapsulation, polymorphism and inheritance, and allows students to design, implement, and analyze solutions to a wide range of mathematical and non-mathematical problems using the computer. Additional topics from the areas of computer systems, graphics, logic, ethics, history, and the Internet will be addressed.

To help students see the big picture of object-oriented programming early, the course will begin with an investigation of some simple Java classes that implement Karel J. Robot (the Java version of Karel the Robot). In just a few weeks, students receive a basic introduction to key aspects of object-oriented programming, making later topics in the course much easier to handle.

The FCPS Computer Science POS is a superset of the 2003 Virginia Standards of Learning (SOL) for Computer Mathematics. Required FCPS POS indicators and terms that go beyond the Virginia SOLs are in italics type, while the Virginia SOL indicators are referenced by their COM numbers.

back to top


Required Basal Textbooks
  • Morelli, Ralph. Java, Java, Java: Object-Oriented Programming. Prentice Hall. 2002.
  • Savitch, Walter. Java: An Introduction to Computer Science and Programming. Prentice Hall. 2001.
  • Farrell, Joyce. Java Programming. Thomson Learning. 2003.

back to top


I. Programming Design and Analysis

Benchmark

Students describe and implement the program development cycle: defining the problem, planning a solution, carrying out the plan, debugging the program, and providing program documentation. By taking control of the object-oriented programming process, students develop skills in problem-solving, including finding sources of information that support further learning.

Key Terms

algorithm classes object oriented design
pseudo code objects stepwise refinement
debug instantiate top-down design
input/output API bottom-up design

Indicators

  1. Write program specifications that define the constraints of a problem. These include descriptions of pre-conditions, post-conditions, the desired output, analysis of the available input and indications to whether or not the program is solvable under the given conditions. Think of the solution as a set of interacting objects. (COM. 3)
  2. Design and implement a plan (algorithm) to solve a given problem. Again we must think of a program solution as a set of well-defined objects interacting with each other. (COM. 2, 4, 20)
  3. Test a program using appropriate sets of data. The data sets should be comprehensive and test for all expected outcomes. (COM. 17)
  4. Debug programs using appropriate techniques and identify the differences between syntax errors and logic errors. (COM. 19)
  5. Document a program, including internal and external documentation. (COM. 2)

back to top


II. Program Implementation

Benchmark
Students design, develop, and implement a solution to a problem, often by reading, modifying, and extending existing classes. Students should be able to code fluently in Java and incorporate standard Java classes.

Key Terms

Indicators

  1. Divide problems by task into manageable sections (modules). (COM. 5)
  2. Design and implement the input phase of a program including user interface, screen layout and various methods of streaming data and error trapping. (COM. 6)
  3. Design and implement the output phase of a program including output layout and format. Access various output devices. (COM. 7)
  4. Translate mathematical expressions into computer statements using assignment statements and order of operations. (COM. 11)
  5. Select and implement built-in functions and appropriate libraries (header files) to process data. (COM. 12)
  6. Design and implement conditional statements including if, if/else, switch and Boolean logic. (COM. 13)
  7. Design conditional and interactive loops including for, while, and do while. Pre-conditions, post-conditions, recursion and loop invariance will be included. ( COM. 14)
  8. Use pre-existing classes in an object-oriented environment. (COM. 5, 16)
  9. Modify objects from existing libraries and create new objects. (COM. 5)
  10. Re-use code from a well-defined library of classes when appropriate. (COM. 5,16)
  11. Design and implement computer graphics as an end in itself, an enhancement to other output, and as a vehicle for reinforcing programming techniques. (COM. 8)

back to top


III. Data Structures

Benchmark
Students select and design data types that best represent and manage the data elements in a program.

Key Terms

array boolean char
data type double float
int long string

Indicators

  1. Define and use primitive variable data types, including int, char, double, and Boolean. (COM. 9)
  2. Select, design and use appropriate data structures including single and multi-dimensional arrays, strings, and classes. Implementation will include constructing structures, populating, manipulating and retrieving their data. (COM. 15)

back to top


IV. Algorithms

Benchmark
Students select and implement well-known algorithms to solve problems.

Key Terms

Binary search Bubble sort Selection sort
Sequential search

Indicators

  1. Identify, modify and implement pre-existing algorithms, including summing routines, grouping routines, string manipulating routines, recursive routines, sort routines, search routines and animation routines. (COM. 16)
  2. Informally analyze running time and execution count of an algorithm for program efficiency.
  3. Solve mathematical, probability, statistical and practical consumer problems using formulas, equations, graphs, tables, charts, and functions. (COM. 1)

back to top


V. Computer Systems

Benchmark
Students identify the major hardware and software components of a computer system, their relationship to one another and the roles of these components within the system.

Key Terms

byte binary byte code
compiler editor CPU
floppy disk interpreter hard drive
JVM machine language source code
RAM ROM

Indicators

  1. Use operating system commands including creating a file, opening an existing file, saving a file, making a printed copy of a file, and compiling and executing a program.
  2. Describe the way the computer stores, accesses and processes information. Different variable and constant types, reference and value parameters, scope of variables, public and private data, file types, data storage and memory allocation should be included as topics. (COM. 10)
  3. Recognize and describe major hardware components including primary and secondary memory, processors, and peripherals.
  4. Recognize and describe major system software including language translators and operating systems.
  5. Relate the evolution and hierarchy of hardware and programming languages.

back to top


VI. Computers in Society

Benchmark
Students recognize the ethical and social implications of computer use.

Key Terms

Copyright Information Age

Indicators

  1. Investigate career opportunities and real-world applications of computer science.
  2. Investigate the social and ethical implications of programming computers and their use.
  3. Use the Internet as a research tool as well as a programming medium.
  4. Interpret the history of computer science through the development of the information age.

David Van Vleet
Mathematics Specialist
DVanVleet@fcps.edu
703-846-8650

Donald Lacey Instructional Center
3705 Crest Drive
Annandale, VA 22003


Last Updated
9/9/2004

Contact
Yvonne Griggs
Yvonne.Griggs
@fcps.edu
Adult & Community Education Early Childhood & Family Services
Elementary School Instruction English for Speakers of Other Languages
High School Instruction & K-12 Curriculum Services Instructional Technology Services
Middle School Instruction Professional Technical Studies Staff Development