Curriculum Map: Programming in Java Course: PROG JAVA ­ Subtopic: Programming Detailed Description: This course provides students with an introductory knowledge and hands­on experience with the JAVA programming language and features. Students will develop skills in object­oriented programming using the JAVA Programming Language. This course continues the study of computer science for anyone interested in programming or pursuing a career in a field that uses computers. Problem­solving and algorithm development skills will be used as students design, write code, debug and document programs using proven programming techniques. Programming in JAVA serves as the prerequisite for Advanced Placement Computer Science. Strand: 1.0 Background Content Strand: 1.1 History of Computers Content Strand: 1.2 Computer hardware and software Content Strand: 1.3 Binary Representation of Information and Computer Memory Content Strand: 1.4 Programming Languages Content Strand: 1.5 The Software Development Process Content Strand: 1.6 Basic Concepts of Object Oriented Programming Strand: 2.0 First Java Programs Content Strand: 2.1 Why Java Content Strand: 2.2 The Java Virtual Machine and Byte Code Content Strand: 2.3 Choosing a User Interface Style Content Strand: 2.4 Hello World Content Strand: 2.5 Enumerated Classes and Objects Content Strand: 2.6 Temperature Conversion Content Strand: 2.7 Turtle Graphics Strand: 3.0 Syntax, Errors, and Debugging Content Strand: 3.1 Language Elements Content Strand: 3.2 Basic Java Syntax and Semantics Content Strand: 3.3 Terminal I/O for Different Data Types Content Strand: 3.4 Comments Content Strand: 3.5 Programming Errors Content Strand: 3.6 Debugging Strand: 4.0 Introduction to Control Statements Content Strand: 4.1 Additional Operators Content Strand: 4.2 Standard Classes and Methods Content Strand: 4.3 Shortcut for Inputting Data Content Strand: 4.4 Control Statements Content Strand: 4.5 The If and If­Else Statements Page 1 of 3 pages Content Strand: 4.6 The While Statement Content Strand: 4.7 The For Statement Content Strand: 4.8 Nested Control Statements and the Break Statement Content Strand: 4­9 Errors In Loops Strand: 5.0 Introduction to Defining Classes Content Strand: 5.1 The Internal Structure of Classes and Objects Content Strand: 5.2 A Student Class Content Strand: 5.3 Editing, Compiling, and Testing the Student Class Content Strand: 5.4 The Structure and Behavior of Methods Content Strand: 5.5 Scope and Lifetime of Variables Content Strand: 5.6 Turtle Graphics: Colors, Pen Widths, and Movement Strand: 6.0 Control Statements Continued Content Strand: 6.1 Logical Operators Content Strand: 6.2 Testing If Statements Content Strand: 6.3 Nested If Statements Content Strand: 6.4 Logical Errors in Nested Ifs Content Strand: 6.5 Nested Loops Content Strand: 6.6 Testing Loops Strand: 7.0 Improving the User Interface Content Strand: 7.1 Writing a Class Content Strand: 7.2 Repeating Sets of Inputs and Type Char Content Strand: 7.3 A Menu­Driven Conversion Program Content Strand: 7.4 A GUI­Based Conversion Program Content Strand: 7.5 A GUI­Based Program Explained Content Strand: 7.6 Other Window Objects and Methods Content Strand: 7.7 Formatted Output Content Strand: 7.8 GUI’s and Applets Strand: 8.0 Introduction to Arrays Content Strand: 8.1 Conceptual Overview Content Strand: 8.2 Simple Array Manipulations Content Strand: 8.3 Looping Through Arrays Content Strand: 8.4 Declaring Arrays Content Strand: 8.5 Working With Arrays That Are Not Full Content Strand: 8.6 Parallel Arrays Content Strand: 8.7 Two­Dimensional Arrays Page 2 of 3 pages Content Strand: 8.8 Arrays and Methods Content Strand: 8.9 Arrays of Objects Content Strand: 8.10 Applying the Model/View Pattern to the Case Study Strand: 9.0 Classes and Objects Continued Content Strand: 9.1 Class (Static) Variables and Methods Content Strand: 9.2 Java Interfaces – The Client Perspective Content Strand: 9.3 Java Interfaces – The Implementation Perspective Content Strand: 9.4 Code Reuse Through Inheritance Content Strand: 9.5 Inheritance and Abstract Classes Content Strand: 9.6 Some Observations Ablut Interfaces and Inheritance Content Strand: 9.7 Acceptable Classes for Parameters and Return Values Content Strand: 9.8 Error Handling with Classes Content Strand: 9.9 Exceptions Content Strand: 9.10 Reference Types, Equality, and Object Identity Strand: 10.0 Arrays Continued Content Strand: 10.1 Advanced Operations on Strings Content Strand: 10.2 Searching Content Strand: 10.3 Sorting Content Strand: 10.4 Insertions and Removals Content Strand: 10.5 Working With Arrays of Objects Content Strand: 10.6 BreezySwing: Menus, Scrolling List Boxes, and Dialogs Content Strand: 10.7 The Class java.util.ArrayList Page 3 of 3 pages