Java Programming (Programming Language)Java Programming (Programming Language)
Europa-Universitaet Viadrina Frankfurt (Oder)

Java Programming (Programming Language)

Lecturer: Prof. Dr. Karl Kurbel

Description

The Java programming language represents the leading edge in software technology based on object-oriented concepts. It is receiving a great deal of attention as a highly portable programming language for Internet and WWW applications. Java can be used, however, as a general-purpose object-oriented language for developing traditional and networked software systems as well. Its integrated support of the threading mechanism makes it suitable for concurrent and distributed applications. Java has become the language of choice for many projects in business, science and engineering including embedded applications.

This course is an introduction to Java programming and to object-oriented techniques in Java as well as to the Java development environment. It provides an extensive coverage of the Java language and of common standard APIs (application programming interfaces). We begin with an in-depth summary of the language syntax and language constructs, and continue with object-oriented concepts for the design of programs. Those concepts - abstraction, encapsulation, inheritance, polymorphism, interfaces, etc. - are introduced in a general manner first and then applied to the development of Java programs in fully object-oriented style.

Students learn how to develop a Java application from scratch and how to develop applets that run in the World Wide Web. Advanced topics, such as multi-threading, exception handling, event handling and building graphical user interfaces (GUIs) with the AWT (Abstract Windowing Toolkit) and the Swing packages, are also covered.

Outline

Part I: Basics of object-oriented programming and the Java language

  1. Introduction to the Use of Java
    1.1 Applications
    1.2 Applets
    1.3 Development environment
  2. Basic concepts and elements of the Java programming language
    2.1 Data types and variables
    2.2 Expressions and operators
    2.3 Statements and blocks
    2.4 Control flow structures
    2.5 Data structures
  3. Object-orientation and Java
    3.1 Basic principles of object-oriented programming
    3.2 Classes and objects
           3.2.1 Attributes: properties and state of an object
           3.2.2 Methods: behaviour of an object
    3.3 Inheritance
  4. Java in the World Wide Web: applets
    4.1 Applet programming
    4.2 Java applets and HTML
  5. Graphical User Interfaces
    5.1 Java classes for GUI programming
    5.2 Graphical programming with an advanced Java development environment
  6. Events in Java
    6.1 Types of events
    6.2 Event listening
    6.3 Event handling

Part II: Advanced concepts of Java programming

  1. Data structures: "arrays" and more
  2. 7.1 Defining and using arrays in Java
    7.2 Searching in an array
    7.3 Arrays class in java.util
    7.4 Sorting arrays with different techniques
  3. Structuring Java software systems
    8.1 Interfaces
    8.2 Packages
  4. Some Important Java classes
    9.1 Characters and Strings
    9.2 More predefined classes
  5. Java applets in detail
    10.1 An applet life cycle
    10.2 Refining applet features
    10.3 Practical requirements and compromises
  6. Exception handling in Java
    11.1 What are exceptions for?
    11.2 Catching and propagating exceptions
    11.3 Handling exceptions
    11.4 Throwing exceptions
  7. Concurrency in Java: multithreading
    12.1 Multithreading concepts
    12.2 Implementing threads
    12.3 Sychronization of threads
  8. Graphical user interfaces with Swing
    13.1 Swing GUI components
    13.2 Events
  9. Outlook

Learning Objectives

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

  1. Develop Java applets and stand-alone Java applications,
  2. Use object-oriented programming techniques and follow the object-oriented programming style,
  3. Create Java programs which inherit from other classes and employ abstract classes,
  4. Understand how to implement interfaces and handle Java programming exceptions,
  5. Create multi-threaded programs,
  6. Develop applications using JBuilder, an advanced IDE (integrated development environment),
  7. Create and use Java GUI components: panels, buttons, labels, lists, scrollbars, text fields, and text areas,
  8. Handle user interaction and other events,
  9. Understand and apply the key features of the javax.Swing package.

Method of teaching

This course is a video-based course (type 1). The main elements are:

  • Video-based lessons accompanied by synchronized slides and online screen recordings,

  • Links to online reading materials, e.g. tutorials, books, papers for extended reading (for many lessons),

  • Links to online examples illustrating topics discussed in the video lessons. With those examples students can try out things hands-on.

  • Following each lecture an assignment is given. To solve that assignment, students typically have to write a Java applet or a stand-alone application to demonstrate an understanding of the respective topic.

  • For communication, Moodle tools are used. Moodle provides an electronic bulletin board for instructions, assignments and news, as well as an electronic discussion forum for students and lecturers.

Requirements

This course is not for programming novices! To successfully benefit from this course, students are expected to have knowledge and experience with computer programming in some other language (e.g. Visual Basic, Pascal, C). You don't need to be an expert programmer, but you do need to know programming.

The software used for this course is the Java SE Development Kit which is available for free download from Oracle's Java website. Later in the course we will show you how to get and use an advanced development environment like Netbeans.

If you take this course as an individual course, you will obtain a VGU certificate for passing the course if you solve the weekly exercises satisfactorily.

Credits

For MBI students: 6 credit points

VGU RSS FEED

MBI program

The MBI program is delivered through a cooperation between VGU School of Business Informatics and the European University Viadrina. The MBI program was initially developed under a grant by the German Federal Ministry for Education and Research in the program "New media in education". The focus of this program is on the synergy between information technology (IT) and management.