COURSES

Here you find an overview of current courses with details on curriculum, programming languages and tools. Students should sign up for a course on the E-Learning platform OpenOLAT, where they will find additional material for download.

Database Systems

This course at Master's level gives an introduction to databases and database management systems, with focus on relational databases and an overview on NoSQL databases.

Content

  • Basic concepts of databases and database management systems (architecture, functionality)
  • Data modeling using Entity Relationship and UML diagrams
  • The relational data model
  • SQL basics (including transactions)
  • Database applications: create database clients using Java and PHP
  • Data exchange languages (XML, JSON)
  • NoSQL-databases

Full course description and learning resources: here.


Learning resources

  • SQL-Tutorial (Deutsch) »

    Das SQL-Tutorial gibt eine kompakte Übersicht der wichtigsten und am meisten genutzten SQL-Befehle. Die Beispiele beziehen sich auf eine University-Datenbank, die die Daten über Studiengänge, Module, Studenten und Prüfungen in einer Universitätsumgebung verwaltet, und die als Datenhaltungsschicht für eine Webanwendung verwendet werden soll. Die Beispiele beziehen sich auf eine University-Datenbank, die die Daten über Studiengänge, Module, Studenten und Prüfungen in einer Universitätsumgebung verwaltet, und die als Datenhaltungsschicht für eine Webanwendung verwendet werden soll.

  • Erste Schritte mit phpMyAdmin (Deutsch) »

    Das phpMyAdmin-Tutorial gibt eine kompakte Übersicht über die Verwendung von phpMyAdmin zur Erstellung, Verwaltung und Abfrage von MySQL- bzw. MariaDB-Datenbanken. Wir verwenden dabei das XAMPP-Programmpaket, das MySQL/MariaDB und phpMyAdmin beinhaltet, und zeigen, wie die Struktur einer Datenbank (Tabellen, Integritätseinschränkungen, Sichten) mit der Benutzeroberfläche erstellt wird.



  • Web Technologies and Cloud Computing

        Top

    This course at Master's level gives an introduction to the theoretical and practical basics of modern web and cloud technologies.

    Content

    • Structure of the Internet and the WWW
    • Static and dynamic websites, server and client-side programming
    • Web frameworks: Java-based, PHP-based
    • Web services and service-oriented architectures: REST and SOAP
    • What is cloud computing? Basic technical terms, service models and operator models
    • Basic cloud technologies: platform and application virtualization
    • Cloud architecture and frameworks, platforms: Amazon AWS and Google Cloud

    Full course description and learning resources: here.

    Learning resources

    Web applications are developed with a variety of languages ​​and frameworks, HTML, CSS, JavaScript, JSON, PHP, jQuery, Java, JSP /JSF, which are discussed during the lecture. During the "Web Technologies and Cloud Computing" Lab, we work on practical tasks relating to the use of these technologies, such as:

    • Create a website for a freelancer as a dynamic web application with responsive web design
    • Use Java-based web frameworks to create an "University-App"
    • Develop RESTful web services and use them for machine-2-machine communication.

    Some of the lab assignments are research assignments, others are programming assignments and require basic programming skills. The basics of the development and runtime environments (XAMPP, Eclipse, Tomcat) are taught in the laboratory.



    Numerical Methods

        Top

    This module at Master's level enables students to build mathematical models for common classes of engineering problems and solve the problems by implementing appropriately chosen numerical methods.

    Content

    • Basic concepts of mathematical modeling and numerical analysis
    • Numerical differentiation and integration
    • Numerical solutions of ordinary and partial differential equations
    • Finite difference method (FDM), finite element method (FEM)
    • Unconstrained and constrained optimization

    Assignments are carried out using MATLAB or Octave. Prerequisites: basic programming skills.

    Full course description and learning resources: here.


    Learning resources

  • MATLAB Tutorial »   Variables Vectors Matrices Functions Plotting

    This tutorial gives an introduction to the MATLAB environment and language as needed by engineers for learning Numerical Methods. Basic MATLAB syntax is illustrated using small examples that are saved as MATLAB scripts. All examples will also run in the open source software Octave.

  • MATLAB Quiz: Fundamentals »

    Test your basic understanding of MATLAB Development Environment and language syntax by taking the quiz "MATLAB fundamentals".
    The topics of this quiz are: using the workspace, declaring variables, vectors and arrays, using MATLAB built-in functions and user-defined functions, and creating figures with subplots and simple line plots.

  • MATLAB Quiz: Vectors and Matrices »

    Test your basic understanding of MATLAB vectors and matrices by taking the quiz "MATLAB Vectors and Matrices".
    The topics of this quiz are: using the workspace, declaring variables, vectors and arrays, using MATLAB built-in functions and user-defined functions, and creating figures with subplots and simple line plots.



  • Introduction to Programming

        Top

    This is an introductory course to computer science, given to second-year BSc students of Industrial Engineering at the University of Applied Sciences Kaiserslautern. The course focuses on the basic concepts of structured using C as programming language.

    Content

    Topics include software engineering concepts, programming paradigms, C Syntax: variables and data types, control flow, arrays, functions, pointers, structures. Concepts of object-oriented programming and graphical user interfaces are introduced using C# and Windows Forms.

    Full course description and learning resources: here.

    Learning resources

  • C-Programmierung Quiz: Grundlagen »

    Das Quiz besteht aus 10 Fragen, jede mit drei bis fünf möglichen Antworten, von denen mehrere wahr oder falsch sein können, mindestens eine jedoch wahr ist. Wählen Sie diejenigen Antworten an, die als wahr eingestuft werden, und senden Sie Ihre Antworten am Ende des Testes ab. Falls Sie mehr als 50% der Fragen richtig beantwortet haben, können Sie Ihre C-Grundlagen weiter ausbauen und lernen, wie man mit Kontrollstrukturen den Programmablauf steuert.

  • C-Programmierung Quiz: Arrays »

    Das Quiz besteht aus 10 Fragen, jede mit drei bis vier möglichen Antworten, von denen mehrere wahr oder falsch sein können, mindestens eine jedoch wahr ist. Wählen Sie diejenigen Antworten an, die als wahr eingestuft werden, und senden Sie Ihre Antworten am Ende des Testes ab. Falls Sie weniger als 50% der Fragen richtig beantwortet haben, nehmen Sie den Abschnitt Arrays nochmals genauer durch.

    Lernziele: Arrays deklarieren, Speicherüberschreitung erkennen, Array mit Zufallszahlen befüllen, Arrays als Funktionsparameter verwenden.



  • Algorithms

        Top

    Content

    The course at Bachelor's level gives an introduction to algorithms and data structures as well as basic principles of algorithm design and complexity analysis. Assignments consist in implementing the algorithms in Java, our IDE of choice is Eclipse. Content:

    • Algorithm design (recursion, divide-and-conquer, greedy strategy)
    • Complexity analysis (RAM-Model, Measures of complexity, worst/average/best-case, Big-O-Notation)
    • Sorting algorithms: SelectionSort, InsertionSort, QuickSort, MergeSort
    • Abstract data types, linked lists, stacks, queues, hashing
    • Trees, binary trees, balanced trees
    • Graph algorithms (breadth-first search, depth-first search, minimal spanning tree, algorithms of Kruskal and Prim, shortest path problems, algorithms of Djikstra and Bellmann-Ford

    Full course description and learning resources: here.

    Learning resources

    Data Structure Visualizations
    Here a selection of online data structure visualizations: