The courses of this module teach the students fundamental programming and algorithmic skills. The students should be enabled to analyze small problems, find solutions to these problems, and develope them in the Java programming language.
With weekly exercises the students deepen the practical contents of the lecture on the computer.
They use an integrated Java development environment to create, test and modify programs.
In the following exercises the students program simple calculations with Java using variables, expressions and control structures.
This also includes graphical data processing tasks.
Later, the students develop object-oriented programs on the computer. In the end, they solve recursive problems and implement solution strategies with the help of backtracking.
Selected exercises with solutions, slides in PDF format, Java programs and their documentation as Javadoc. Supplementary Java exercises with solutions to deepen the programming skills.
Lecture participation. Solving simple exercises in the lecture with teacher support.
The course introduces the theory of formal languages and focusses on regular and context-free languages.
The course first consolidates the basics of propositional logic, set theory, the O-calculus and elementary proof techniques. Then the classical areas of theoretical computer science such as finite automata and their minimisation, regular expressions, the Chomsky hierarchy, the pumping lemma for regular and context-free languages as well as associated decision algorithms are covered. Push down automata, normal forms and closure properties are also discussed.
The aim is to develop an understanding of the basic computational power of classical computer models with limited memory capacity.
The substance of the lecture will be discussed at the blackboard. Lecture notes containing the complete material are also available. Furthermore, there are sample solutions to all exercises.
Literature: D. W. Hoffmann: Theoretische Informatik, 3. Auflage. Hanser, 2015.
M. Sipser: Introduction to the Theory of Computation, 3rd edition. Cengage Learning, Inc., 2012.
This course will take place as a pure lecture. Numerous exercises deepen selected areas and will be discussed in tutorials.
With weekly exercises the students deepen the practical contents of the lecture on the computer.
They use an integrated Java development environment to create, test, and modify programs. In the following exercises the students program simple calculations with Java using variables, expressions and control structures. This also includes graphical data tasks. Later, the students develop object-oriented programs on the computer. In the end, they solve recursive problems and implement solution strategies with the help of backtracking.
Practical assignment in a computer laboratory.
The students become acquainted with the theoretical foundations of media design. This includes knowledge about creativity techniques, design rules and gestalt principles, systems of organisation, micro- and macro typography, colour theory, logos/pictograms/icons as well as grid systems for layouts. Additionally, they gain insights into analog and digital photography and the conception and design of digital media content exemplified through web applications. The students explore the history of design, starting at the dawn of industrialisation and including the seminal design movements of the 19th and 20th centuries as well as contemporary trends in design. This overview enables students to categorise and evaluate different design styles, allowing an integration of the acquired knowledge into their own design processes.
Participants learn the mathematical basics from linear algebra, which are often used in computer science. These basics are specifially needed in computer graphics, robotic, cryptography.
The participants should learn basic knowledge of mathematics and especially of linear algebra and acquire the methods to solve smaller mathematical tasks by themselves. In the part on linear algebra we will focus on knowledge needed in computer grafic and 3D simulations.
Content of the lectures: Proof methods, relations, euqivalence relations, modulo-calculation, Euklid's algorithm, functions, operations, groups, rings, fields, polynomial rings, finite fields, interpolation, vector spaces, basis, dimension, linear equations, rank, Gauß-Jordan-algorithm, determinant, matrices, linear map, inverse matrices, rotation, translation, scaling, scalarproduct, norm, vectorproduct, orthogonal matrizen, eigenvalues, eigenvectors, homogeneous coordinates.
Own writings from the blackboard,
Exercises and summaries from the internet,
Textbook: Peter Stingl: Mathematik für Fachhochschulen, Hanser Verlag, 8. Auflage, 2009, ISBN-10: 3-446-42065-7
Lecture,
Exercises,
Summary of the solutions in the lecture,
Tutorials for further assistance
Improving the knowledge of the related lectures,
basics in computer-algebra systems, mathematical problem solving with computer assistance.
With the help of the computer algebra system Maple different, applied mathematical questions from the fields of geometry, curves, interpolation and linear equations will be solved. It will be focussed on matrices and homogenous coordinates, which are an important foundation for computer grafic.
Short introduction will be given. Exercises distributed in the classes and also
available on the internet.
Exercises in the labs with Maple (instructor will be present).
The learning of a foreign language is an integral component of the in the course of studies communicated key qualification.
After a grading test students can deepen their English skills to three grades. The entry level requires the competence grade A2 (basic user) in the six-stage common European reference framework. The first two grades (English for advanced learners 1 and 2) engage besides a recapitulation of grammar mainly in issues of job-oriented common language and cultural studies, e.g. job application letters, descriptions of products and services, business telephone calls, progress of formal and informal conferences, presentations etc. The thus achieved grade complies with 173 points in the TOEFL (computer-based) or the competence grade B2 (independent user) of the European reference framework. In the following grade special language skills (English for science and technics) are leant: In business English the priority is on spoken language and small study groups. At the beginning of the semester each group founds its own company which advances dynamically during the course of the semester. At the same time vocabulary and phrasing in respect of topics like company structures, meetings, negotiation, marketing, production and sale, finances, comprehending of reports and presentations are gone through in order to make the attendees handle the language instruments to cope with each step of the simulation in English. The highlights of the course are a simulated exhibition, a hiring procedure and the group presentation. In technical English the priority is on the learning and practice of a technical basis vocabulary and typical expressions of technical communication.
Literature depends on grade, PowerPoint presentations, execises, Videos, DVDs
Lecture participation, short talks, discussions
The students learn about basic algorithms and data structures. They can estimate in which situations specific and complex data types are used, how they work and how much time they take. They are able to prove the correctness of algorithms. In practical assignments the students are enabled to implement various algorithms and data structures.
The lecture is divided into several parts building on one another:
Weekly exercises for reviewing lecture content and for exam preparation. Simple tasks in the lecture.
The students deepen the knowledge acquired in the lecture by implementing and testing selected algorithms in Java. They use standard development environments. The algorithms and data structures to be implemented are used culminating in a final task.
Assignements and basic source code.
Practical exercise with discussion of solutions
This course covers programming languages that belong to the C/C++ family of languages including new forms such as Go and Rust. After this course, students will be able to code in C/C++, are able to understand the commonalities and differences to Java and have an understanding of the latest developments such as C++20 plus new forms such as Go and Rust. Lectures introduce concepts via some live coding followed by some lab sessions where students work on smaller practical exercises. Several (online) quizzes allow students to test their knowledge.
Content.
C/C++ basics.
Recent extensions and new directions.
Written final exam, closed book. Exam questions refer to practical exercises that are covered in the lab.
The students implement projects with an increasing complexity in C++. They have to use generic classes, inheritance, polymorphism, abstract classes and interfaces and concepts for error handling and detection like exceptions and assertions. Additionally they will learn to use elements of the STL and to model the classes and their relationships with UML.
On the homepage: Project description with a step-by-step instruction, Java script, optional exercise with solutions, books:
Laboratory work
Students acquire comprehensive knowledge of techniques and concepts in distributed systems, particularly in the context of web applications. They understand the general architecture of the Internet and the Web and are able to analyze the requirements of web applications accurately. They can develop interactive web applications using HTML, CSS, and client-side JavaScript, as well as implement server-side code for application services, including authentication, cookies, and session management. In addition, they are able to identify potential security issues such as cross-site scripting and SQL injection and implement appropriate protective measures. These skills enable students to design, develop, and operate complex and secure web applications effectively.
The course provides a practical introduction to the concepts and paradigms of distributed systems using the example of web technologies and application development on the web. This initially involves an introduction of the world wide web with basic protocols such as HTTP and other standards in the context of the Internet. After that an introduction to the design and construction of web applications is provided. This includes firstly the frontend development with HTML5, CSS3 as well as client-side JavaScript and secondly the backend development with server-side JavaScript on the Node.js platform. Interactions between frontend and backend follow modern REST/HTTP and AJAX techniques. In addition, mechanisms for personalization with cookies and sessions as well as to authenticate users are presented. The course closes with a detailed discussion of web application security.
Upon completing this lecture class, students will acquire practical skills in the development and deployment of web applications, grounded in an understanding of distributed systems and web technologies. They will learn to proficiently use HTML5, CSS3, and JavaScript for frontend development, alongside server-side development with Node.js, enhancing their ability to create dynamic, full-stack web applications. Additionally, students will gain knowledge in implementing modern REST/HTTP and AJAX techniques for efficient frontend-backend communication, as well as in employing cookies, sessions, and authentication strategies for personalizing user experiences and ensuring application security. This comprehensive skill set will prepare students for a wide range of roles in web development and application design, equipping them with the necessary tools to address current and future challenges in the field.
In preparation for individual lecture units, the self-study of basic content is required by means of the accompanying literature (relevant chapters will be announced in the event). Further independent work concerns the follow-up of the lecture contents and the exam preparation.
The lab course covers the practical application of various basic web technologies. The selection of technologies follows the topics of the VS1 lecture. In the laboratory, a complete web application is created in several steps. Each step takes a closer look at a range of web technologies. This will specifically promote skills in understanding and applying Web technologies including the areas of declarative languages such as HTML, CSS, and JSON, client-side and server-side JavaScript programming, and special technologies for single-page applications and REST architectures.
Basic knowledge of general programming and declarative web languages is required (the latter can be obtained by a limited self-study of the accompanying literature). The course includes 50% supervised presence time (1 SWS) in the LKIT lab and 50% individual work. Proof of achievement is provided by presentation and defense of the solution.
This course provides students with the theoretical and applied knowledge about the creation of media-based web applications. This includes the foundations of the markup language HTML and Cascading Style Sheets, how to embed different types of media, as well as the conception, design and programming of responsive web applications.
Lecture notes, slides (PDF), multiple examples of programs
Preparation of lecture contents and exam
Students will learn the basic concepts of computer engineering. They learn the mathematical concepts of number representation and Boolean algebra, which are required for the analysis and design of hardware circuits. They understand how the basic digital computing elements are constructed and how to combine them into complex switching networks. Furthermore, the students will be able to explain the structure and operation of current standard circuits such as adders or shift registers. Additionally, students are familiar with internal functions of typical processors. They are able to implement the hardware related software parts using the "C" programming languege including the use of typical peripherals. All knowledge gained is reinforced by practical work in the laboratory.
On the processor side, the lecture will cover the following, basic processor hardware, processor architecture, addressing modes, instructions, memory mapping, peripherals and bit processing. The special features of the programming languages C / C++ needed for hardware programming will also be covered.
Powerpoint slide, personal notes, web based exercises and the suggested solution (provided upon request).
The student will be required to come prepared to participate in the lecture and will be expected to be able to develop a summary upon completion of the lecture, all exercises provided for reinforcement will be required to be individual work.
Lab experiments will be conducted using:
Exercises, equipment provided and various manuals and other support material.
All laboratory work will be group work. It will include the conduct of the experiment, demonstration of the required result and be prepared to answer questions on the work and the results. Groups are on their own and are required to come to the laboratory prepared to conduct the exercise. Each group will prepare a final documentation of the exercise.
Having successfully completed the module, students will be able to understand and explain the functions and structures of modern operating systems and how they are embedded in various computer architectures. They will be able to use system-related knowledge to design, develop and implement performant software solutions. In addition, they are able to organize, collaborate on and successfully complete complex programming tasks in a team. They have further developed their technical, social and personal skills as well as their communication skills and self-management.
The course "System Software" covers the fundamental tasks and functionalities of modern operating systems and enables students to apply these techniques independently and systematically in teams to solve system-level development tasks. The course is divided into four main thematic areas:
Fundamentals, Process Management, and Scheduling:
File Systems and Persistence:
Memory Virtualization:
Concurrency: Processes and Threads:
In addition, the specific challenges of each topic are discussed, along with common strategies for addressing them. Practical exercises complement the lectures to facilitate the application of theoretical concepts to realistic scenarios.
Slides, videos, textbooks, and other literature:
The lecture will take the form of seminars with exercises.
The course is organized in three exercises, covering compiler construction and interprocess communication. Starting with a scanner, the students consolidate their skills in handling large dynamic data structures, pointers, and doing low level IO. The second exercise focuses on the development of a recursive descendent parser and a short introduction to semantic analysis and code generation. The third exercise is an introduction to the field of interprocess communication. Within the exercise, elementary techniques and concepts are trained:
Slides and textbooks:
Attended teamwork and three lectures.
The module teaches the basics and practical skills in database systems and communication networks.
Competence objectives in the field of databases:
Competence goals in the area of communication networks:
The module promotes analytical thinking, practical problem-solving skills and teamwork and provides a foundation for topics such as network security and distributed systems.
The lecture covers the following topics:
In this course, students expand their knowledge of communication networks, in particular by taking an in-depth look at the functionalities and challenges of the layers of the Internet protocol stack. After completing the course, they will be able to analyze, evaluate and practically apply advanced mechanisms and protocols in the application layer, transport layer, network layer and security layer. They will be able to identify complex network problems, combine specific solution modules and develop innovative solutions.
The lecture covers the following topics:
The lecture is taught in a flipped classroom format. Students prepare for the classroom sessions independently using lecture slides and explanatory videos. In these sessions, the topics are explored in greater depth through case studies and exercises. Online tests offer students the opportunity for self-assessment and to collect bonus points for the exam. The examination consists of a 60-minute written exam, which is part of the module exam "Databases and Communication Networks 2".
The total workload is 75 hours, divided into 25 hours of attendance time, 25 hours of asynchronous learning and 25 hours for exam preparation and follow-up.
The knowledge learned in "Databases 1" is deepened and practiced in group work. The interaction of a database with a higher programming language (Java) is understood. The use of SQL (DCL; DML; DDL), transactions and isolation levels and the avoidance of deadlocks is mastered.
A database application for warehouse management will be designed and prototypically implemented. This includes the setup of a DB schema, the design and testing of SQL queries, the use of transactions and transaction levels as well as the programming of queries and transactions with Java using JDBC based on Oracle (the preparation for the laboratory should be done in PostgreSQL or MySQL).
Finally, several given verbal facts are analyzed, transferred to an Entity Relationship model, normalized, transferred to a physical schema and finally created in SQL. Finally, the handling of the OR mapper Hibernate is practiced.
Translated with www.DeepL.com/Translator
Supervised laboratory with final presentation on the computer, independent work, preparation for follow-up, writing a laboratory report on the tasks.
In the lab, students apply practical knowledge and skills to consolidate the content of the lecture of the same name. After completing the lab, they will be able to analyze, configure and programmatically implement network protocols in various layers and measure and evaluate the performance of network applications.
After successful participation, students will be able to:
The laboratory includes the following experiments, which are carried out in teams of 2-4 people:
The experiments are carried out in a virtual environment as group work. The students document their results and present them at the end. The examination consists of the successful completion of the four laboratory experiments and the presentation of the results. The workload is 30 hours, including 15 hours of attendance time and 15 hours of independent preparation and follow-up work.
The courses of this module teach the students fundamental programming and algorithmic skills. The students should be enabled to analyze small problems, find solutions to these problems, and develope them in the Java programming language.
By means of periodic evening events they get basic understanding of association work, concretely the work of the Usability Professionals' Association (UPA).
An MMC-task which is standard practice is designed starting from task analysis up to the paper prototype. This prototype is subject - possibly over several iterations - of a usability test until the specified quality targets are reached.
Script, eye-tracker and user monitoring space in the Usability Lab Textbooks:
Supervised group work with presentation and discussion; test the usability of the prototype, prepare a test report with proposals for improvements.
Students are introduced to the fundamental concepts of general business administration. They learn about economic processes and interrelationships and become familiar with typical processes and requirements within companies. They are able to identify and outline the various areas of business administration.
Using diferent tools and concepts, students can describe and analyze a company's situation.
In addition, students are equipped to independently calculate and analyze key performance indicators that provide insights into a company's efficiency and effectiveness.
In the Business Administration lecture, topics such as the economic environment (economics), business structures, organization, investment and financing, marketing, and accounting are covered in depth. This enables students to gain a comprehensive understanding of how a company operates and the resulting requirements.
The lecture covers the core processes of IT service management as well as methods for systematic planning, provision and support of IT services. For each process, the objectives, tasks, demarcation, mode of operation and the dependencies on the other processes are worked out. The students thus acquire the competence to know the relevant technical terms and to apply them in practical situations.
The necessary roles and responsibilities are learned. The students understand how IT processes are represented in reference models. The lecture is based on the IT Infrastructure Library (ITIL), which is a generally accepted standard for the structure and operation of IT organizations.
Lecture material as PowerPoint slides
Blackboard notes for interactive development of core problems
Numerous multiple-choice questions on each process in ILIAS
After completing this module, students will be able to handle important work-related skills that are also relevant for the practical semester. They can use the Scrum process model to manage projects and work in corresponding Scrum teams. They master techniques for the professional creation of scientific documents, can prepare data in a targeted manner and visualise their findings in an appealing way using modern presentation tools.
This course deals with the general handling of MS Office products and gives specifically an introduction to the main functions of MS-Excel. Topics include input methods, formulas, chart depictions and search functions. Basic knowledge about the programming in VBA are also taught. These methods will also be used for macro skripts in MS-Word.
Afterwards, the students have learned how to solve typicals problems efficiently with these today's standard programs.
Exercises, programs with solutions and online documentation.
Practical assignment in a computer laboratory.
This lecture deals with the general handling of MS Office products and specifically provides an introduction to the most important functionalities of MS Excel. Students learn, for example, how to use input methods, formulae, diagrams and search functions. Basic knowledge of programming under VBA is also taught. These are then used to create macro scripts in MS Word.
The focus is on the efficient use of MS Office products. Participating students are then able to quickly solve typical tasks.
Lecture notes
The course consists of a lecture (50%) and supervised practical exercises (50%).
The internship is designed to deepen the previously acquired knowledge and skills by qualified collaboration in a larger project. The focus is on improving the technical competence and the development of social and personal skills. The student needs to assert himself as an independent member of the team. He becomes acquainted with new fields of duty and will become familiar with new tools. He learns to evolve himself and to assess his skills. The internship may be pursued in a company, in a research facility or an authority.
The project must include at least 95 days presence and a relevantly application in computer science using modern technologies. There are to create an internship report and an experience report. The supervising company grants a work certificate. By the university of applied sciences each student is assigned a mentor. The task of the mentor is to monitor the quality of training detail.
The material depends on the task and is made available by the supervising company.
Participation in a larger project
The students learn how to work independently and productively in large software projects. This includes the decomposing of development tasks as well as the determination and assessment of appropriate architectures. They are able to capture the necessary steps in the context of a given task, to structure and clarify their decisions using suitable tools and methodologies, independently.
In this context, the students also gain the ability to recognize and classify goals and problems of distributed software systems. They can explain the general concepts of architectures, processes, communication, naming, coordination, replication fault tolerance and security, and apply them to the construction of distributed software services and applications.
The course "Software Engineering" builds on the practical experience students have gained during their internships and introduces techniques and methods for structured large-scale software development. The lecture begins with a review and consolidation of fundamental concepts such as objects, classes, associations, methods, inheritance, and polymorphism to ensure a solid understanding of the basics. It then focuses on the challenges of modern software development processes and structured approaches to address them effectively.
Students learn how to integrate agile methodologies, such as Scrum, with established process models like the Unified Software Development Process to manage complex software projects. UML is introduced as a core modeling language to document development decisions and facilitate clear communication. Particular emphasis is placed on understanding the complexities of large-scale systems and applying structured methods and processes to address these challenges.
Throughout the course, students develop the ability to work independently in agile environments, make informed development decisions, and document these decisions methodically. Theoretical concepts are complemented by practical examples that help bridge the gap between theory and real-world applications.
In the associated lab, students apply the knowledge gained in the lecture to various example projects. They conduct the first iteration of a software development process, practicing teamwork, the use of agile methods, and professional documentation with UML.
Slides, videos, textbooks, and other literature:
The lecture will take the form of seminars with exercises.
The lecture conveys both fundamental and extended principles of distributed systems and illustrates these in practical form on the basis of concrete paradigms and technologies. The spectrum of principles covered includes fundamental aspects of the objectives and classes of distributed systems, as well as their architectures, processes, communications, and naming. Advanced principles include coordination, consistency and replication, fault tolerance and security. The covered principles are exemplified by various paradigms. Here, exemplary implementations of individual principles are presented. In addition, an introduction to the development of corresponding systems based on concrete software technologies is given.
Upon completing this lecture class, students will achieve a comprehensive understanding of the principles underlying distributed systems, ranging from their fundamental objectives and architectures to advanced concepts such as coordination, consistency, replication, fault tolerance, and security. They will gain insights into the practical application of these principles through the examination of specific paradigms and technologies, enhancing their ability to analyze and design distributed systems. Moreover, the introduction to developing these systems using concrete software technologies will equip students with the practical skills necessary for implementing robust, efficient, and secure distributed systems in various computing environments.
Autonomous work includes pre- and post processing of lectures, exercises and exam preparation.
In the Software Engineering Lab, students complete a full iterative software development process within a team. Starting with requirements analysis, they develop an analysis and design model and implement it in Java. Along the way, they actively engage with concepts such as use-case-driven development, architecture orientation, iterative and incremental approaches, and component-based software design.
Through a concrete example project, students experience the practical application of these methods and learn to make independent design decisions while adhering to given requirements. The lab emphasizes teamwork and independent problem-solving, preparing participants to work effectively in agile development teams and address the challenges of complex software projects.
Slides, videos, textbooks, and other literature:
Attended teamwork
The lab provides practical insights into the functioning and construction of distributed information systems. To this end, current paradigms are taken up and fundamental principles are examined in the context of exemplary realizations. The lab tasks are based on the contents of the lecture, but also address current topics of industrial research and development. The practical implementation is done under utilization of modern industry-relevant platforms and frameworks.
Basic knowledge of programming, operating systems and databases is required. The course includes 50% supervised presence time (1 SWS) in the LKIT lab and 50% individual work. Proof of achievement is provided by presentation and defense of the solution.
In this course, students expand their knowledge of communication networks, in particular by taking an in-depth look at the functionalities and challenges of the layers of the Internet protocol stack. After completing the course, they will be able to analyze, evaluate and practically apply advanced mechanisms and protocols in the application layer, transport layer, network layer and security layer. They will be able to identify complex network problems, combine specific solution modules and develop innovative solutions.
The lecture covers the following topics:
The lecture is taught in a flipped classroom format. Students prepare for the classroom sessions independently using lecture slides and explanatory videos. In these sessions, the topics are explored in greater depth through case studies and exercises. Online tests offer students the opportunity for self-assessment and to collect bonus points for the exam. The examination consists of a 60-minute written exam, which is part of the module exam "Databases and Communication Networks 2".
The total workload is 75 hours, divided into 25 hours of attendance time, 25 hours of asynchronous learning and 25 hours for exam preparation and follow-up.
Visual cognition and its creation through modern computer graphics, as well as color models, textures and graphic effects are understood in basic theoretical details as well as in practical application.
Henning, Taschenbuch Multimedia.
Further literature list at beginning of course.Graphical primitives, polygonalmodels, transformations. Coloring, lighting and textures. Animation through sensors and interpolators.
Elements of OpenGL: Vertices, polygons, transformation matrices. Lighting and textures
Material from the lecture
Presence required, solution of lab problems
Students will be able to independently apply the knowledge they have acquired in their previous studies to a complete task. They can analyse the problem, create a solution concept, find an implementation and implement it on their own. They can also write down their results observing scientific standards. They can also present their work in a short presentation and defend it in a subsequent discussion.
A student research project deals with a topic in the field of software or hardware. The aim is to carry out a practical task, but work in the areas of evaluation or literature research is also possible.
Students analyse the task and research which tools are best suited to solve it. They then use these accordingly. Comprehensive documentation must be prepared for the project work, covering all steps of the task and its completion (e.g. the exact problem definition, the concept, the implementation, operating instructions and more). A joint colloquium concludes the project work. The students show their results in a short presentation and then take part in a discussion. The project work is thus a preparation for the later final thesis, which the students will write according to very similar guidelines.
Depending on the task
The colloquium marks the conclusion of the project work. Students present their results in a short presentation and then take part in a discussion. In doing so, they demonstrate that they are able to explain and defend the problem, the realisation of the work and the solution found in a short, concise form.
All work will be individual work and will include the presentation, discussion, defense of the work.
The compulsory elective subjects enable students to set specialisations according to their own interests and thus apply further specialist areas of computer science or media informatics. The courses belonging to the module are announced on the intranet at the beginning of each semester.
The courses of this module teach the students the fundamental concepts about embedded systems. Students know the basic terminology about embedded systems and they are able to distinguish different types of real-time systems from each other. By studying the CAN bus technology, students get to know a typical communication medium and acquain with the CDMA technology an important coding scheme for data transmission. Students are able to implement typical programming tasks in the field of embedded systems in C. Furthermore, students learn how to deal with software tools that are suited for analyzing and developing embedded systems.
The lecture introduces software development methods for embedded real time systems. Embedded systems within the meaning of this lecture are systems that are controlled by computer software and are part of a larger system whose primary function is not compute-oriented. For real-time systems, the result has to be computed within a specified time frame. In particular, topics from the following areas are covered: Design and architecture of automotive ECUs, bus architectures, data transmission encodings, Embedded C.
Slides, blackboard, exercise sheets
Lecture
With the help of the modeling tool CANoe the participants design a control unit in the field of automotive electronics. The project also includes tasks from the field of signal decoding.
Software and hardware tools für designing automative ECUs
Practical work
This module integrates different media technologies. The students will be able to write user interfaces for rich fat clients and mobile media applications. They learn how computer vision works and how computer vision ist used in media applications.
The lecture first deals with SWT/JFace and the Eclipse Rich Client Platform 4 (RCP), which uses SWT and JFace as its basis. The most important topics are the model-view-controller pattern, layout management and event handling using the observer pattern. Based upon this techniques advanced technologies like the separation of business logic and user interface code using data binding and dialog control are presented. Other topics are internationalization and multithreading in the context of user interfaces. The last part of the lecture shows the declarative construction of user interfaces and the application of the RCP framework.
Books and Web sites:
Lecture preparation, exam preparation, implementing the bonus exercise, 30% of the lecture is held as a computer exercise
The lecture teaches the construction of mobile media applications. The main concepts are discussed using the Android platform. In a first partt, the basic technologies and limitations of mobile devices are shown. The second part examins different development strategies like native applications, device independend abstractions and web applications. A main part of the lecture is the integration of different media types into mobile applications and the constraints the developer has to keep in mind.
will be announced
Leacture with exercise
The student should learn how a common, computer science-related content will be refurbished for a specific group of audiants. Additionnally he should have learned how to give his presentation and defend it.
Each participant of the seminar creates under the guidance of a supervising faculty staff a written report in housework. The contents of the report should be computer science related. Based on the report suitable presentation techniques (slides, video sequences, programmed examples) are selected. Each participant individually presents his report followed by a discussion. The seminar topics are classified into thematic groups. Besides the technical problem the student has to learn how to do 'self-marketing'. The assessment of the student is based on the following criteria: degree of difficulty, quality of written preparation; didactically skillful presentation.
Depends on the topic
Meetings with the faculty supervisor; eventually experimental studies, literature refurbishment; presenting the work-out; defend the own presentation; active participation in discussing the presentations of others.
A students creates under the guidance of a supervising faculty staff the topic, prepared in IB631. He should learn how to construct a presentation, tailored to an specific group of audiants. Additionally he/she has to give his presentation and successfully defend it in a discussion with the audience He presents his content individually in the context of a lecture with an closing discussion. Besides the technical problem the student has to learn how to do 'self-marketing'. The assessment of the student is based on the following criteria: compliance with the requirements of time, didactically skillful presentation, discussion strength.
Depends on the topic
Presenting the work-out; defend the own presentation; active participation in discussing the presentations of others.
On successful completion of the module, students will be able to
Participants learn to understand intercultural competence as a strategic competitive factor and to organise their own actions in a culturally appropriate way:
To exist in the political, social, economical and cultural living nowadays the students must be able to held speeches and to participate in discussions without stoppages. This seminar shows how to express oneself independently of a concrete text.
PowerPoint slides
Lectures and practical exercises
The student should be able to lay his emphasis on individual interests.
The student should be able to lay his emphasis on individual interests.
This module enables students to apply the basic principles of research in computer science in a method-based manner. They can evaluate scientific literature to use it in their own work. They are then able to write their own scientific papers.
Students work independently on a practical problem using scientific and practical methods. Topics include the independent development of the methodology, the topic and the exact problem as well as the structure of the paper and the creation of a bibliography. The results are discussed and presented with the lecturers. The students thus learn the procedure for writing the final Bachelor's thesis.
After successfully completing this module, students are able to independently solve a practical problem or research task using scientific methods within a specified period of time. They can structure the task, check dependencies, collect the necessary resources and then work on the task using a specially derived schedule. They can present the written results in an appealing form.
In the final thesis, students work independently on a practical problem or research task within a specified period of time using scientific methods. They structure the task, check dependencies, collect the necessary resources and work on the problem according to a timetable. The written thesis summarises the results in a didactically meaningful way and meets academic standards.
Suitable for the task as agreed
Participation in this module enables students to convincingly present the results achieved within a specialised, application-related thesis to an expert audience. They can analyse the content of such work, select the key aspects and present these in a didactically appropriate short presentation. In a subsequent discussion, they are also able to defend their results.
The final examination covers all topics relevant to computer science in the main study programme. Students demonstrate that they have understood and can apply interdisciplinary contexts. They answer questions from various areas of media informatics that are related to their final thesis. With the final examination, they demonstrate that they have the competence to independently work on novel problems in the field of media informatics.