computer mathematics semester overview - lcps.org · web viewcomputer math. curriculum guide....
TRANSCRIPT
COMPUTER MATHCURRICULUM GUIDE
Overview
Loudoun County Public Schools2017-2018
(Additional curriculum information and resources for teachers can be accessed through CMS and VISION)
Computer Mathematics Semester Overview Addendum
1st Semester 2nd Semester
Classes and objects COM.2, COM.13
Inheritance and methods COM.9, COM.10, COM.11
Control statements and loops COM.14, COM.15
Polymorphism
Algorithms COM.4
Abstract classes and interfaces COM.5
Threads COM.5
Arrays COM.16
Project COM.3, COM.20
Graphics COM.12, COM.13
Static vs. instance classes COM.15
Animation COM.8, COM.17
Mouse and keypad input COM.6
Arrays and graphics COM.16
Event-driven programming COM.1
Encapsulation and abstraction COM.5
GUI formatting COM.6, COM.7
Strings, arrays, and files COM.13, COM.16
Objects, arrays, and files COM.15
Final project COM.3, COM.20
Computer Math Semester 1 page 3
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
5 blocks
Classes and Objects
Introduction to classes and objects.
Essential Questions What is Object Oriented Programming? What is the difference between a class and an object? Identify 3 classes within the classroom and some associated objects. What is a constructor? When is it called? Why do we define multiple constructors? How does Java determine which one to call? Why are naming conventions important? What is the difference between a resource class and an application? What is the first method called when you run a program? When do we use Inheritance? Identify 3 objects that use Inheritance.
Essential Understandings Basic features of the Integrated Development
Environment (IDE). How to compile and run a program. Structure, format, and syntax of a simple Java
program. Java Virtual Machine (JVM) and Platform
COM.2 The student will design, write, test, debug, and document a program. Programming documentation will include preconditions and post conditions of program segments, input/output specifications, the step-by-step plan, the test data, a sample run, and the program listing with appropriately placed comments.
COM.13 The student will select and implement built-in (library) functions in processing data.
COM.2 Essential Knowledge and Skills How to use the basic features of the IDE. Setup of classpaths for JAR files File Management. What is a source file, how
bytecode gets created. Writing, executing, and testing a Java program.
TJ Unit 1, Section 1 Lab00 – Hello Robot, Lab01 – Students and Books, Lab02 – Escape the Maze.
Computer Math Semester 1 page 4
independence. Definition of a class and an object. Definition of methods, constructors and how they
are called. Naming conventions for classes, variables, and
methods. Inheritance and the “is-a” relationship. The
keyword extends The “has-a” relationship. UML Diagrams.
3 blocks
Inheritance and Methods
Deriving new classes from existing classes. Writing static and instance methods
Essential Understandings Data variables, primitive data types: int, double,
boolean. References to objects. What is a Constructor? When is it called? Java
keyword new, super. Multiple Constructors with different parameter lists. Example of overloading methods.
Define class hierarchy, super class and sub class. How a subclass inherits all methods and variables of the super class. Using methods and variables defined in the super class.
Java only supports single inheritance; a class can only have one super class.
How objects are initialized. Sequence/hierarchy of Constructor calls.
What is a method? Why we create methods?
COM.9 The student will define simple variable data types that include integer, real (fixed and scientific notation), character, string, and Boolean.
COM.10 The student will use appropriate variable data types, including integer, real (fixed and scientific notation), character, string, and Boolean. This will also include variables representing structured data types.
COM.11 The student will describe the way the computer stores, accesses, and processes variables, including the following topics: the use of variables versus constants, variables’ addresses, pointers, parameter passing, scope of variables, and local versus global variables.
TJ Unit 1, Section 2 Lab 3: Climb Every Mountain.Lab 4: Take the FieldLab 5: Shuttle Run
Computer Math Semester 1 page 5
Definition of the method header. Passing arguments to a method and matching up data types.
3 blocks
Control statements and loops
Consolidating repetitive code into a loop.Adding conditional statements
Essential Understandings Syntax of loop statements. When to use a “for” loop and when to use a “while”
loop. Common pitfalls: placing a semi-colon before the
body of the commands. Logic errors and endless loops.
Syntax of the if, if-else, and if-else if-else statements.
Use of the Logic Operators: &&, ||, ==, !=, ! Compound logic statements. Definition of truth tables. Definition and proof of
DeMorgan’s laws. Short circuit evaluation. How Java executes
compound logic statements in order. Definition of the switch statement.
COM.14 The student will implement conditional statements that include “if/then” statements, “if/then/else” statements, case statements, and Boolean logic.
COM.15 The student will implement loops, including iterative loops. Other topics will include single entry point, single exit point, preconditions, and postconditions.
TJ Unit 1, Section 2
Lab 6: A Half Dozen Tasks. Note: Spend extra time with the 2nd Dozen tasks.
www.codingbat.comWarmup-1Logic-1
3 blocks
Polymorhism
Inheritance, Polymorphism, and Encapsulation
TJ Unit 1, Section 3 Lab 7: ExplorationLab 8: Hurdle Racing.
Computer Math Semester 1 page 6
Essential Understandings Overwriting super class methods. Writing a generic method for a super class
reference, but using Polymorphism so that the behavior reflects the sub class type.
What is dynamic binding? Encapsulating functionality
Computer Math Semester 1 page 7
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge and Skills
Additional Instructional
Resources/Comments
3 blocks
Algorithms
Breaking down a complex problem into sequential steps.
Essential Questions What are some of the characteristics of a successful team? How do you persist when the solution is complex and not obvious?
Essential Understandings Identifying the sequential steps of a multi-step
problem. Using Divide and Conquer strategies to solve the problem.
Looking for alternative solutions when solving problems. Working in small teams to identify different strategies to a complex problem.
COM.4 The student will design a step-by-step plan (algorithm) to solve a given problem. The plan will be in the form of a program flowchart, pseudo code, hierarchy chart, and/or data-flow diagram.
TJ Unit 1, Section 3 Lab 9: Shifting Piles,Lab 10: Maze Escaping.
3 blocks
Abstract classes and Interfaces
Defining abstract methods and abstract classes.
Essential Questions When would you define an Abstract class? What is the difference between an abstract and concrete class.
COM.5 The student will divide a given problem into manageable sections (modules) by task and implement the solution. The modules will include an appropriate user-defined function, subroutines, and procedures. Enrichment topics might include user-defined libraries (units) and object-oriented programming.
TJ Unit 1, Section 4 Lab 11: Your ID number,Lab 12: Harvesting and Carpeting.
Computer Math Semester 1 page 8
Identify 3 examples of an Abstract class. What is the difference between an Abstract class and an Interface? What are the advantages of defining an Interface? Identify 3 examples of an Interface.
Essential Understandings Java keyword abstract. What does it mean to implement a method? Java keyword interface.
4 blocks
Threads
Multitasking, running several threads concurrently.
Essential Questions What Interface does a task need to implement? What task method is equivalent to the application’s main() method? Describe briefly how multi-tasking works. What are the advantages of running threads? Identify 3 tasks that you run on your computer at home at the same time.
Essential Understandings Each Task must implement the Runnable interface. Identify the steps required to create a task which
can run as a thread and how the Driver/Application starts up the task.
COM.5 The student will divide a given problem into manageable sections (modules) by task and implement the solution. The modules will include an appropriate user-defined function, subroutines, and procedures. Enrichment topics might include user-defined libraries (units) and object-oriented programming.
TJ Unit 1, Section 4 Lab 14: Synchronized Swimming,Lab 15: Dancing Robots.
Computer Math Semester 1 page 9
2 blocks
Arrays
Static arrays of primitive data types and objects.
Essential Questions Identify 3 examples of how arrays are used in Computer Science.
Essential Understandings Creating static arrays. Indexing arrays. Traversing arrays. All arrays have the same type of elements. Out of Bound conditions.
COM.16 The student will select and implement appropriate data structures, including arrays (one-dimensional and/or multidimensional), files, and records. Implementation will include creating the data structure, putting information into the structure, and retrieving information from the structure.
www.codingbat.comArray-1
5 blocks
Project
Define you own Lab which implements several concepts we have covered to date.
Essential Understandings Applying the concepts we have learned throughout
the semester. Writing up a project description, high level design
document, and status reports.
.
COM.3 The student will write program specifications that define the constraints of a given problem. These specifications will include descriptions of preconditions, post conditions, the desired output, analysis of the available input, and an indication as to whether or not the problem is solvable under the given conditions.
COM.20 The student will design, write, test, debug, and document a complete structured program that requires the synthesis of many of the concepts contained in previous standards.
Computer Math Semester 1 page 10
5 blocks
Graphics
Writing programs which draw and display pictures on the screen.
Essential Understandings Driver and Resource classes. Using the Graphics object. Understanding Graphics methods which draw
shapes. Changing colors. Writing Strings with different Font types and sizes. Displaying images on the screen.
.
COM.12 The student will translate a mathematical expression into a computer statement, which involves writing assignment statements and using the order of operations.
COM.13 The student will select and implement built-in (library) functions in processing data.
TJ Unit 2, Section 1 Lab 0: Hello WorldLab 1: Welcome HomeLab 2: Fearless LeaderLab 3: Sunshine and Webbing
4 blocks
Static vs. Instance Classes.
Essential Understandings Static class methods Instance methods Class fields and instance fields Problem solving using resource classes Access modifiers Polymorphic behavior and using multiple classes
COM.5 The student will divide a given problem into manageable sections (modules) by task and implement the solution. The modules will include an appropriate user-defined function, subroutines, and procedures. Enrichment topics might include user-defined libraries (units) and object-oriented programming.
TJ Unit 2, Section 2 Lab 5: BugsLab 6: Square TurtlesLab 7: Polygon Turtles
5 blocksEnrichment, Assessment, and Remediation
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
8 blocks
Animation
COM.8 Essential Understandings The use of buffered images increase the speed and
smoothness of graphics animation Timers are used to control the frequency of the
draw( ) method Multiple classes with appropriate responsibilities
are used to control encapsulation
COM.17 Essential Understandings Implement existing classes into program using
API specifications
COM.8 The student will design and implement computer graphics, which will include topics appropriate for the available programming environment as well as student background. Students will use graphics as an end in itself, as an enhancement to other output, and as a vehicle for reinforcing programming techniques.
COM.17 The student will implement pre-existing algorithms, including sort routines, search routines, and simple animation routines.
TJ Unit 2, Section 3Lab 10, 11, 12, 14
2 blocks
Mouse and Keyboard Input
COM.6 Essential Understandings The KeyListener and MouseListener interface can
be used to listen for mouse and keyboard events The abstact methods of an interface must be
defined in the class implementing the interface
COM.6 The student will design and implement the input phase of a program, which will include designing screen layout and getting information into the program by way of user interaction, data statements, and/or file input. The input phase will also include methods of filtering out invalid data (error trapping).
TJ Unit 2, Section 3Lab 18, 19
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
1 block
Arrays and Graphics
COM.16 Essential Understandings Graphics objects can be stored an manipulated
using arrays
COM.16 The student will select and implement appropriate data structures, including arrays (one-dimensional and/or multidimensional), files, and records. Implementation will include creating the data structure, putting information into the structure, and retrieving information from the structure.
TJ Unit 2, Section 3Lab 19, 20
6 blocks
Event Driven Programming
COM.1 Essential Understandings GUI and Graphics objects are implemented
differently Object listeners can be used to control program
execution API's are key to implementing existing classes Implement JTextField, JButton, and JLabel
GUI components Use multiple listeners to control program flow Understand how primitive data can be treated
as objects using wrapper classes
COM.1 The student will apply programming techniques and skills to solve practical real-world problems in mathematics arising from consumer, business, and other applications in mathematics. Problems will include opportunities for students to analyze data in charts, graphs, and tables and to use their knowledge of equations, formulas, and functions to solve these problems.
TJ Unit 3, Section 1Lab 00 - 03
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
4 blocks
Encapsulation and Abstraction
COM.5 The student will divide a given problem into manageable sections (modules) by task and implement the solution. The modules will include an appropriate user-
TJ Unit 3, Section 2Lab 04 - 07
COM.5 Essential Understandings Understand how information hiding is
accomplished using accessor and modfier methods
Understand how to generate random numbers in a given range
Switch statements can be used in place of an equivalent if-then conditional structure
Implement return statements using non-void methods
Understand how helper methods facilitate program flow and enable encapsulation
defined function, subroutines, and procedures. Enrichment topics might include user-defined libraries (units) and object-oriented programming.
8 blocks
GUI Formatting
COM.6 Essential Understandings Use layout managers, FlowLayout,
GridLayout, and BorderLayout to control screen output
Use listeners to control program flow
COM.7 Essential Understandings Implement the DecimalFormat class to control
the output of numbers Use complex layouts to organize and control
output in a GUI environment
COM.6 The student will design and implement the input phase of a program, which will include designing screen layout and getting information into the program by way of user interaction, data statements, and/or file input. The input phase will also include methods of filtering out invalid data (error trapping).
COM.7 The student will design and implement the output phase of a computer program, which will include designing output layout, accessing a variety of output devices, using output statements, and labeling results.
Unit 3, Section 3Lab 08 - 11
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
7 blocks
Strings, Arrays, and Files
COM.13 The student will select and implement built-in (library) functions in processing data.
COM.16 The student will select and implement appropriate data structures, including
TJ Unit 4, Section 1Lab 00 - 04
COM.13 Essential Understandings Store and manipulate primitive data using
arrays Use JOptionPane windows and wrapper classes
to get user input Manipulate data in Arrays using methods of
the Math class: min, max, sum, and average
COM.16 Essential Understandings Implement array input and output, numeric
calculations, and decimal formatting Use text files as source and output files
arrays (one-dimensional and/or multidimensional), files, and records. Implementation will include creating the data structure, putting information into the structure, and retrieving information from the structure.
7 blocks
Objects, Arrays, and Files
COM.15 Essential Understandings Understand inheritance and implement abstract
classes Demonstrate polymorphism in sub-class
implementation Understand dynamic binding Implement the use of Input files of unknown
length Implement nested looping
COM.15 The student will implement loops, including iterative loops. Other topics will include single entry point, single exit point, preconditions, and post conditions.
TJ Unit 4, Section 2Lab 05 - 08
Number of Blocks
Topics, Essential Questions, and Essential Understandings
Standard(s) of Learning Essential Knowledge, Skills
Additional Instructional
Resources/Comments
5 blocks
Final Project
COM.3 Essential Understandings Write program specifications defining the
COM.3 The student will write program specifications that define the constraints of a given problem. These specifications will include descriptions of preconditions, post conditions, the desired output, analysis of the available
TJ Unit 4, Section 4Lab 14, 15, 16
constraints of a problem to include descriptions of preconditions, post conditions
COM.20 Essential Understandings Apply concepts learned throughout the
semester Design, write, test, debug, and document a
complete object oriented program
input, and an indication as to whether or not the problem is solvable under the given conditions.
COM.20 The student will design, write, test, debug, and document a complete structured program that requires the synthesis of many of the concepts contained in previous standards
5 blocks
Enrichment and Remediation
COM.19 Essential Understandings (optional) Use debugging to identify logic errors Implement a combination Graphics and GUI's Design and implement a simple applet
COM.19 The student will debug a program, using appropriate techniques (e.g., appropriately placed controlled breaks, the printing of intermediate results, other debugging tools available in the programming environment), and identify the difference between syntax errors and logic errors.
TJ Unit 3, Section 5Lab 15, 16, 17
Additional information about the Standards of Learning can be found in the
VDOE 2009 Curriculum Framework
VDOE 2016 Curriculum Framework
(click link above)
Additional information about math vocabulary can be found in the
VDOE Vocabulary Word Wall Cards
(click link above)