Module der Passerelle zum BSc in Informatik
- Der Forschungsablauf im Überblick
- Planung eines Forschungsprojekts
- Zeitmanagement
- Ressourcenplanung
- Zugang zu Daten
- Wissenschaftliche Gütekriterien
- Ethische Aspekte - Erstellung einer Forschungsskizze
- Themenfindung
English has evolved naturally as the global language of business and IT. Today, there are approximately 400 million native speakers of english and it has been estimated that there are more than a billion non-native English speakers. English is also the predominant language on the Internet and is therefore about to eliminate all communication barriers worldwide. It is also the main language used in international teams. This course aims to give students the skills required to react and respond to different business situations. The main Focus will be on building and enhancing Business vocabulary. The students will develop various ways of communication, using authentic vocabulary both in formal and informal situations. They will also enhance their writing, reading and listening skills in a number of different ways.
Algorithmen & Datenstrukturen / Angewandte Mathematik für Informatiker
- Mathematik: Beherrschen der Grundlagen der Mengenlehre, Algebra, modularen Arithmetik, elementare Zahlentheorie, Logik, Funktionen und Relationen, linearen Algebra.
- Algorithmen und Datenstrukturen: Mengenproblem, Binary Tree, Graphen, Sortierprobleme (Insertion, Merge, Heap), Suchalgorithmen, Komplexitätsberechnungen
- Software: Fähigkeit die Themen der Mathematik und Algorithmen in Pythoncode umzusetzen.
Objektorientierte Programmierung
- Objektorientierte Programme auf systematische Art und Weise entwickeln
- Abstraktion verstehen und Abstraktion bei der Entwicklung von objektorientierten Programmen einsetzen können
- Bestehende objektorientierte Programme verstehen und beurteilen
- Funktionsweise eigener Programme anderen Personen erklären
Patterns & Paradigms
- Schema, Ziel und Zweck der Design- und Architekturmuster
- Prinzipien der Objektorientierung
- Wichtigste OO-Designmuster
- Wichtigste Softwarearchitekturmuster
Game Development
Ziel dieses Kurses ist es, Leuten, die über einige Programmierkenntnisse, aber keine Erfahrung in der Spielentwicklung verfügen, beizubringen, wie sie mit Unity3D ein Spiel entwickeln können. Spielentwicklung ist ein Prozess, der von Ideenfindung, Game Design, Prototyping, Entwicklung, Asset Creation, Testing, Marketing und Vertrieb geht. Die Kursteilnehmer bekommen einen Einblick in ausgewählte Teilprozesse. Spiele entwickelt man am besten, indem man so wenig Code wie möglich selber schreibt. Deshalb sind Game Engines von grosser Bedeutung. Dieser Kurs erklärt Game Engines und führt die Teilnehmer in die Verwendung der Engine Unity3D ein. Der Kurs umfasst drei Haupt-Blöcke. Der erste ist das Schreiben eines Game Design Documents, der zweite das Erstellen eines Game-Prototypen, das dritte das Kennenlernen und Anwenden von einigen interessanten Algorithmen der Game-Programmierung.
Visual Computing
Visual Computing ist angewandte Mathematik. Neben dem Kennenlernen von Fakten, Techniken und Algorithmen werden die Kenntnisse in linearer Algebra und wissenschaftlichem Python vertieft. Dies geschieht mittels vielen praxisbezogenen Beispielen. Die verwendeten Werkzeuge basieren auf Python. In der Praxis trifft man im Visual Computing auf eine Vielzahl von Technologien, Programmiersprachen, Libraries und Standards, und Python ist dabei nur eines von vielen Werkzeugen. Als Testumgebung für das Visual Computing eignet sich Python aber, weil es uns erlaubt, ohne viel Vorbereitung neue Projekte zu starten und Prototypen zu schreiben.
Die Mensch-Computer-Interaktion (HCI) erforscht das Design und die Verwendung von Computer-Technologie an der Schnittstelle zwischen Menschen (Anwendern) und Computern und mit der Art und Weise, wie Menschen mit Computern und Design-Technologien interagieren. Dabei werden neben Erkenntnissen der Informatik auch solche aus der Psychologie und dem Design herangezogen. Damit die Erkenntnisse der HCI angewendet werden können, werden Themen rund um die User Experience (UX, Nutzererlebnis) und das User Interface (UI, Benutzerschnittstelle) angeschaut. Ergänzend zu dieser prozessualen Sicht werden ein Überblick von Sicherheitstechnologien sowie Übungsbeispiele zu organisatorischen und technische Sicherheitsaspekten als Praxisbezug und Praxistransfer vermittelt.
Software bildet das Rückgrat in heutigen Informationssystemen. Die unterschiedlichsten Software-Anwendungen unterstützen die meisten Geschäftsprozesse in Unternehmungen. Das potenzielle Schadensausmass bei fehlerhafter Software ist enorm und geht von Verärgerung der Kundschaft über Zeit-/Geldverlust bis hin zur Gefährdung von Menschenleben. Die Etablierung eines funktionierenden Qualitätsmanagements bildet die Voraussetzung für gelingende Softwareerstellung bzw. -beschaffungs-Prozesse. Der Einsatz der passenden Methoden und Tools in der Softwareerstellung sichern einen hohen Level in der Softwarequalität.
Netzwerkgrundlagen
In der digitalen Gesellschaft ist die Datenkommunikation zwischen Mensch – Maschine oder Maschine – Maschine nicht mehr wegzudenken. Die Studierenden erwerben im Kurs das Wissen und die Kompetenz, die Netzwerke technisch zu verstehen, planen und umzusetzen. Konkrete Lernziele sind:
- Erwerben von Grundlagen für den Aufbau von TCP/IP Netzwerken.
- Verstehen des Unterschieds zwischen dem TCP/IP und dem OSI Referenzmodel und erläutern der Unterschiede
Internettechnologien
In der Gesellschaft werden die digitalen Touch-Points stetig eine wichtigere Rolle einnehmen. In diesem Kurs lernen die Studierenden, welche Technologien für den Austausch und die Darstellung von Daten im Internet vorhanden sind und wie diese eingesetzt werden. Konkrete Lernziele sind:
- Erlernen des XML Standards und dessen Einsatzgebietes
- Anwendung des XML Standards in Bezug auf praktische Anwendungsfälle
- Verstehen den Aufbau eines HTML / XHTML / HTML5 Dokument
- Kennen den Verwendungsweck von CSS Style Sheets
- Verstehen den Einsatz von JavaScript
Software Engineering
Software-Projekte werden immer grösser und komplexer. Ein effizientes Arbeiten im Team kann nur durch eine strukturierte Vorgehensweise sichergestellt werden. Im Rahmen der Softwareentwicklung haben sich dabei verschiedene Vorgehensmodelle etabliert, welche sich alle mit mehr oder weniger denselben Aktivitäten auseinandersetzen. Im Rahmen des Moduls Software Engineering wird eine Auslegeordnung der am häufigsten eingesetzten Vorgehensmodelle besprochen. Zudem werden die verschiedenen Aktivitäten genauer beleuchtet. In Form der Unified Modelling Language (UML) wird ein Formalismus behandelt, mit welchem verschiedene Aspekte der Softwareentwicklung dokumentiert werden können.
DevOps
Schneller und besser. Das sind die Ziele von DevOps. Erreicht werden diese unter anderem durch das Aufbrechen der „Wall of Confusion“ zwischen Business, Entwicklung und Betrieb, durch die Schaffung einer gemeinsamen Kultur, durch Continuous Delivery und konsequente Automatisierung. DevOps wurde ursprünglich von Unternehmen wie Netflix, Etsy, Spotify und Google geprägt. DevOps entspricht ganz einfach ihrer Kultur – ihrer Art und Weise – wie dort Dinge angegangen werden. Die Frage, wie sich der Erfolg dieser „Unicorns“ auf klassisch geprägte Unternehmen übertragen lässt, wird uns wird uns während dieses Teilmoduls laufend begleiten.
IT-Recht
IT-spezifische Fragen betreffend Verträge auf Arbeitsleistungen werden vertieft behandelt, wie im Arbeitsvertrag: Freelancing, Non-Disclosure Agreement (NDA), Konkurrenzklauseln oder im Werkvertrag kritische Punkte wie die Abnahme und haftungsrechtliche Fragen. Die Studierenden sollen Einblick in einen möglichen Aufbau eines IT-Vertrages erhalten und in der Praxis anwenden können, bzw. erkennen können, wo es allenfalls notwendig ist einen Spezialisten für die Klärung einer Frage heranzuziehen. Spezifische Inhalte von Verträgen wie Lizenzvertrag, Outsourcingvertrag und Service Level Agreements (SLA) werden den Studierenden vermittelt. Aufbauend auf Datenschutzbasiswissen werden spezifische Fragen erläutert, wie Big Data und Datenschutz, die Übermittlung von Personendaten ins Ausland oder Datenschutz in spezifischen Anwendungsgebieten (öffentliche Verwaltung, Finanzbranche, Gesundheitswesen).
Cyber Security
Informationen und Daten zählen zum wertvollsten Kapital eines Unternehmens. Mit einem funktionierenden Informationssicherheit-Managementsystem (ISMS) können die Vertraulichkeit, die Integrität und die Verfügbarkeit von Informationen geschützt werden. Wichtige Unternehmenswerte (Assets) sind dabei zu steuern und zu schützen und Risiken zu minimieren. Mit einem funktionierenden ISMS kann schnell auf neue Herausforderungen reagiert werden und proaktiv gehandelt werden. Zum Beispiel bei der Erfüllung neuer Governance Anforderungen oder internationalen Gesetzen. Innerhalb der Normenreihe ISO/IEC 27000 werden die Belange der Informationssicherheit strukturiert behandelt und setzen die Basis für die Entwicklung eines effektiven Informationssicherheits-Managements. Ergänzend zu dieser prozessualen Sicht werden ein Überblick von Sicherheitstechnologien sowie Übungsbeispiele zu organisatorischen und technische Sicherheitsaspekten als Praxisbezug und Praxistransfer vermittelt.
IoT, Cloud Computing
Beschreibung folgt
Embedded Systems
Beschreibung folgt
Computer-Netzwerke
Im Zuge der Weblösungen und Cloud sind heutige Anwendungen meist verteilt. Dies bedingt komplexe Architekturen und eine Vielzahl von Kommunikationstechnologien. Die Studierenden legen die Besonderheiten, Ausprägungen und Ziele von verteilten Systemen dar und sind in der Lage, unterschiedliche Kommunikationstechnologien auszuführen.
Web-Engineering
Immer häufiger besteht der Anspruch an eine Anwendung darin, diese vollständig, oder aber zusätzlich zu einer bestehenden Desktop Anwendung auch auf Basis von Web-Technologien zu entwickeln. Die Architektur des World Wide Web macht es so möglich, dass jede Applikation von überall im Firmennetzwerk oder sogar weltweit erreicht werden kann. Die kaum noch überschaubare Technologievielfalt, sowie aber auch die starke Änderungsdynamik des WWW und die damit einhergehende Komplexität machen ein angepasstes Projektvorgehen erforderlich. Unter dem Begriff Web Engineering werden die vom traditionellen Software Engineering abgeleiteten und mit speziell auf die Web-Technologien fokussierten Ideen verknüpften Vorgehensweisen zusammengefasst. In dieser Lehrveranstaltung wird ein Blick auf die Unterschiede und Gemeinsamkeiten mit dem Software Engineering, die technologische Basis, sowie aktuelle Forschungsergebnisse im Web Engineering-Kontext geworfen.
Machine Learning
Inhalte folgen
Deep Learning, Data Science
Over the last decade, we have witnessed the spectacular rise of Artificial Intelligence. Tremendous progress has been made in the application of AI to computer vision, a subfield that teaches machines to understand images and videos, and natural language processing. On the research front the number of publications doubled in the last decade. Furthermore, the number of patent filings related to AI innovations in 2021 was 30 times greater than the filings in 2015 while private investment in AI startups is at an all-time high, totaling $93.5 billion in 2021. Ultimately, AI has made a clear impact in almost every application field, thereby becoming one of the cornerstones in computing. The growth of AI applications across industries translates naturally into a growing demand for AI education and AI skills in the job market.
As a subset of Artificial Intelligence, Deep Learning is generally considered as a subset of machine learning. It is a field that is based on learning to recognize patterns and predict future outcomes by applying computer algorithms to data. Deep learning models are based on artificial neural networks, which are designed to imitate how humans think and learn.
This course introduces the key concepts and techniques underlying the design and training of neural networks. The course also introduces convolutional neural networks (CNNs), a powerful family of neural networks that are designed for learning from image data, and recurrent neural networks (RNNs) for sequence modelling. Throughout the course the Deep Learning framework PyTorch will be used to implement Deep Learning networks.
- Grundlagen zu (sozialen) Robotern
- Robotik, Soziale Robotik und andere Disziplinen
- Beispiele und Anwendungsgebiete von Robotern und von sozialen Roboter
- Kuka-Roboter, Atlas, Spot, NAO, Pepper, Cozmo, Harmony, QTrobot, ...
- Szenarien- und Prototypentwicklung
Die Teilnehmenden lernen, die Grundlagen der angewandten Kryptographie zu verstehen und wie diese praktisch anzuwenden sind. Ebenfalls thematisiert werden verschiedene Angriffsverfahren und mögliche Fehlerquellen bei der Implementierung und Anwendung von kryptographischen Verfahren. Das Wissen wird sowohl mit theoretischen wie auch mit praktischen Übungen gefestigt. Ebenfalls betrachtet wird die Historie der Kryptographie und deren zukünftigen Entwicklung. Dabei lernen die Teilnehmenden auch die verschiedenen Standards kennen und lernen wie sie das Wissen in ihren Berufsalltag einbringen können.
Studierende bearbeiten konkrete Themen im Rahmen der während des Studiums bearbeiteten Fachgebiete. Sie wählen eine Fragestellung aus Theorie oder Praxis und bearbeiten diese ausgehend von der bestehenden relevanten Theorie. Lösungen zu der Fragestellung werden anhand der vorliegenden Literatur und / oder Erhebungen aus der Praxis erarbeitet.