Java Programming Language

IT-BC-3BIT2ndCompulsory-Elective - group T
Language of Instruction:Czech
Type of
Guarantor:Kočí Radek, Ing., Ph.D. (DITS)
Instructor:Kočí Radek, Ing., Ph.D. (DITS)
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
Introduction to Programming Systems (IZP), DIFS
Learning objectives:
  The goal is to introduce students to object-oriented programming in Java.
  Object orientation. Java - language, objects, classes, programming techniques, libraries, development environments. Design patterns. Debugging and testing tools. Graphic user interface, threads.

Knowledge and skills required for the course:
  Basics of imperative programming (language C) and algorithm development.
Subject specific learning outcomes and competencies:
  Ability to apply object oriented approach for application development using Java language. Experiences with design patterns and graphic user interface (Swing) in Java.
Generic learning outcomes and competencies:
  Basis of object oriented programming. Knowledge of basic design patterns and Java programming techniques.
Syllabus of lectures:
  1. Introduction: history, tools, distributions, Java Virtual Machine (JVM). Basis of object orientation: object, class, interface, abstraction, encapsulation, constructors.
  2. Data types. Class declaration, access modifiers. Structure of application in Java, packages, compilation, run, import classes.
  3. Inheritance, polymorphism. Object initialization. Arrays. Debugging using assert.
  4. Inheritance hierarchy, type checking, type casting, object comparison. Interface in Java. Debugging tools.
  5. Exceptions. Abstract classes, nested (inner) classes, enumeration, static import.
  6. Containers: iterators, collection, set, lits, map. Generics in containers. For-each loop, auto-boxing.
  7. Threads: sharing, planning, synchronization. 
  8. Graphic user interface JFC/Swing. Technique of application design.
  9. Input/Output operations, streams.
  10. Design patterns. Programming language guide.
  11. Generics.
  12. JVM: class loading, memory management, garbage collector, profiling.
  13. Java Enterprise Edition: basic overview.
Syllabus - others, projects and individual work of students:
  1. homeworks
  2. project (a small application in Java)
Fundamental literature:
  • Bruce Eckel: Thinking in Java (2nd Edition), Pearson Education, ISBN: 0130273635, 2000
  • Gary Cornell and Cay Horstmann: core Java (2nd ed.) SunSoft Press, Prentice Hall, ISBN 0-13-596891-7, 1997
  • Mark Grand: Java Language Reference (2nd ed.) ISBN 1-56592-326-X, O'Reilly & Associates, 1997
Study literature:
  • Mary Campione and Kathy Walrath: Java Tutorial Addison-Wesley, ISBN 3-8273-1050-4, 1997
  • H.M. Deitel and P.J. Deitel: Java - How to program ISBN 0-13-632589-0, Prentice Hall, 1997.
  • David Flanagan: Java in a Nutshell (2nd ed.) ISBN 1-56592-262-X, O'Reilly & Associates, 1997.
  • Patrick Niemeyer and Joshua Peck: Exploring Java (2nd ed.) ISBN 1-56592-271-9, O'Reilly & Associates, 1997.
Exam prerequisites:
  • Having at least 1 point of the possible point evaluation of each homework.
  • Having at least 50% of the possible point evaluation of the project.

Your IPv4 address:
Switch to https

DNSSEC [dnssec]