You are on page 1of 5

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.



Java Fundamentals
Overview
This course engages students with little or no programming experience to create Java programs. Participants are introduced to object-
oriented programming concepts, terminology, and syntax, and the steps required to create basic Java programs using the Alice,
Greenfoot, and Eclipse interactive development environments. Hand-on practices figure prominently throughout this course so students
can experience firsthand the power of computer programming.
Duration
90 hours (one semester)
Target Audiences
Primary Audience
College/university faculty who teach computer programming, information communications technology (ICT), or a related subject
Secondary school teachers who teach computer programming
Secondary Audience
None
Prerequisites
Required
Basic understanding of at least one programming language
The ability to follow software installation instructions and install Alice, Greenfoot, and Eclipse on a computer
Suggested
Getting Started with Java Using Alice and Creating Java Programs with Greenfoot or previous experience with at least one
programming language
Suggested Next Courses
Java Programming
Lesson-by-Lesson Topics
Welcome and Introduction
Welcome
o State the goal of the course
o Explain the course map
o Describe the teaching format used in class
o Become familiar with the computer lab, accounts, and an IDE
o Describe the computer software and folder configuration used in class
o Describe the importance of teamwork and introduce a member of the class
Introduction
o Describe the purpose for using Alice 3 and Greenfoot tools to learn Java
o Describe the skills used to generate an animation or create a game
o Describe the components of a team project
o Create a teamwork assessment rubric
o Describe the purpose for creating a journal to document programming projects
o Describe the code of ethics and cyber security
Using Alice 3
Get Started with Alice 3
www.oracle.com/academy
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
o Identify scene components
o Create and save a new project
o Add an object to a scene
o Communicate the value of saving multiple versions of a scene
o Code a simple programming instruction
o Use the copy and undo command
o Understand the value of testing and debugging
Add and Position Objects
o Open a saved version of a project
o Add multiple objects to a scene
o Describe the difference between precise positioning and drag-and-drop (or imprecise) positioning
o Use a one-shot procedure to precisely position an object in a scene
o Edit properties of an object in the Scene editor
o Describe three-dimensional positioning axes
o Position the sub-parts of an object in the Scene editor
Use Procedures and Arguments
o Toggle between, and describe the visual differences between, the Scene editor and the Code editor
o Locate and describe the purpose of the methods panel and the procedures tab
o Use procedures to move objects
o Add Java programming procedures to the Code editor
o Demonstrate how procedure values can be altered
o Create programming comments
o Reorder, edit, delete, copy, and disable programming statements
o Test and debug an animation
Add Rotation and Randomization
o Correlate storyboard statements with program execution tasks
o Add a control statement to the Code editor
o Use random numbers to randomize motion
Declare Procedures
o Compare and define an animation and a scenario
o Write a storyboard
o Flowchart a storyboard
o Describe inheritance and how traits are passed from superclasses to subclasses
o Describe when to implement procedural abstraction
o Demonstrate how to declare a procedure
o Identify and use procedural abstraction techniques to simplify animation development
Use Control Statements
o Define multiple control statements to control animation timing
o Create an animation that uses a control statement to control animation timing
o Recognize programming constructs to invoke simultaneous movement
Use Functions
o Use functions to control movement based on a return value
Use the IF and WHILE Control Structures
o Use the IF control structure to effect execution of instructions
o Use the WHILE control structure to create a conditional loop for repetitive behavior
Use Expressions
o Create an expression to perform a math operation
o Interpret a math expression
Use Variables
o Understand variables and how they are used in programming
Use Keyboard Controls
o Use keyboard controls to manipulate an animation
Develop a Complete Animation
o Use functional decomposition to write a scenario and storyboard
o Complete an animation
o Test an animation
o Reposition objects at runtime
o Plan the presentation of a completed animation project
Correlating Java Variables, Data Types, and Expressions with Alice 3 Tools
o Describe variables
o Describe Java simple types
o Define arithmetic operators
o Describe relational and logical operators
o Describe assignment operators
Correlating Java Methods, Classes, and Other Structures with Alice 3 Tools
o Describe a method, class, and instance
o Describe a scenario where an IF control structure would be used
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
o Describe a scenario where a WHILE control structure would be used
o Recognize the syntax for a method, class, function, and procedure
o Describe input and output
Using Greenfoot
Getting Started With Greenfoot
o Download and install Greenfoot
o Describe the components of the Greenfoot interactive development environment
o Create an instance of a class
o Describe classes and subclasses
o Recognize Java syntax used to correctly create a subclass
Using Methods, Variables and Parameters
o Define parameters and how they are used in methods
o Understand inheritance
o Describe properties of an object
o Examine the purpose of a variable
o Discuss programming concepts and define terminology
Working with Source Code and Documentation
o Demonstrate source code changes to invoke methods programmatically
o Demonstrate source code changes to write an IF decision statement
o Describe a method to display object documentation
Developing and Testing an Application
o Demonstrate program testing strategies
o Recognize phases for developing a software application
Using Randomization and Understanding Dot Notation and Constructors
o Create randomized behaviors
o Define comparison operators
o Create IF-ELSE control statements
o Create an instance of a class
o Recognize and describe dot notation
Defining Methods
o Describe effective placement of methods in a super or subclass
o Simplify programming by creating and calling defined methods
Using Sound and Keyboard Control
o Write programming statements to include sound in a program
o Write programming statements to include keyboard movements in a program
Creating a World, Animating Actors, and Ending a Game
o Construct a world object using a constructor method
o Create an object using a constructor
o Write programming statements to use the new keyword
o Define the purpose and syntax of a variable
o Recognize the syntax to define and test variables
o Write programming statements to switch between two images
o Write programming statements to end a game
Understanding Abstraction
o Define abstraction and provide an example of when it is used
Using Loops, Variables, and Strings
o Create a while loop in a constructor to build a world
o Describe an infinite loop and how to prevent one from occurring
o Use an array to store multiple variables used to create a world
o Create an expression using logic operators
o Describe the scope of a local variable in a method
o Use string variables to store and concatenate strings
Putting it All Together with Greenfoot
o Apply Greenfoot knowledge by creating a Java game
Creating an Inventory of Java Fundamentals
o List and define Java Programming terminology
o Recognize and label Java programming constructs
o Identify incorrect Java programming syntax
o List programming tasks to design and implement a game using Java
o List five variations to include in programming Q/A tests
Using Eclipse
Compiling with Eclipse A First Program
o Identify components of Eclipse
o Identify components of a Java application
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
o Compile an application
o Test to ensure application is complete
o Write the code for GalToLit.java
o Modify a program to execute error free
o Modify a program to use a formula to convert units of measure
Using Object Classes and Driver Classes
o Describe the general form of a Java program
o Describe the difference between an Object class and a Driver class
o Access a minimum of two Java class APIs
o Explain and give examples of Java keywords
o Create an Object class
o Create a Driver class
Programming with Data Types and Operators
o Use primitive data types in Java code
o Specify literals for the primitive types and for Strings
o Demonstrate how to initialize variables
o Describe the scope rules of a method
o Recognize when an expression requires a type conversion
o Apply casting in Java code
o Use arithmetic operators
o Use the assignment operator
o Use a method from the Math class
o Access a Math class method from the Java API
Using Strings
o Instantiate (create) a String
o Describe what happens when a String is modified
o Use the + and += operators for concatenating Strings
o Interpret escape sequences in String literals
o Recognize the difference between a String and a primitive char data type
o Test Strings with the compareTo() and equals() method
o Describe why the == operator does not always work when testing String equality
o Use String methods length(), substring(), indexOf(), and charAt()

