Information on individual educational components (ECTS-Course descriptions) per semester

  
Degree programme:Bachelor Computer Science - Software and Information Engineering
Type of degree:FH Bachelor“s Degree Programme
 Full-time
 Summer Semester 2025
  

Course unit titleBasic Algorithms and Object-oriented Programming
Course unit code024717020301
Language of instructionGerman
Type of course unit (compulsory, optional)Compulsory
Semester when the course unit is deliveredSummer Semester 2025
Teaching hours per week7
Year of study2025
Level of course unit (e.g. first, second or third cycle)First Cycle (Bachelor)
Number of ECTS credits allocated8
Name of lecturer(s)Wolfgang AUER
Patrick RITSCHEL
Martin SOBOTKA


Prerequisites and co-requisites

Structured Programming

Course content

The course is divided into two thematic blocks. In the first part of the course, fundamental topics from the field of algorithms and data structures are dealt with. These include:

  • complexity analysis;
  • sorting algorithms;
  • pattern matching;
  • backtracking;
  • lists
  • hash tables.


In the second part of the lecture, object-oriented concepts are introduces, such as:

  • classes and the concept of objects
  • secret principle
  • constructors and destructors
  • self-reference
  • overloading
  • inheritance
  • polymorphism and dynamic binding


In addition the following topics are discussed:

  • error and exception handling
  • interfaces
  • genericity with Java generics
  • Java 2 Collection Framework
  • Java input and output
  • user interface programming
  • the event delegation model


Selected design patterns are treated on the basis of concrete implementations in Java 2 (observer-observable, adapter, decorator, etc.).

Learning outcomes

Subject and Method Competence (F/M)

  • The students have fundamental knowledge in the field of algorithmics. 
  • The students know methods for comparing algorithms and data structures, including various complexity analysis techniques.
  • The students are familiar with a range of standard algorithms and data structures and can implement them.
  • The students understand object-oriented concepts and object-oriented programming and can apply them using the Java programming language. The students know the standard libraries in Java and can use them.


Through specifically selected learning and teaching methods, this course also contributes to the development of the following interdisciplinary competencies:

Social and Communicative Competence (S/K)

  • Teamwork, willingness to cooperate, ability to handle criticism: Define and pursue common goals in a team, contribute constructively and handle criticism constructively
  • Reliability: Adhere to rules and agreements and complete tasks with the promised quality


English is the technical language of computer science. Students can describe program flows and use cases in both German and English.

Self-Competence (S)

  • Self-reflection: Know one’s own abilities and limits and reflect on one’s actions
  • Learning competence and motivation: Ability and willingness to acquire new knowledge independently and learn from successes and failures
  • Adaptability: Ability to adapt to changing conditions and handle varying situations
  • Decision-making ability: Know one’s decision-making scope and associated responsibilities, gather necessary information, develop alternatives, set priorities, and find a solution in a reasonable time
  • Perseverance: Ability to handle difficult conditions, such as high pressure, resistance, and disruptions constructively and perform well over extended challenging periods
  • Expressiveness: Ability to use clear and understandable language and appropriate word choice


Transfer Competence (T)

  • Analytical and presentation/communication skills: Ability to grasp and organize extensive and complex relationships quickly, filter out the essentials, and present them in an understandable manner
  • Judgment and problem-solving skills: Ability to assess situations and derive consequences and solutions
  • Customer orientation: Recognize and appropriately address the needs of customers, partners, etc., in terms of service and quality
  • Organizational skills: Ability to implement goals into work tasks and optimally use available resources
Planned learning activities and teaching methods

Integrated Course. Course content is developed through a combination of lecture-style presentations and subsequent practical implementation on the computer.

Assessment methods and criteria

Final written exam

Comment

Not applicable

Recommended or required reading
  • Sedgewick, Robert; Wayne, Kevin (2011): Algorithms. 4th revised edition. Upper Saddle River, NJ: Addison Wesley.
  • Cormen, Thomas H. u.a. (2013): Introduction to Algorithms. 3rd edition. Cambridge, Mass: The MIT Press.
  • Standish, Thomas A. (1994): Data Structures, Algorithms, and Software Principles in C: Data Structure In C _p1. Reading, Mass: Pearson Education.
  • Sedgewick, Robert; Wayne, Kevin (2011): Algorithms. 4th revised edition. Upper Saddle River, NJ: Addison Wesley.
  • Cormen, Thomas H. u.a. (2013): Introduction to Algorithms. 3rd edition. Cambridge, Mass: The MIT Press.
  • Standish, Thomas A. (1994): Data Structures, Algorithms, and Software Principles in C: Data Structure In C _p1. Reading, Mass: Pearson Education.
  • Mössenböck, Hanspeter (2014): Sprechen Sie Java?: Eine Einführung in das systematische Programmieren. 5., überarb. u. erw. Aufl. Heidelberg: dpunkt.verlag GmbH.
  • Gosling, James; CBE Holmes, David; Arnold, Ken (2005): The Java Programming Language. Upper Saddle River, NJ: Pearson Education.
  • Mughal, Khalid A.; Rasmussen, Rolf W. (2009): A Programmer's Guide to Java SCJP Certification: A Comprehensive Primer. 3. Aufl. Upper Saddle River, N.J: Addison-Wesley Longman, Amsterdam.
Mode of delivery (face-to-face, distance learning)

Classroom teaching

Summer Semester 2025go Top