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 2024
  

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 2024
Teaching hours per week7
Year of study2024
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

Technical and methodological competence (F / M)

  • The students have basic knowledge in the field of algorithms.
  • The students know methods for comparing algorithms and data structures, in particular also various methods of complexity analysis.
  • The students know a number of standard algorithms and data structures and can implement them.
  • The students know object-oriented concepts and object-oriented programming and can apply them using the Java programming language.
  • Students know the standard libraries in Jave and can use them.

Through specifically selected forms of learning and teaching, this course also contributes to the training of the following general skills:

Social and communicative competence (S / K)

  • Ability to work in a team, willingness to cooperate, ability to criticize: Defining goals together in a team and working for them, contributing constructively and dealing with criticism constructively
  • Reliability: Comply with rules and agreements and do your own work in the promised quality

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

Self-competence (S)

  • Self-reflection ability: Knowing your own abilities and limits and reflecting on your own actions
  • Learning competence and motivation: Ability and willingness to acquire new knowledge independently and to learn from successes and failures
  • Adaptability: Engaging in changing conditions and being able to deal with changing situations
  • Ability to make decisions: Knowing your own freedom of decision and the associated responsibility as well as obtaining the necessary information, developing alternatives, setting priorities and finding a solution in a reasonable time
  • Endurance / stamina: Ability to deal with difficult conditions, such as high pressure, resistance, disturbances, constructively and to perform well over longer difficult phases
  • Expressiveness: Ability to express and understand expressions and written language as well as a choice of words appropriate to the situation

Transfer Competence (T)

  • Ability to analyze and present / communicate: Ability to grasp and arrange extensive and complex relationships in a short time, to filter out the essentials and to present them in a way that is easy to understand
  • Assessment and problem-solving ability: assessing facts and being able to use them to derive consequences and approaches
  • Customer orientation: Recognize the needs of customers, partners, etc. and address them appropriately in terms of service and quality
  • Organizational skills: Be able to implement goals in work tasks and make optimal use of the available resources
Planned learning activities and teaching methods

Integrated lecture. Teaching content is developed in a combination of lecture-like 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.


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 2024go Top