Java Programming Language (SL-275-SE6)

Course overview

The Java Programming Language course provides students with information about the syntax of the Java programming language; object-oriented programming with the Java programming language; creating graphical user interfaces (GUIs), exceptions, file input/output (I/O), and threads; and networking. Programmers familiar with object-oriented concepts can learn how to develop Java technology applications. The course features the Java Platform, Standard Edition 6 (Java SE 6) platform, and utilizes the Java SE Development Kit 6 (JDK 6) product. The students perform the course lab exercises using the NetBeans Integrated Development Environment (IDE) 5.5.

Goal

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

  • Create Java technology applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
  • Execute a Java technology application from the command line
  • Use Java technology data types and expressions
  • Use Java technology flow control constructs
  • Use arrays and other data collections
  • Implement error-handling techniques using exception handling
  • Create an event-driven graphical user interface (GUI) using Swing components: panels, buttons, labels, text fields, and text areas
  • Implement input/output (I/O) functionality to read from and write to data and text files and understand advanced I/O streams
  • Create a simple Transmission Control Protocol/Internet Protocol (TCP/IP) networked client that communicates with a server through sockets
  • Create multithreaded programs

 

Target group

Students who can benefit from this course are programmers who are interested in adding the Java programming language to their list of skills and students who are preparing for the Sun Certified Programmer for Java examination.

Syllabus

1. Getting Started

Examine Java technology
Analyze a simple Java technology application
Execute a Java technology application

2. Object-Oriented Programming

Define modeling concepts: abstraction, encapsulation, and packages
Discuss Java technology application code reuse
Define class, member, attribute, method, constructor, and package
Use the access modifiers private and public as appropriate for the guidelines of encapsulation
Invoke a method on a particular object
Use the Java technology API online documentation

3. Identifiers, Keywords, and Types

Use comments in a source program
Distinguish between valid and invalid identifiers
Recognize Java technology keywords
List the eight primitive types
Define literal values for numeric and textual types
Define the terms primitive variable and reference variable
Declare variables of class type
Construct an object using new
Describe default initialization
Describe the significance of a reference variable
State the consequence of assigning variables of class type

4. Expressions and Flow Control

Distinguish between instance and local variables
Describe how to initialize instance variables
Recognize, describe, and use Java software operators
Distinguish between legal and illegal assignments of primitive types
Identify boolean expressions and their requirements in control constructs
Recognize assignment compatibility and required casts in fundamental types
Use if, switch, for, while, and do constructions and the labeled forms of break and continue as flow control structures in a program

5. Arrays

Declare and create arrays of primitive, class, or array types
Explain why elements of an array are initialized
Explain how to initialize the elements of an array
Determine the number of elements in an array
Create a multidimensional array
Write code to copy array values from one array to another

6. Class Design

Define inheritance, polymorphism, overloading, overriding, and virtual method invocation
Use the access modifiers protected and the default (package-friendly)
Describe the concepts of constructor and method overloading
Describe the complete object construction and initialization operation

7. Advanced Class Features

Create static variables, methods, and initializers
Create final classes, methods, and variables
Create and use enumerated types
Use the static import statement
Create abstract classes and methods
Create and use an interface

8. Exceptions and Assertions

Define exceptions
Use try, catch, and finally statements
Describe exception categories
Identify common exceptions
Develop programs to handle your own exceptions
Use assertions
Distinguish appropriate and inappropriate uses of assertions
Enable assertions at runtime

9. Collections and Generics Framework

Describe the general purpose implementations of the core interfaces in the Collections framework
Examine the Map interface
Examine the legacy collection classes
Create natural and custom ordering by implementing the Comparable and Comparator interfaces
Use generic collections
Use type parameters in generic classes
Refactor existing non-generic code
Write a program to iterate over a collection
Examine the enhanced for loop

10. I/O Fundamentals

Write a program that uses command-line arguments and system properties
Examine the Properties class
Construct node and processing streams, and use them appropriately
Serialize and deserialize objects
Distinguish readers and writers from streams, and select appropriately between them

11. Console I/ O and File I/O

Read data from the console
Write data to the console
Describe files and file I/O

12. Building Java GUIs Using the Swing API

Describe the JFC Swing technology
Define Swing
Identify the Swing packages
Describe the GUI building blocks: containers, components, and layout managers
Examine top-level, general-purpose, and special-purpose properties of container
Examine components
Examine layout managers
Describe the Swing single-threaded model
Build a GUI using Swing components

13. Handling GUI-Generated Events

Define events and event handling
Examine the Java SE event model
Describe GUI behavior
Determine the user action that originated an event
Develop event listeners
Describe concurrency in Swing-based GUIs and describe the features of the SwingWorker class

14. GUI-Based Applications

Describe how to construct a menu bar, menu, and menu items in a Java GUI
Understand how to change the color and font of a component

15. Threads

Define a thread
Create separate threads in a Java technology program, controlling the code and data that are used by that thread
Control the execution of a thread and write platform-independent code with threads
Describe the difficulties that might arise when multiple threads share data
Use wait and notify to communicate between threads
Use synchronized to protect data from corruption

16. Networking

Develop code to set up the network connection
Understand TCP/IP
Use ServerSocket and Socket classes to implement TCP/IP clients and servers

Enroll Now

Duration
5 days from 9AM to 5PM

Location
Housing Co. d.o.o., Vodovodna 100, 1000 Ljubljana, Slovenia

Special offer (for croatian students only)
- includes transport Zagreb – Ljubljana and Ljubljana – Zagreb
- includes lunch

Price
990 EUR + VAT

Date
10.05.2010. - 14.05.2010.

prijavi se

Info ...

Prerequisites

Students should be able to:

  • Be competent in creating programs in any programming language or have completed the Fundamentals of the Java Programming Language course (SL-110-SE6)
  • Create and edit text files using a text editor


Curriculum material

Sun Microsystems Student Kit

Certification Programs and Certificate Tracks

This course is part of the following programs or tracks:

  • SCJP

 

Contact

Dragutin Zivkovic
Housing d.o.o.
Zaharova 7, 10000 Zagreb
T: +385 1 4878999
F: +385 1 4878998
e-mail: dragutin.zivkovic@housing.hr