Java I

Oracle Academy: Fundamentals of Java Programming

"Everybody in this country should learn how to program a computer ... because it teaches you how to think."  - Steve Jobs 

Unit 1: Welcome and Introduction

By the end of this course you should be able to:

• Create simple animations and games. • Demonstrate knowledge of Java technology and the Java programming language. • Use the Java programming language to create applications. • Integrate decision, looping, and other intermediate code to build “smarter” programs.

As a developer, you will use various Integrated Development Environments (IDEs), to create your Java applications.

An Integrated Development Environment, referred to as simply “IDE” , is a software tool used by computer programmers to develop software applications. A fully functional IDE includes tools for writing, editing, compiling, deploying and debugging programs.

You will be exposed to Scratch, Alice, Greenfoot, and Eclipse IDEs: 

  • Scratch is a programming language IDE that makes it easy for users to create their own interactive stories, animations, games, music, and art -- and share their creations on the web.  Scratch supports the development of 21st century learning skills such as critical thinking, problem solving, communication, collaboration, creativity and innovation. Scratch was collaboratively developed at MIT.
  • Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freeware object-based educational programming language IDE. Alice uses a drag and drop environment to create computer animations using 3D models. The software was developed first at University of Virginia, then Carnegie Mellon (from 1997), by a research group led by the late Randy Pausch.
  • Greenfoot is a programming language with a fully functional IDE that teaches object orientation programming (OOP) using actual Java code. Users create 'actors' which live in 'worlds' to build games, simulations, and other graphical programs. Greenfoot is a project in the Programming Education Tools Group, part of the Computing Education Research Group at the School of Computing, University of Kent in Canterbury, UK.
  • Eclipse is an fully functional IDE used in computer programming. Eclipse is written mostly in Java and its primary use is for developing Java applications. Eclipse was inspired by the Smalltalk-based VisualAge family of IDE products (from IBM).  In January 2004, the Eclipse Foundation was created, and today has over 190 corporations as members.

Lesson 1: Welcome and Course Introduction

Objectives:
In this lesson, you should have learned how to:

  • Describe the purpose for using Scratch, Alice, and Greenfoot IDEs and tools to learn Java
  • Describe the skills used to generate an animation or create a game
  • Describe the components of a team project
  • Create a teamwork assessment rubric
  • Describe the purpose for creating a journal to document programming projects
  • Describe the code of ethics and cyber security

Unit 2: Using Scratch

Lesson 2: Get Started with Scratch

In this lesson, you should have learned how to:

  • Identify scene components

Lesson 3: Adding and Position Objects

In this lesson, you should have learned how to:

  • Create and save a new project
  • Add an object to a scene

Unit 3: Using Alice

Lesson 4: Get Started with Alice 3

In this lesson, you should have learned how to:

  • Identify scene components
  • Create and save a new project
  • Add an object to a scene
  • Communicate the value of saving multiple versions of a Communicate the value of saving multiple versions of a scene
  • Code a simple programming instruction
  • Use the copy and undo command
  • Understand the value of testing and debugging

Lesson 5: Add and Position Objects

In this lesson, you should have learned how to:

  • Open a saved version of a project
  • Add multiple objects to a scene
  • Describe the difference between precise positioning and drag-and-drop (or imprecise positioning)
  • Use a one-shot procedure to precisely position an object in a scene

Lesson 6: Use Procedures and Arguments
Lesson 7: Add Rotation and Randomization
Lesson 8: Declare Procedures
Lesson 9: Use Control Statements Lesson 9: Use Functions
Lesson 10: Use the IF and WHILE Control Structures
Lesson 11: Use Expressions
Lesson 12: Use Variables
Lesson 13: Use Keyboard Controls
Lesson 14: Develop a Complete Animation
Lesson 15: Correlating Java Variables, Data Types, and Expressions with Alice 3 Tools
Lesson 16: Correlating Java Methods, Classes, and Other Structures with Alice 3 Tools

Unit 4: Using Greenfoot


Lesson 17: Getting Started With Greenfoot
Lesson 18: Using Methods, Variables and Parameters
Lesson 19: Working with Source Code and Documentation
Lesson 20: Developing and Testing an Application
Lesson 21: Using Randomization and Understanding Dot Notation and Constructors
Lesson 22: Defining Methods
Lesson 23: Using Sound and Keyboard Control
Lesson 24: Creating a World, Animating Actors, and Ending a Game
Lesson 25: Understanding Abstraction
Lesson 26: Using Loops, Variables, and Strings
Lesson 27: Putting it All Together with Greenfoot
Lesson 28: Creating an Inventory of Java Fundamentals

Using Eclipse

Lesson 29: Compiling with Eclipse – A First Program
Lesson 30: Using Object Classes and Driver Classes
Lesson 31: Programming with Data Types and Operators
Lesson 32: Using Strings
Lesson 33: Using Control Statements, Classes, Objects and Methods
Lesson 34: Using Scanner and Conditional Statements
Lesson 35: Using Program Control Statements
Lesson 36: Using Arrays and Strings
Lesson 37: Using Arrays
Lesson 38: Sorting and Searching
Lesson 39: Handling Errors
Lesson 40: Using Recursion, Abstraction, and Inheritance
Lesson 41: Creating Classes, Objects, and Methods
Lesson 42: Passing Objects and Overloading Methods
Lesson 43: Understanding Recursion, the Static Modifier, and Nested Classes
Lesson 44: Understanding Inheritance
Lesson 45: Understanding Polymorphism