You are here:
Introduction to Java for New Programmers

This course is an introduction to object oriented programming using the Java language. The course is designed to teach programming from the ground up. The language Java is used because of its growing importance in modern application development. The core syntax of Java is very similar to C and C++, so the student will receive a good grounding for subsequent study of these languages as well. This course introduces object oriented concepts very early, and Java is developed in a way that leverages its object orientation. A major case study, the Electronic Commerce Gameä, is used to illustrate object oriented programming techniques, including the initial analysis and design.

An important thrust of this course is to teach programming from an object oriented perspective. It is often difficult for programmers trained originally in a procedural language to start “thinking in objects”. This course introduces object oriented concepts very early, and Java is developed in a way that leverages its object orientation. A major case study is used to illustrate object oriented programming techniques, including the initial analysis and design.

The course includes a preliminary chapter that introduces computers from the perspective of programming, covering the essentials of the von Neumann computer architecture and stored programs. The special nature of Java is explored. The course then introduces simple hands-on programming using Java to do simple input, computation and output. The Java data types are covered, and simple if tests and loops are covered. At this point the object oriented features of Java are introduced, and all the remaining treatment of Java follows an object oriented perspective. The course shows how to develop algorithms, present them as flowcharts or pseudocode, and to verify them using handtracing. Algorithms are always implemented as methods of Java classes. There are many programming examples and exercises. The course can be run on any Java development environment.

 
Who Should Attend
The course is designed as the first programming course for students beginning to prepare for a career in computer programming, with a focus on modern programming technologies.
 
Prerequisites
Good general problem solving skills and user experience on a PC.
 
Features of this Course
Interactive hands-on lab exercises.
 
Benefits of Attending this Class

Upon completion of this course, students should be able to:

During class, students will:

  • Learn the basic principles of object oriented programming
  • Gain an understanding of the fundamental concepts of computers required for programming.
  • Learn how to develop, specify and verify algorithms.
  • Learn the essentials of the Java programming language.
  • Acquire the skills needed to design, code and debug computer programs in the Java language.
 
Course Contents

0. Introduction to Computers

Input, Computation and Output
CPU and Memory
Binary and Hex Numbers
Stored Programs
Machine Language
Programming a Simple Computer in Machine Language
Assembly Language
Compilers and High Level Languages
Interpreters

1. What is Java?

Object Orientation
Java Language
Java Virtual Machine
Java Libraries
World Wide Web and Java
Java as a First Programming Language

2. First Java Programs

Hello, World
Program Structure
Output in Java
Variables and Expressions
Calculations Using Java
Classes and Objects
An Input Wrapper Class
Packages

3. Data Types and Operators

Strong Typing
Integer Data Types
Floating Point
Conversions Between Types
Arithmetic Operators
Doing Math in Java

4. Logical and Bit Operations

Boolean
Logical and Relational Operators
If Tests
Bitwise Operators
Shifting and Masking

5. Loops and Structured Programming

While Loops
Quitting Infinite Loops
Curly Braces and Indenting
Sentinels and Counters
For Loops
Loops and If Tests Together
Nested If Statements
Structured Programming

6. Introduction to Objects

Modeling
Reusable Software Components
Encapsulation
Abstraction
Objects and Classes
Finding Objects
Electronic Commerce Case Study

7. Objects and Classes

Structured Data
Classes
References
Assignment of Objects
Initialization
Garbage Collection

8. Characters and Strings

Char Data Type
String Class
String Input and Output
String Methods

9. Modular Programming

Monolithic Programs
Static Variables and Methods
Functional Modularity
Object Modularity
Top-Down and Bottom-Up Development
Pass-By-Value and Pass-By-Reference
Nested Classes

10. Arrays

One Dimensional Arrays
Subscripts
Initializing Arrays
Arrays and Loops
Copy and Assignment
Arrays of Objects
Multidimensional Arrays

11. Algorithms and Problem Solving

Understanding a Problem
Specifying Data Structures
Pseudocode
Designing an Algorithm
Divide and Conquer
Handtracing
Searching
Sorting

12. Control Structures and Exceptions

Switch
Break
Continue
Do
Exceptions

 
 

 
 
Disclaimer: HP-UX, Tru64 Unix, OpenVMS and are registered trademarks of the Hewlett Packard Corporation. Solaris and Java are registered trademarks of Sun Corporation. AIX is a registered trademark of IBM. Oracle is aregistered trademark of Oracle Corporation.