Using Control Statements, Classes, Objects and Methods

Using Scanner and Conditional Statements
o Use Scanner for user input during program execution
o Use if-else logic and statements
o Apply switch logic and statements in Java code
o Use break and default effectively in a switch statement
o Use the ternary operator
Using Program Control Statements
o Create a while loop
o Create a do-while loop
o Create a for loop
Using Arrays and Exceptions
Using Arrays
o Write a single-dimensional array in a Java program using primitive data types
o Write a single-dimensional array in a Java program using reference (Object) types
o Write a 2-dimensional array in a Java program using primitive data types
o Write a 2-dimensional array in a Java program using reference (Object) types
o Declare an array, initialize an array, and traverse the array
o Describe array initialization
o Distinguish between the String method length() and an array's length value
o Rewrite a Java program to store integers into an array, perform a mathematical calculation, and display the result
o Use alternative array declaration syntax
Sorting and Searching
o Recognize the sort order of primitive types and objects
o Trace and write code to perform a simple Bubble Sort of integers
o Trace and write code to perform a Selection Sort of integers
o Trace and write code to perform a Binary Search of integers
o Compare and contrast search and sort algorithms
o Analyze the Big-O for various sort algorithms
Handling Errors
o Describe the different kinds of errors that can occur and how they are handled in Java
o Describe what exceptions are used for in Java
Copyright 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
o Determine what exceptions are thrown for any foundation class
o Write code to handle an exception thrown by the method of a foundation class

Using Recursion, Abstraction, and Inheritance

Creating Classes, Objects, and Methods
o Recognize the correct general form of a class
o Create an object of a class
o Create methods that compile with no errors
o Return a value from a method
o Use parameters in a method
o Create a driver class and add instances of Object classes
o Add a constructor to a class
o Apply the new operator
o Describe garbage collection and finalizers
o Apply the this reference
o Add a constructor to initialize a value
Passing Objects and Overloading Methods
o Use access modifiers
o Pass objects to methods
o Return objects from methods
o Use variable argument methods
o Overload constructors
o Overload methods
o Write a class with specified arrays, constructors, and methods
Understanding Recursion, the Static Modifier, and Nested Classes
o Create static variables
o Use static variables
o Create static methods
o Use static methods
o Create static classes
o Use static classes
o Create linear recursive methods
o Create non-linear recursive methods
o Compare the pros and cons of recursion
Understanding Inheritance
o Demonstrate and explain UML (Unified Modeling Language) class diagrams
o Use the extends keyword to inherit a class
o Compare and contrast superclasses and subclasses
o Describe how inheritance affects member access
o Use super to call a superclass constructor
o Use super to access superclass members
o Create a multilevel class hierarchy
o Recognize when constructors are called in a class hierarchy
o Demonstrate understanding of inheritance through the use of applets
o Recognize correct parameter changes in an existing applet
Understanding Polymorphism
o Apply superclass references to subclass objects
o Write code to override methods
o Use dynamic method dispatch to support polymorphism
o Create abstract methods and classes
o Recognize a correct method override
o Use the final modifier
o Explain the purpose and importance of the Object class
o Write code for an applet that displays two triangles of different colors
o Describe object references

To search and register for events scheduled in your area, visit the Academy events calendar.

You might also like