General information:
Code:
UBPJO-036
Name:
Introduction to Java programming
Profile of education:
Academic (A)
Lecture language:
English
Semester:
Fall, Spring
Responsible teacher:
dr inż. Orzechowski Tomasz Marcin (tomeko@agh.edu.pl)
Academic teachers:
dr inż. Orzechowski Tomasz Marcin (tomeko@agh.edu.pl)
Module summary

This course is intended for student with no previous experience in Java programming. During the course students will be familiar with the use Eclipse IDE for accelerate programming process.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student can define problems and search for solutions during the discussions in class. Activity during classes
Skills
M_U001 Student uses the documentation during the work. Activity during classes
M_U002 Students can implement Java applications with different levels of difficulties, including applications using GUI. Execution of laboratory classes
Knowledge
M_W001 The student knows the use of statements, variable types and the structure of classes. The student knows following important issues of Java language as: exceptions, handling exceptions and streams. Examination
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student can define problems and search for solutions during the discussions in class. - - + - - - - - - - -
Skills
M_U001 Student uses the documentation during the work. - - + - - - - - - - -
M_U002 Students can implement Java applications with different levels of difficulties, including applications using GUI. - - + - - - - - - - -
Knowledge
M_W001 The student knows the use of statements, variable types and the structure of classes. The student knows following important issues of Java language as: exceptions, handling exceptions and streams. + - - - - - - - - - -
Module content
Lectures:
  1. 12 Partial test 2

    The range of issues:
    - The use of conditional statements
    - The use of exception handling
    - The use of streams

  2. Introduction to Java

    1. Discussion of the course content and evaluation criteria
    2. Overview of the Java platform and language.
    – Java history;
    – Compounds Java with other languages, like ​​C and C ++;
    – Java standardization.
    – Features of the Java language and Java platform;
    – Java 2 Platform and its variations: SE, ME and EE;
    – Details of elements of JRE and SDK.

  3. Installation and Configuration

    1. Java availability;
    2. Instructions for setting up a development environment, consisting of a Java Development Kit and the Eclipse IDE.

  4. Java syntax – classes and objects

    1. The concepts of classes and objects;
    2. Components of the class:
    – constructors;
    – methods;
    – fields;
    3. Public and private elements and their usage;
    4. Static elements and their characteristics;
    5. The main function role;
    6. The Java source code file structure
    – declaration of the package;
    – declaration of imports;
    – classes definitions.
    7. Applications and Applets
    – similarities and differences;
    – possible applications;

  5. Java API documentations and tutorials

    1. Understanding Java API;
    2. The structure of the Java API documentation;
    3. Java tutorials;
    4. Eclipse IDE tutorials.

  6. Variable types in Java

    1. Types of variables:
    – primitive, numerical, character and boolean;
    – object equivalents of primitive types and their application;
    2. Explicit and implicit conversions among types;
    3. Conversions and inheritance;

  7. Arrays in Java

    1. Java Arrays characteristics;
    2. The use of single and multidimensional arrays;
    3. Initialization of arrays;

  8. Operators in Java

    1. The types of operators:
    – arithmetical;
    – incremental and decremental;
    – relational and conditional;
    – bitwise;
    – assignment operators;
    – conditional (?:)
    2. Priorities of operators;

  9. Control statements

    1. Discussion of the various expressions:
    – if-else statements
    – switch statements
    – loops: while, do-while, for
    2. Additional commands of the flow control:
    – labels
    – break and continue
    – return

  10. Partial test 1

    The range of issues:
    - Application of types and variables
    - The use of arrays
    - The use of operators

  11. Exception handling and Documenting Comments

    1. Throwable class and derived classes: Error and Exception;
    2. Exceptions derived from class: RuntimeException
    3. Catching specific exceptions based on the: try – catch block, and the use of: finally
    4. Catching a variety of related and unrelated exceptions using both single and multiple catch sections;
    5. Defining exceptions
    6. The use of javadoc tool
    7. The use of javadoc tags in source code.

  12. The use of streams

    1. Characteristics of streams (byte- and character-oriented);
    2. The role of the filters;
    3. Association streams to the keyboard, a file, or a web page
    4. Reading and writing data from / to a file;

  13. Graphics and events

    Especially:
    • Containers and graphical components in the Swing package,
    • Formatting 
components using Layouts.
    • Handling events associated with the graphical components

  14. Selected packages

    Event logging services using the Apache log4j package.
    Parsing HTML content in Jericho.

  15. Exam

    The range of issues:
    - Application of types and variables
    - The use of arrays, operators, conditional statements
    - Exception handling and creation your own throwable classes.
    - The use of streams

Laboratory classes:
  1. Evaluation of results

    Evaluation of practical work.

  2. The use of streams

    Exercises of the use of the streams – development of the applications:
    - counting characters, lines, or words in the file;
    - copying the file and swapping the appropriate phrase;
    - removing white characters

  3. Graphics in practise

    Create applications that use JFrame, and some JContainers.

  4. Events

    Create applications that support events.

  5. JDK and Eclipse: Installation and Configuration

    1. Installation of Java (J2SDK SE 6 or 7) and its documentation;
    2. Configuration of Java platform.

  6. The first applications and applets

    1. Writing, compiling and running a first simple applications;
    2. Writing a first simple applet.

  7. The use of API documentation

    Searching for information about the classes, methods, and fields using Java API and writing and running simple applications in Eclipse IDE.

  8. Java variable types in practice

    Development of applications using the knowledge about the types in Java.

  9. Arrays in practise

    The use of the learned knowledge about arrays in practical exercises;

  10. Operators and statements in practise

    The use of operators and statements in practice.

  11. Writing Doc Comments in Java

    1. The use of javadoc tool
    2. Development of applications using the knowledge about the documenting comments.

  12. Handling exceptions in practise

    The use of handling exceptions in practice.

  13. Developpment of classes / applications with increased complexity

    1. Defining your own classes (create a default constructor, define multiple constructors, the use of fields and methods both including static)
    2. Implement classes that inherit from existing classes.
    3. Define your own packages
    4. Create documentation for implemented classes.

  14. The uses of selected packages

    Create the applications that use: Apache log4j & Jericho packages.

  15. Final evaluation

    Final evaluation of practical work.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 150 h
Module ECTS credits 6 ECTS
Preparation for classes 70 h
Participation in lectures 28 h
Participation in laboratory classes 28 h
Realization of independently performed tasks 24 h
Additional information
Method of calculating the final grade:

Two partial tests will be conducted during lectures, and the final examination of the content of the whole course at the end of the course.

The final evaluation of the student from the lectures will be calculated on the basis of partial tests and final exam.
Student evaluation of the classes will be calculated as the average of the grades of selected exercises (projected and implemented applications) performed during the course.

Prerequisites and additional requirements:

.

Recommended literature and teaching resources:

1. Bruce Eckel, “Thinking in Java” (4th Edition), ISBN: 9780131872486
2. Benjamin J. Evans and Martijn Verburg, “The Well-Grounded Java Developer”,
ISBN: 9781617290060

Scientific publications of module course instructors related to the topic of the module:

.

Additional information:

.