5039 - Object Oriented Programming with Java 1
Course information
- Title
- Object Oriented Programming with Java 1
- Course number
- 5039.24
- Academic year
- 2024-2025
- ECTS
- 7.50
- Level
- Bachelor
- Faculties
- Science and Tecnology
- Educations
- BSc in Software Engineering, Diploma of Higher Education in Software Engineering
- Prerequisites
- • 5010 Introduction to Computer Science • 5037 Introductory programming with Python
- Language of instruction
- The course is taught in Danish and English.
- Registration
- Students on the 2nd semester of B.Sc. in Software Engineering and Diploma of Higher Education in Web Development are automatically enrolled. Applicants for an individual course must apply via the Student Affairs Office.
- Beginning date
- Monday, March 24, 2025
- End date
- Friday, May 30, 2025
Academic content
- Purpose
- Introduction to object-oriented concepts and programming with specification, design, implementation, and use of classes in Java. Focus is on the concept of classes and the use of objects. The students will also learn about the use of dynamic memory, references and recursion, and about typical abstract data types. UML will be introduced as a modelling language.
- Learning outcomes
- After course completion, the student should be able to: • Describe and use the most common tools in the Java Development Environment (Java Development Kit, JDK) • Explain the differences between the execution of conventional program and Java programs in the special Java environment. • Use basic Java, i.e., use variables, methods, classes, objects, exceptions, and simple list structures. • Describe the connection between the state of an object and its behaviour. • Describe class hierarchies and succession. • Apply polymorphism by class substitution. • Apply object-oriented programming concepts to solve specified problems. • Independently formulate tests for their own classes and associated methods. • Describe basic class design and the importance of maintaining high cohesion with weak dependencies. • Apply error and exception handling. • Describe the meaning of scalability. • Use iterations, recursion, method overloading and exception handling. • Create programs where the solution is divided into simple parts using classes and methods. • Define and implement classes and create corresponding class diagrams in UML. • Specify and implement an ordinary abstract data structure as a class and use it. • Use objects of other types as data members in a class. • Use references in practical programming and in relation to the use of dynamical memory. • Describe, analyse, and utilize differences and similarities between references (by reference) and values (by value). • Describe the difference between deep- and shallow copy and be able to change implementations in this context.
- Content
- • Object oriented concepts: classes, members, objects, attributes, references, operations, instance, inheritance, encapsulation, polymorphism, relations, etc. • Specification and implementation of classes in Java. • Control structures, streams, and file handling. • Abstraction and common interfaces. • IO-handling and exceptions. • Common iterations and recursive algorithms. • The students’ own implementations of algorithms for sorting and searching. • UML-diagrams for classes. • Testing using JUnit – unit tests and black/white box testing
- Learning and teaching approaches
- Lectures, assignment-work, as well as project-based self-studies and group work. There are mandatory assignments, which must be passed, to be eligible for the examination.
Assessment
- Assessment method
- Project with oral defence
- Examination (internal/external)
- External
- Grading scale
- 7-scale
- Exam date/dates
- The examination hand-in is on the 30th of May, 2025. The oral examination is set for the 16th and 17th of June, 2025. The reexam is set for week 33-34, 2025.
- Deadline for withdrawal from exam
- Monday, March 24, 2025
Academic responsibility and teachers
- Academic responsibility
- Niels-Christian Borbjerg
- Teachers
- Niels-Christian Borbjerg