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

  
Degree programme:Master Computer Science
Type of degree:FH Master´s Degree Programme
 Full-time
 Winter Semester 2024
  

Course unit titleConcepts of Higher Programming Languages
Course unit code024913110102
Language of instructionGerman
Type of course unit (compulsory, optional)Elective
Semester when the course unit is deliveredWinter Semester 2024
Teaching hours per week3
Year of study2024
Level of course unit (e.g. first, second or third cycle)Second Cycle (Master)
Number of ECTS credits allocated4
Name of lecturer(s)Wolfgang AUER
Patrick RITSCHEL


Prerequisites and co-requisites

This course also serves to compensate for differences in previous knowledge of programming languages and skills. Basic knowledge of a higher, object-oriented programming language according to the access requirements for the Masters degree course is required.

Course content

Building on the knowledge of the object-oriented programming paradigm and its implementation in Java, comparisons are drawn with its implementation in C++. The basis is learning the essential concepts of C++. The following basic topics are taught:

  • Static and dynamic objects
  • Various constructors and destructors
  • Ownership in relation to the handling of memory (smart pointers)
  • Static and dynamic binding
  • Operator overloading
  • Use of hybrid concepts
  • Templates

In the second part of the course, the basic concepts of Rust are taught theoretically and practically. After an introduction to the structure and ideas of the language, the language is learned and practiced using examples. The Rustlings course (https://github.com/rust-lang/rustlings) is used interactively for this purpose. Concepts and questions are dealt with as part of the course.

Learning outcomes
  • The students have an understanding of how to handle memory without using a garbage collector
  • The students know basic object-oriented concepts and their concrete implementation in the languages ​​Java and
    C++
  • The students can implement basic programs based on Rust
  • The students have an understanding of the basic concepts of Rust, especially the ownership concept
  • The students have practice in implementing small Rust programs
Planned learning activities and teaching methods

Integrated Lecture with exercises and case study.

Students can choose whether they want to implement the case study in C++ or Rust.

Assessment methods and criteria

Evaluation of the elaboration of the case study

 

Comment

None

Recommended or required reading
  • Stroustrup, Bjarne : The C++ Programming Language, Addison-Wesley, 4th Edition
  • Stroustrup, Bjarne: Programming: Principles and Practice Using C++ (C++ In-depth), Addison Wesley; 3. Edition (22. April 2024)
  • Klabnik, Steve; Nichols, Carol: The Rust Programming Language, no starch press, 2nd Edition (Dec. 2022); online-Ausgabe: https://doc.rust-lang.org/book/
  • Rustlings-Kurs: Zur Online-Verwendung des Kurses ist ein github-Account notwendig (https://github.com/rust-lang/rustlings)
Mode of delivery (face-to-face, distance learning)

Face-to-face instruction with mandatory attendance

Winter Semester 2024go Top