A Curriculum |
Summaries of Content |
A1 - Introduction to Object Oriented Programming (OOP) |
An introduction to OOP that covers the basic concept of classes and how messages and methods are related. Uses Role Playing as a learning tool to get students involved quickly. Also covers the basics of how to compile and run a program. |
A2 - Object-Oriented Programming |
More specific detail of what is happening behind the scenes and what the logic is behind the exercises in Lesson A1. Discusses object declaration, class diagrams, using nouns and verbs to define aspects of objects and classes, and the differences between a class and objects of that class. |
A3 - Primitive Data Types |
An overview of how to use the basic data types in Java such as int, char, double, and boolean. Also gives an introduction to data output, operator precedence, and methods of manipulating the primitive data types. |
A4 - Object Behavior |
Introduction to object behavior and how methods, returning values, signatures, scope, getters, and setters affect class design. |
A5 - Designing and Using Classes |
The previous four lessons put together for a comprehensive overview of how behaviors and attributes can work in harmony. It introduces a few more concepts of classes such as contructors. Very heavy in how to design a class well. |
A6 - Libraries and APIs |
Teaches the students how to understand and utilize the standard Java APIs. Uses the DrawingTool, Point2D.Double, Random, and Math classes as examples of exploring APIs. Also introduces the Javadoc tool and how to create APIs. |
A7 - Simple I/O |
Introduces the Scanner class and the printf() method for working with input from the keyboard and formatted output to the screen. |
A8 - Control Structures |
Shows the students how to create multiple way selection within their programs using the if, if-else, and optional switch statements. Also discusses the usefulness of pseudocode and algorithm development as well as giving an introduction to Boolean algebra and logical operators. |
A9 - Recursion |
Gives the students an introduction to recursion. |
A10 - Strings |
Discusses the String class and how it can be used within classes, simple String I/O, and how Java has made shortcuts so Strings look more like primitives. |
A11 - Inheritance |
Introduces the concept of inheritance and how to properly create subclasses from existing ones. |
A12 - Iterations |
Gives the students the powerful tool of iteration with while loops, for loops, and the optional do-while loop. |
A13 - Exceptions and File I/O |
Talks about exceptions and how to utilize them. Uses file input with the Scanner class as an example of when exceptions need to be used. |
A14 - Boolean Algebra and Loop Boundaries |
Further explores Boolean algebra, incorporating De Morgan’s laws, and how to create loops that iterate the correct number of times. |
A15 - ArrayList |
Introduces ArrayList as a method of holding a variable amount of data. Also discusses wrapper classes, casting, and iterators. |
A16 - Single Dimension Arrays |
Compares and contrasts single dimensional arrays with ArrayList. |
A17 - Quadratic Sorting Algorithms |
Introduces the students to sorting lists with the simple bubble, selection, and insertion sorts. |
A18 - Merge and MergeSort |
Explores recursive sorts which are more complex than quadratic sorts but are much faster. |
A19 - Sequential and Binary Searches |
Discusses the advantages to searching sequentially or through binary methods. |
A20 - Inheritance, Polymorphism, and Abstract Classes |
Expands on the concept of inheritance. |
A21 - Number Systems |
Explains the uses of different number bases as they relate to Computer Science. |
A22 - General Computer Knowledge |
Discusses basic facts about computer hardware and software as well as brief computer history and ethics. |