Module also offered within study programmes:
General information:
Name:
Introduction to Java Programming
Course of study:
2017/2018
Code:
IES-1-606-s
Faculty of:
Computer Science, Electronics and Telecommunications
Study level:
First-cycle studies
Specialty:
-
Field of study:
Electronics and Telecommunications
Semester:
6
Profile of education:
Academic (A)
Lecture language:
English
Form and type of study:
Full-time studies
Course homepage:
 
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 module is intended to provide students who do not already have significant computing experience, with the ability to use Java as their programming tool for their current & future projects.

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)
Skills
M_U001 Students can implement Java applications with different levels of difficulties, using different Java packages. ES1A_U24 Project
M_U002 The student practically uses the knowledge of the stages of software development. ES1A_U04, ES1A_U01 Project,
Execution of a project
Knowledge
M_W001 Student knows and understands basic elements and mechanisms of object oriented programming language ES1A_W08 Project,
Execution of a project,
Activity during classes,
Participation in a discussion
M_W002 Student has detailed knowledge about software engineering – analysis and designing software projects ES1A_W08 Oral answer,
Execution of a project,
Activity during classes
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
Skills
M_U001 Students can implement Java applications with different levels of difficulties, using different Java packages. - - - + - - - - - - -
M_U002 The student practically uses the knowledge of the stages of software development. - - - - - - - - - - -
Knowledge
M_W001 Student knows and understands basic elements and mechanisms of object oriented programming language + - - - - - - - - - -
M_W002 Student has detailed knowledge about software engineering – analysis and designing software projects - - - - - - - - - - -
Module content
Lectures:
  1. Organizing classes (1h)

    - discussing the rules and validation
    - important information about individual projects and terms

  2. Java and other programming languages (2h)

    - Basic definitions and notations;
    - Differences between Java and C++ including: data types
    - Syntax of Java: keywords, operators, statements
    - Documentation and Tutorials
    - JDK / JRE – availabity

  3. NetBeans and Eclipse IDE (1h)

    - availability
    - installation
    - configuration

  4. Exceptions and Streams (2h)

    - Throwable, Error and Exceprion classes
    - Input / output operations, data streams types

  5. Collections in Java (1h)

    - The use of lists and sets
    - Vector and ArrayList – differences and similarities
    - sorting

  6. Java SWING (2h)

    - containers and components
    - layouts
    - events handling

  7. log4J (1h)

    - logging mechanism in Java

  8. JDBC (2h)

    - SQL in Java
    - the use of mySQL and SQLITE

  9. JSoup (1h)

    - parsing data from Internet
    - installation and configuration

  10. Threads (1h)

    - Threads and Pools – differences and similarities

Project classes:
  1. Selection the topic to be implemented

    - detailed discussion about chosen task.
    - the work plan and the relevant elements to be evaluated.

  2. analysis phase

    student presentation:
    - understanding the essence of the problem;
    - analysis of selected tools

  3. design phase

    student presentation:
    - system structure,
    - components and relationships between components,
    - interfaces

  4. implementation phase and validation process

    - demonstration of alpha and beta versions of the application
    - testing the application with an intention of finding bugs
    - improved the application performance

  5. final evaluation

    - final evaluation of practical work

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 90 h
Module ECTS credits 3 ECTS
Completion of practical placements 90 h
Additional information
Method of calculating the final grade:

Following elements are considered when the total grate is calculated: the analysis of the received programming problem, correct presented project of the application, presentations of alpha and beta versions of the application, validation of the application by carrying out appropriate tests.

Positive evaluation can only be obtained when the final result is a properly functioning application that is accompanied by appropriate documentation.

Prerequisites and additional requirements:

Students are expected to have some previous programming experience (not necessarily with an object-oriented language). It is possible to take the course without any previous experience, but this will almost certainly be challenging, and require additional time.

Recommended literature and teaching resources:

1. Cay S. Horstmann and Gary Cornell, Core Java I – Fundamentals, ISBN-10: 0137081898
2. Cay S. Horstmann and Gary Cornell, Core Java II – Advanced Features, ISBN-10: 0134177290
3. Online documentation: Java 8 API: https://docs.oracle.com/javase/8/docs/api
4. Java Tutorial: https://docs.oracle.com/javase/tutorial

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

Additional scientific publications not specified

Additional information:

None