Title:

Java Programming Language

Code:IJAe
Ac.Year:2017/2018
Sem:Winter
Language of Instruction:English
Private info:http://www.fit.vutbr.cz/study/courses/IJAe/private/
Credits:5
Completion:classified credit
Type of
instruction:
Hour/semLecturesSeminar
Exercises
Laboratory
Exercises
Computer
Exercises
Other
Hours:26001214
 ExamsTestsExercisesLaboratoriesOther
Points:02002060
Guarantor:Kočí Radek, Ing., Ph.D. (DITS)
Lecturer:Kočí Radek, Ing., Ph.D. (DITS)
Instructor:Matyáš Jiří, Ing. (DITS)
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
 
Learning objectives:
  The goal is to introduce students to object-oriented programming in Java.
Description:
  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.
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 classes and variables.
  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 with GUI in Java).
Fundamental literature:
 
Study literature:
 
  • Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
  • Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 in Action (Lambdas, streams, and functional-style programming). Manning, 2015.
Controlled instruction:
  
  • Work out homeworks and the project.
Exam prerequisites:
  
  • Work out all homework.
  • Work out and present the project.
  • Write a test.
  • Get at least 20 points from the project and at least 50 points in total.
 

Your IPv4 address: 54.147.142.16
Switch to IPv6 connection

DNSSEC [dnssec]