DUALE HOCHSCHULE Baden-Württemberg Studienbereich Technik Wahlmodul Angewandte Informatik (STG Jahr 2) (T2INF4901) Formale Angaben zum Modul Studiengang Studienrichtung Vertiefung Informatik Angewandte Informatik Kommunikationsinformatik Modulbezeichnung Sprache Nummer Version Modulverantwortlicher Wahlmodul Angewandte Informatik (STG Jahr 2) Deutsch T2INF4901 9 Prof. Friedemann Stockmayer Verortung des Moduls im Studienverlauf Semester Voraussetzungen für die Teilnahme - Modulart Moduldauer Lokales Vertiefungsmodul 1 Eingesetzte Lehr- und Prüfungsformen Lehrformen Vorlesung, Vorlesung, Labor, Vorlesung, Übung, Vorlesung, Übung, Labor Lehrmethoden Laborarbeit, Lehrvortrag, Diskussion, Lehrvortrag, Diskussion, Fallstudien, Lehrvortrag, Diskussion, Gruppenarbeit Prüfungsleistung Benotung Prüfungsumfang (in min) Klausur Standardnoten 120 Workload und ECTS Workload insgesamt (in h) davon Präsenzzeit (in h) davon Selbststudium (in h) ECTS-Punkte 222,0 144,0 78,0 5 Sachkompetenz Im Rahmen eines vorgegebenen Auswahlkataloges besteht die Möglichkeit zur spezifischen Erweiterung oder Vertiefung des Curriculums Kommunikationsinformatik. Selbstkompetenz - Sozial-ethische Kompetenz - Qualifikationsziele und Kompetenzen 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 1 Lerneinheiten und Inhalte Lehr- und Lerneinheiten Präsenz Selbststudium Programmiertechniken für eingebettete Systeme ,0 ,0 - Definition von eingebetteten Systemen - Einführung; Wiederholung in C++ - Konzepte zur effizienten Programmierung in C++ - Speicherverwaltung und Allokationstechniken - Implementierung von Zustandsautomaten - Code wartbar schreiben - Umgang mit statischer Code-Analyse In dem praktisch ausgerichteten Teil der Vorlesung geht es um Datenübertragung, das Parsen und das Verarbeiten von Daten. Die Teilnehmenden lösen Aufgaben und diskutieren diese im Anschluss in der Gruppe. Als Werkzeuge dienen Linux mit g++ oder clang. Skriptsprachen 36,0 39,0 Skriptsprachen kommen vor allem für die prototypische Entwicklung in unterschiedlichen Bereichen zum Einsatz (z.B. Web-Anwendungen, Tools, Kommunikations- und Netz-Dienste). Im Rahmen dieser Unit wird eine Scriptsprache (z.B. Python) erlernt und praktisch geübt. - Funktion einer Scriptsprache: Beziehung Skript - Interpreter - Umgang mit numerischen Daten, Strings - Objekte und Operatoren - Charakteristische Datenstrukuren, Dictionaries, Listen, Tupel - Funktionen und Module - Grafische Benutzerschnittstellen Funktionale Programmierung 36,0 39,0 - Programmieren mit Funktionen - Rekursive Definitionen - Pattern Matching - Funktionen als Datenwerte - Funktionen höherer Ordnung - Die Funktionen map und fold - Das Konzept der Monaden Funktionale - Auswertungsstrategien: Strikte Auswertung (call-by-value), nicht strikte Auswertung (call-by-name), Lazy-Evaluation (call-by-need) - Überblick über unterschiedliche funktionale Sprache: sml, caml/ocaml, Haskell, Miranda, Lisp/Scheme, Lambda-Kalkül , Semantic Web 36,0 39,0 36,0 39,0 36,0 39,0 - Kurze Einfuehrung in Semantische Technologien - Die Idee von Linked Data - Das Resource Description Framework (RDF): Tripel und URLs - RDF Syntax: XML und TTL - Die Anfragesprache SPARQL - Semantik in RDF: RDF Schema (RDFS) und die Web Ontology Language (OWL) - Zusammenarbeit der einzelnen Komponenten: Der Semantic Web Layer Cake Assemblerprogrammierung - Prozessorfamilie 8051 -Entwicklungsumgebung µVision der Firma Keil in der Demo Version - Unbewertete Übungen : z. B. Serielle Schnittstelle, Analog Digital Umsetzer, - Bewerteter Programmentwurf : Bearbeitungszeitraum ca. 3 Wochen - Thema: wird noch bekanntgegeben C# /.Net 1 -Überblick über das .NET Framework: Die Entwicklungsumgebung VS2008 / SharpDevelop / Monodevelop, .NET Framework-Tools -Grundlagen der CLR: Reference Types vs. Value Types, Boxing und Unboxing, Schnittstellen und Generika, Events und Delegates, Ausnahmebehandlung, Automatische Speicherverwaltung -Ein- und Ausgabe: String-Handling und RegEx, Zugriff auf das Dateisystem, Streams (FileStream, MemoryStream, CompressionStreams, ...) -Listen (Queue, Stack, Dictionary, ...) -Serialisierung -Debugging von .NET-Applikationen: Debugger-Klasse / Trace-Klasse, Debugger-Attribute, Breakpoints - Oberflächenprogrammierung mit Windows Forms:.Kennenlernen grundlegender UI-Controls (z.B. Panels, Buttons, TextBox, Labels, ...),Dialogfenster (OpenFileDialog, SaveFileDialog, …) MDI vs. SDI, Asynchrones Programmieren mit dem BackgroundWorker-Control, Drag & Drop, Drucken, Lokalisierung / Globalisierung von Anwendungen Ausblick auf .NET 3.0/.NET 3.5, Windows Presentation Foundation C++ 15.05.2017 36,0 Modulbeschreibung für Bachelor Studiengänge an der DHBW 39,0 Seite 2 - Geschichtliche Einordnung der Sprache C++ - Entwicklungsgeschichte - Wesentliche Sprachmerkmale - Vor- und Nachteile der Sprache C++ - Unterschiede zur Sprache Java - Dateiorganisation in C++ , Modulkonzept, Header- und Implementierungsfile - Hauptprogramm, Programmeintrittspunkt - Ein- und Ausgabestream, Namespace - Übersetzen und Binden - Formatierte Ausgabe, Strings aus der Sprache C, ANSI/ISO Klasse ‚string’ - Präprozessor - Zeiger, Objektinstanzen - Konstruktor/Destruktor - void* Zeiger und NULL Zeiger - Initialisierungen in C++ - Kopieren von Objekten, flache Kopie, tiefe Kopie - Copy Konstruktor - Überladen des Assignment Operators - Symbolische Konstanten - Initialisieren von Klassenattributen, konstante Attribute - Rein lesende Methoden, ‚const’ nach Methodensignatur - Aufzählungstypen, -konstanten - Datenstrukturen mit ‚struct’ - Call by value, Call by pointer, Call by reference - Default-Parameter - Überladen von Operatoren - Vererbung, Konstruktoren bei der Vererbung - Friend Klasse, Sichtbarkeitsregeln - Mehrfachvererbung - Zugriffskontrolle bei Vererbung - Virtuelle Methoden, Polymorphie - Abstrakte Klassen - ‘const’ vor Parametern einer Funktion/Methode - ‚const’ vor dem Rückgabewert einer Funktion/Methode Emotional Computing 36,0 39,0 36,0 39,0 Linux 1 - Grundsätzliches/Einleitung: Geschichte, Was ist eigentliche Linux, Unterschiede Windows/Linux, Lizenzen, Distributionen, Support, Dokumentationskonzepte -Installation und erste praktische Erfahrungen: Knoppix, Suse oder eine andere Major-Distribution, KDE- und andere Oberflächen -Shell/Konsole: Shell und ihre Kommandos, Pipes Benutzer, Dateirechte, Prozesse, Bootprozess von Linux, Runlevels - Dateisystem: Dateitypen, Standardfilesystem (FHS), Logdateien - Netzwerk: Einleitung/Netzkonfiguration, Eatzgebiete von Linux im Netzwerk, Servertypen (inetd/standalone) ypische Server und wichtige Implementierung (ssh, mail, http, op3, imap, NIS, ldap, X11), Fehlersuche im Netzwerk, pratische Übungen für apache/nfs/samb, Sicherheit im Netzwerk -Verschiedenes: vmware und andere OS-Emulatoren, Echtzeitlinux, Linux auf embedded-Devices Programmierbare Logik 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 - Digitaltechnik:Automaten, Taktsynchrone Logik - Bausteine und deren Architektur zur Integration digitaler Systeme - Entwurfsschritte: Spezifikation, Kodierung, Simulation, Synthese, Fitting - Hardwarebeschreibungssprache VHDL - Werkzeuge, Entwicklungsumgebung - Vollständiger Entwurf einschließlich Dokumentation Agile Prozesse - Das agile Manifest - XP-Programming - Crystal Clear - Test Driven Development Spoken Language Processing -Einführung: Sprachverstehen und Spracherzeugung beim Menschen -Spracherkennung -Sprachkodierung -Sprachsynthese -Verfahren zur Verbesserung der Sprachqualität -Entwurf von Sprachdialogsystemen -Sprachübertragung in paketbasierten Netze Grundlagen Maschineller Lernverfahren - Einführung in das Maschinelle Lernen - Symbolische Lernverfahren - Grundlagen Neuronaler Netze - Probabilistische Lernmodelle - Entwurf und Implementierung ausgewählter Techniken für eine Anwendung Agentenbasierte Systeme 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 3 - Grundlagen von Agenten und Agentensystemen - Aufbau von Agenten und Agentensystemen - Kommunikation in Agentensystemen - Co-operatives Problemlösen - Grundlagen der Spieltheorie - Agenten im Software Engineering - Agentenframeworks - Ontologien - Mobile Agenten (u.a. Internetanwendung, Webcrawler etc.) - Einsatzgebiete von Agenten in eCommerce, Mensch-Maschine Schnittstellen, Virtuellen Umgebungen, Simulation sozialer Strukturen und Information Retrieval Anwendung von Agentensystemen - Entwurf und Implementierung interagierender Agenten für praktische Anwendungen unter Nutzung von Agentenframeworks Evolutionary Computing 36,0 39,0 36,0 39,0 - Historie und Grundprinzipien von Evolutionären Algorithmen - Grundprinzipien (Mutation, Rekombination, Mating-Pool-Auswahlverfahren, Fitness-Funktion, Generationenmodelle) - Anwendung genetischer Algorithmen auf einfache Probleme (Systemidentifikation, Optimierung und Simulation) - Anwendung auf komplexe Probleme der Informatik (NP) - Entwurf und Implementierung eines Evolutionären Algorithmus zur Lösung einer gegebenen Problemstellung. - Analyse und Auswertung der Arbeitsweise Evolutionärer Algorithmen. Ausgewählte Themen der Informatik Es werden ausgewählte Inhalte aus der Informatik, wie z.B. dem Web Enginnerin, Software Engieeing, Compilerbau, etc. vertieft behandelt. Advanced Project Management 36,0 39,0 -This Advanced Project Management (APM) Course is a process-oriented, practical Project Management course that focuses on the Application of Project Management to a real-life project. APM builds on the Project Management Institute’s Guide to the Project Management Body of Knowledge (PMBOK® Guide, 5th Edition) to provide a solid framework and context for managing projects. After successfull completion of the three PM-courses the student will… -have a solid knowledge of PM tools and techniques such as The triple constraint of project management, The project management knowledge areas and process groups (PMI®), Project Charter, Project Scope Document, Work Breakdown Structure, Project Schedule, Critical Path Analysis, Project Management Plan, Communication Matrix, Status Reports, Change Requests / Change Management, Risk Register, Jour Fixe. - Be familiar enough with Microsoft Project to help plan and manage projects - Differentiate good and bad project management through sharing his/her own experiences of good and bad project management - Be able to apply the knowledge and skills developed in this class to other settings (e.g. workplace) - Have tools and techniques ready to lead project teams effectively - Be acquainted with tools and techniques to monitor and control the scope and time of a project -Have practical experience in a project with a tangible result under real-life conditions, such as limited resources, time-pressure, changing scope, conducted in a team-setting Global- (IT) - World - Global Skills 36,0 39,0 - Introduction and Reflection – Global (IT) World - Working in Diverse Team - Intercultural Relations Skills - Effective Negotiations - Intercultural Conflict Resolution Ziel des Seminars ist es eine globale Perspektive zu entwickeln und den Bezug zur internationalen IT Welt zu verstehen. Dieses Seminar findet in englischer Sprache statt. Grundkenntnisse in Englisch werden vorausgesetzt. Mobile & Web Prototyping 36,0 39,0 Das Ziel dieser Wahlpflichtveranstaltung ist, die notwendigen Programmiersprachen, Technologien und Konzepte zu vermitteln, um in der Lage zu sein sehr schnell Mobile Anwendungen zu entwickeln. Dies umfasst sowohl die eigentliche App als auch den Server mit Datenbank (Backend). Für die Entwicklung der App wird werden Grundlagen der Programmiersprache Swift behandelt, sowie eine Einführung in iOS gegeben. Darauf aufbauend wird vorgestellt, wie man mit "Javascript" für mehrere mobile Plattformen entwickeln kann ("Apache Cordova"). Als Vorgehensmodell für das Entwickeln wird ebenfalls die Methodik "Design Thinking" präsentiert. Alle Inhalte werden abschließend als Labor/Projekt in Kombination angewendet und bewertet. Inhalte: • Grundlagen Swift • Grundlagen iOS • Grundlagen Javascript • Cross Plattform Technologie am Beispiel von Apache Cordova (Phonegap) • Grundlagen Node.js • Vorgehensweise: Design Thinking • Labor/Projekt: Entwicklung einer App (nativ oder cross plattform) mit Node.js Backend Cloud Computing 36,0 ,0 36,0 39,0 36,0 39,0 -Warum Cloud Computing? Einführung -Grundlagen des Cloud-Computing -Architekturen und Anbieter -Besonderheiten der Cloud -Software-Technologien für die Cloud -Strategien für die Migration in die Cloud -Realisierung der Cloud (Warehouse Scale Datacenter, WSC) -Trends Professional English Communication The course “Professional English Communication” focuses on different forms of communication in the academic and professional business environment. Communication includes listening, speaking, writing, and presenting in English language. This course will be held mostly in English language, and provides opportunities for experienced English speakers as well as students who want to work on their English skills starting from a basic level. Cross Plattform Web Development 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 4 - Grundlagen Javascript - Grundlagen Node.js - HTTP Server mit Express JS - MongoDB und Mongoose - Angular JS - Ionic Framework - Apache Cordova - Websockets und evtl. Wunschthemen Die Inhalte werden stets praktisch angewendet. So wird während der Vorlesung gemeinsam eine beispielhafte Anwendung entwickelt. Matlab/Simulink und Swift 2 für IOS 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 - Bedienung von Xcode 7 - Einführung Swift 2 - Grundlagen iOS-Programmierung (Auto-Layout, Model-View-Controller, Protokolle, Delegates, etc.) - Einführung Simulink - Simulink Code-Generierung am Beispiel Stateflow und Integration in iOS-Projekte Minimizing EMF Risk Betrachtungsweise der Physik elektromagnetischer Felder - Grundlagen - Elektrische Wechselfelder (Niederfrequenz, NF) - Magnetische Wechselfelder (NF) - Elektromagnetische Wellen (Hochfrequenz, HF) - Elektrisches und magnetisches Gleichfeld - Darstellung von Feldgrößen in Dezibel Feldmesstechnik aus baubiologischer Sicht - Diskussion der verschiedenen Messverfahren für die oben aufgelisteten Feldarten - Einführung in die NF- und HF- Messgeräte sowie in den Spektrumanalysator Messtechnik Labor I: Durchführung von Messungen niederfrequenter elektrischer und magnetischer Felder sowie hochfrequenter elektromagnetischer Felder - Einsatz und Übung der Handhabung der NF- und HF-Messgeräte - Durchführung von Messungen an speziell präparierten Messplätzen - Messprotokolle als Teil des Leistungsnachweises Maßnahmen zur Feldreduzierung in Gebäuden (speziell Schlafplätzen) - Niederfrequente elektrische Wechselfelder (Abschalten, Abkoppeln, Abschirmen) - Niederfrequente magnetische Wechselfelder (Netzsysteme, Schirmung, Oberschwingungen) - Hochfrequente elektromagnetische Wellen (großflächige Abschirmung, HFStörungen in der Elektroanlage) - Büro und Schlafplätze, Elektronik, Beleuchtung Messtechnik Labor II: Durchführung einer Schlafplatzmessung, Analyse des IST-Zustands sowie Ableitung und Umsetzung von Maßnahmen zur Feldreduzierung - NF- und HF-Messung eines präparierten Schlafplatzes - Ermittlung aller Feldquellen - Ableiten von Maßnahmen zur Minimierung der Felder - Erstellung eines Messprotokolls als zweiter Teil des Leistungsnachweises Diskussion der Auswirkungen elektromagnetischer Felder auf Mensch und Umwelt aus wissenschaftlicher und medizinischer Sicht - Historie der Entwicklung der Grenzwerte zum Schutz von Mensch und Umwelt - Vorstellung und Diskussion internationaler wissenschaftlicher Untersuchungen Microservices mit Docker und Node.js: Eine Praktische Einführung - Node.js: Einführung in die Programmiersprache, praktische Übungen, warum ideal geeignet für Microservices - Microservices: Konzepte, Vorteile, Design Prinzipien, Relation zu SOA - Design und Entwicklung einer komplexeren Anwendung bestehend aus mehreren Microservices - Docker: Konzepte, praktisches Arbeiten mit Docker, Deployment der Anwendung mit Docker - Zusammenfassung, weiterführende Diskussion: DevOps, Management, Monitoring, Sicherheit App-Entwicklung mit Swift - Überblick über mobile Betriebssysteme - Einführung in die Entwicklungsumgebung Xcode - iOS-Entwicklung mit Swift - Oberflächen-Entwicklung mit dem Interface Builder - Swift auf anderen Plattforme Internet of Things - Einführung in das Thema Internet of Things - Anwendungsgebiete - Technologien - Kommunikationsprotokolle - Sensorik und Datenerfassung - Plattformen Film and Special Effects 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 5 Die Vorlesung ist unterteilt in einen theoretischen und einen praktischen Teil. Im Theorieteil werden zunächst allgemeine Grundkenntnisse der modernen Filmproduktion vermittelt. Hierbei wird auch eingehend das Thema Postproduction (z.B. cut, color grading, audio, einfache und fortgeschrittene 2D special effects sowie die Arbeit mit diverser Software wie etwa Adobe Premiere pro oder Adobe After Effects, etc.) behandelt. In der Praxisphase wird ein kompletter Kurzfilm incl. diverser einfacher Special Effects produziert. Besonderheiten und Voraussetzungen Besonderheiten - Voraussetzungen - 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 6 Literatur -Learning Python, Mark Lutz, O´Reilly - oder alternative Literatur, passend zur Sprache - Thiemann, Peter, Grundlagen der funktionalen Programmierung, 1994 - Teubner-Pepper, Peter; Hofstedt, Petra, Funktionale Programmierung Sprachdesign und Programmiertechnik. 2006, Springer, Berlin - Smolka, Gert, Programmierung - eine Einführung in die Informatik mit Standard ML, 2008, Oldenbourg - Simon Peyton Jones [editor], Haskell 98 language and libraries, the revised report, December 2002, http://haskell.org/onlinereport - Bryan O Sullivan, Donald Bruce Stewart, and John Goerzen, Real World Haskell.O Reilly, 2009 - - Kofler,M : Linux 2011: Debiam Fedore, openSue, Ubuntu, Addison-Wesley, 2010 -Kofler, M: Linux- Kommandoreferenz, Addison-Wesley, 2010 - D.J. Barett, Torsten Wilhelm: Lunix kurz und gut, O'Reilly - Kent Beck: Extreme Programming - Alistair Cockburn: Agile Software-Entwicklung für kleine Teams, Mitp-Verlag 2005 - Andrew Hunt, David Thomas: Pragmatisch Programmieren: unit-Tests mit JUnit, Hanser Fachbuchverlag, 2005 - Kent Beck: Test Driven Development-by Example, Addison-Wesley, 2002 - Frank Westphal: Testfetriebene Entwicklung mit Junit & Fit. Wie software änderbar bleibt, D-Punkt verlag, 2005 -Fundamentals of Speech Recognition, Lawrence Richard Rabiner, PTR Prentice Hall, 1993, ISBN 0130151572 -Statistical Methods for Speech Recognition, Frederick Jelinek A Bradford Book, ISBN: 0262100665 -Speech and Audio Signal Processing: Processing and Perception of Speech and Music Ben Gold, Nelson Morgan, Dan Ellis, Wiley-Interscience; 2 edition (August 23, 2011), ISBN: 0470195363 -Speech and Language Processing (2nd Edition) [hardcover] D. Jurafsky, J. Martin, Publisher: Pearson Prentice Hall; 2 edition (May 26, 2008), ISBN-10: 0131873210 - Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage - Christoph Beierle,Gabriele Kern-Isberner, "Methoden Wissensbasierter Systeme - Grundlagen - Algorithmen - Anwendungen", Vieweg Verlag, aktuelle Auflage - Rüdiger Brause, "Neuronale Netze", B.G.Teubner Stuttgart, aktuelle Auflage - Ethem Alpaydin,"Introduction to Machine Learning", MIT Press, aktuelle Auflage - J. Russel, Peter Norvig, "Künstliche Intelligenz - Ein moderner Ansatz", Pearson Studium, aktuelle Auflage - M.Wouldridge,"An Introduction to Multi Agent Systems", John Wiley & Sons, aktuelle Auflage - Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage - A.E.Eiben, J.E.Smith, "Introduction to Evolutionary Computing", Springer Verlag, aktuelle Auflage aktuelle Literatur wird in der Vorlesung bekanntgegeben. -Information Technology Project Management – Sixth Edition, Schwalbe, Kathy. ISBN-13: 978-1111221751 -A guide to the Project Management Body of Knowledge (PMBOK® Guide) 5th Edition, (This is not the same as earlier editions. Get the FIFTH Edition only!), Project Management Institute, Inc, ISBN 13: 978-1935589679 -The Stanley Foundation. (1996). Educating for the global community: A framework for community colleges - The Swift Programming Language Swift Programming Series, https://swift.org/documentation/#the-swift-programming-language, Apple Inc. - iOS Programming (Big Nerd Ranch Guides), Pearson Education (Us); Auflage: 5 Rev ed. , ISBN: 978-0134390734 - Swift Programming: The Big Nerd Ranch Guide(Big Nerd Ranch Guides), Pearson Education (Us) ISBN: 978-0134398013 - Matlab - Simulink - Stateflow, Grundlagen, Toolboxen, Beispiele 8., aktualisierte Auflage De Gruyter Oldenbourg Verlag, München, 2014 ISBN: 978-3-486-85910-2 - Formale Angaben zum Modul Studiengang Studienrichtung Vertiefung Informatik Angewandte Informatik - Modulbezeichnung Sprache Nummer Version Modulverantwortlicher Wahlmodul Angewandte Informatik (STG Jahr 2) Deutsch T2INF4901 9 Prof. Friedemann Stockmayer 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 7 Verortung des Moduls im Studienverlauf Semester Voraussetzungen für die Teilnahme 4. Sem. Modulart Moduldauer Lokales Profilmodul 1 Eingesetzte Lehr- und Prüfungsformen Lehrformen Vorlesung, Vorlesung, Labor, Vorlesung, Übung, Vorlesung, Übung, Labor Lehrmethoden Laborarbeit, Lehrvortrag, Diskussion, Lehrvortrag, Diskussion, Fallstudien, Lehrvortrag, Diskussion, Gruppenarbeit Prüfungsleistung Benotung Prüfungsumfang (in min) Klausur Standardnoten 120 Workload und ECTS Workload insgesamt (in h) davon Präsenzzeit (in h) davon Selbststudium (in h) ECTS-Punkte 222,0 144,0 78,0 5 Sachkompetenz Im Rahmen eines vorgegebenen Auswahlkataloges besteht die Möglichkeit zur spezifischen Erweiterung oder Vertiefung des Curriculums Kommunikationsinformatik. Selbstkompetenz - Sozial-ethische Kompetenz - Qualifikationsziele und Kompetenzen 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 8 Lerneinheiten und Inhalte Lehr- und Lerneinheiten Präsenz Selbststudium Programmiertechniken für eingebettete Systeme ,0 ,0 - Definition von eingebetteten Systemen - Einführung; Wiederholung in C++ - Konzepte zur effizienten Programmierung in C++ - Speicherverwaltung und Allokationstechniken - Implementierung von Zustandsautomaten - Code wartbar schreiben - Umgang mit statischer Code-Analyse In dem praktisch ausgerichteten Teil der Vorlesung geht es um Datenübertragung, das Parsen und das Verarbeiten von Daten. Die Teilnehmenden lösen Aufgaben und diskutieren diese im Anschluss in der Gruppe. Als Werkzeuge dienen Linux mit g++ oder clang. Skriptsprachen 36,0 39,0 Skriptsprachen kommen vor allem für die prototypische Entwicklung in unterschiedlichen Bereichen zum Einsatz (z.B. Web-Anwendungen, Tools, Kommunikations- und Netz-Dienste). Im Rahmen dieser Unit wird eine Scriptsprache (z.B. Python) erlernt und praktisch geübt. - Funktion einer Scriptsprache: Beziehung Skript - Interpreter - Umgang mit numerischen Daten, Strings - Objekte und Operatoren - Charakteristische Datenstrukuren, Dictionaries, Listen, Tupel - Funktionen und Module - Grafische Benutzerschnittstellen Funktionale Programmierung 36,0 39,0 - Programmieren mit Funktionen - Rekursive Definitionen - Pattern Matching - Funktionen als Datenwerte - Funktionen höherer Ordnung - Die Funktionen map und fold - Das Konzept der Monaden Funktionale - Auswertungsstrategien: Strikte Auswertung (call-by-value), nicht strikte Auswertung (call-by-name), Lazy-Evaluation (call-by-need) - Überblick über unterschiedliche funktionale Sprache: sml, caml/ocaml, Haskell, Miranda, Lisp/Scheme, Lambda-Kalkül , Semantic Web 36,0 39,0 36,0 39,0 36,0 39,0 - Kurze Einfuehrung in Semantische Technologien - Die Idee von Linked Data - Das Resource Description Framework (RDF): Tripel und URLs - RDF Syntax: XML und TTL - Die Anfragesprache SPARQL - Semantik in RDF: RDF Schema (RDFS) und die Web Ontology Language (OWL) - Zusammenarbeit der einzelnen Komponenten: Der Semantic Web Layer Cake Assemblerprogrammierung - Prozessorfamilie 8051 -Entwicklungsumgebung µVision der Firma Keil in der Demo Version - Unbewertete Übungen : z. B. Serielle Schnittstelle, Analog Digital Umsetzer, - Bewerteter Programmentwurf : Bearbeitungszeitraum ca. 3 Wochen - Thema: wird noch bekanntgegeben C# /.Net 1 -Überblick über das .NET Framework: Die Entwicklungsumgebung VS2008 / SharpDevelop / Monodevelop, .NET Framework-Tools -Grundlagen der CLR: Reference Types vs. Value Types, Boxing und Unboxing, Schnittstellen und Generika, Events und Delegates, Ausnahmebehandlung, Automatische Speicherverwaltung -Ein- und Ausgabe: String-Handling und RegEx, Zugriff auf das Dateisystem, Streams (FileStream, MemoryStream, CompressionStreams, ...) -Listen (Queue, Stack, Dictionary, ...) -Serialisierung -Debugging von .NET-Applikationen: Debugger-Klasse / Trace-Klasse, Debugger-Attribute, Breakpoints - Oberflächenprogrammierung mit Windows Forms:.Kennenlernen grundlegender UI-Controls (z.B. Panels, Buttons, TextBox, Labels, ...),Dialogfenster (OpenFileDialog, SaveFileDialog, …) MDI vs. SDI, Asynchrones Programmieren mit dem BackgroundWorker-Control, Drag & Drop, Drucken, Lokalisierung / Globalisierung von Anwendungen Ausblick auf .NET 3.0/.NET 3.5, Windows Presentation Foundation C++ 15.05.2017 36,0 Modulbeschreibung für Bachelor Studiengänge an der DHBW 39,0 Seite 9 - Geschichtliche Einordnung der Sprache C++ - Entwicklungsgeschichte - Wesentliche Sprachmerkmale - Vor- und Nachteile der Sprache C++ - Unterschiede zur Sprache Java - Dateiorganisation in C++ , Modulkonzept, Header- und Implementierungsfile - Hauptprogramm, Programmeintrittspunkt - Ein- und Ausgabestream, Namespace - Übersetzen und Binden - Formatierte Ausgabe, Strings aus der Sprache C, ANSI/ISO Klasse ‚string’ - Präprozessor - Zeiger, Objektinstanzen - Konstruktor/Destruktor - void* Zeiger und NULL Zeiger - Initialisierungen in C++ - Kopieren von Objekten, flache Kopie, tiefe Kopie - Copy Konstruktor - Überladen des Assignment Operators - Symbolische Konstanten - Initialisieren von Klassenattributen, konstante Attribute - Rein lesende Methoden, ‚const’ nach Methodensignatur - Aufzählungstypen, -konstanten - Datenstrukturen mit ‚struct’ - Call by value, Call by pointer, Call by reference - Default-Parameter - Überladen von Operatoren - Vererbung, Konstruktoren bei der Vererbung - Friend Klasse, Sichtbarkeitsregeln - Mehrfachvererbung - Zugriffskontrolle bei Vererbung - Virtuelle Methoden, Polymorphie - Abstrakte Klassen - ‘const’ vor Parametern einer Funktion/Methode - ‚const’ vor dem Rückgabewert einer Funktion/Methode Emotional Computing 36,0 39,0 36,0 39,0 Linux 1 - Grundsätzliches/Einleitung: Geschichte, Was ist eigentliche Linux, Unterschiede Windows/Linux, Lizenzen, Distributionen, Support, Dokumentationskonzepte -Installation und erste praktische Erfahrungen: Knoppix, Suse oder eine andere Major-Distribution, KDE- und andere Oberflächen -Shell/Konsole: Shell und ihre Kommandos, Pipes Benutzer, Dateirechte, Prozesse, Bootprozess von Linux, Runlevels - Dateisystem: Dateitypen, Standardfilesystem (FHS), Logdateien - Netzwerk: Einleitung/Netzkonfiguration, Eatzgebiete von Linux im Netzwerk, Servertypen (inetd/standalone) ypische Server und wichtige Implementierung (ssh, mail, http, op3, imap, NIS, ldap, X11), Fehlersuche im Netzwerk, pratische Übungen für apache/nfs/samb, Sicherheit im Netzwerk -Verschiedenes: vmware und andere OS-Emulatoren, Echtzeitlinux, Linux auf embedded-Devices Programmierbare Logik 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 - Digitaltechnik:Automaten, Taktsynchrone Logik - Bausteine und deren Architektur zur Integration digitaler Systeme - Entwurfsschritte: Spezifikation, Kodierung, Simulation, Synthese, Fitting - Hardwarebeschreibungssprache VHDL - Werkzeuge, Entwicklungsumgebung - Vollständiger Entwurf einschließlich Dokumentation Agile Prozesse - Das agile Manifest - XP-Programming - Crystal Clear - Test Driven Development Spoken Language Processing -Einführung: Sprachverstehen und Spracherzeugung beim Menschen -Spracherkennung -Sprachkodierung -Sprachsynthese -Verfahren zur Verbesserung der Sprachqualität -Entwurf von Sprachdialogsystemen -Sprachübertragung in paketbasierten Netze Grundlagen Maschineller Lernverfahren - Einführung in das Maschinelle Lernen - Symbolische Lernverfahren - Grundlagen Neuronaler Netze - Probabilistische Lernmodelle - Entwurf und Implementierung ausgewählter Techniken für eine Anwendung Agentenbasierte Systeme 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 10 - Grundlagen von Agenten und Agentensystemen - Aufbau von Agenten und Agentensystemen - Kommunikation in Agentensystemen - Co-operatives Problemlösen - Grundlagen der Spieltheorie - Agenten im Software Engineering - Agentenframeworks - Ontologien - Mobile Agenten (u.a. Internetanwendung, Webcrawler etc.) - Einsatzgebiete von Agenten in eCommerce, Mensch-Maschine Schnittstellen, Virtuellen Umgebungen, Simulation sozialer Strukturen und Information Retrieval Anwendung von Agentensystemen - Entwurf und Implementierung interagierender Agenten für praktische Anwendungen unter Nutzung von Agentenframeworks Evolutionary Computing 36,0 39,0 36,0 39,0 - Historie und Grundprinzipien von Evolutionären Algorithmen - Grundprinzipien (Mutation, Rekombination, Mating-Pool-Auswahlverfahren, Fitness-Funktion, Generationenmodelle) - Anwendung genetischer Algorithmen auf einfache Probleme (Systemidentifikation, Optimierung und Simulation) - Anwendung auf komplexe Probleme der Informatik (NP) - Entwurf und Implementierung eines Evolutionären Algorithmus zur Lösung einer gegebenen Problemstellung. - Analyse und Auswertung der Arbeitsweise Evolutionärer Algorithmen. Ausgewählte Themen der Informatik Es werden ausgewählte Inhalte aus der Informatik, wie z.B. dem Web Enginnerin, Software Engieeing, Compilerbau, etc. vertieft behandelt. Advanced Project Management 36,0 39,0 -This Advanced Project Management (APM) Course is a process-oriented, practical Project Management course that focuses on the Application of Project Management to a real-life project. APM builds on the Project Management Institute’s Guide to the Project Management Body of Knowledge (PMBOK® Guide, 5th Edition) to provide a solid framework and context for managing projects. After successfull completion of the three PM-courses the student will… -have a solid knowledge of PM tools and techniques such as The triple constraint of project management, The project management knowledge areas and process groups (PMI®), Project Charter, Project Scope Document, Work Breakdown Structure, Project Schedule, Critical Path Analysis, Project Management Plan, Communication Matrix, Status Reports, Change Requests / Change Management, Risk Register, Jour Fixe. - Be familiar enough with Microsoft Project to help plan and manage projects - Differentiate good and bad project management through sharing his/her own experiences of good and bad project management - Be able to apply the knowledge and skills developed in this class to other settings (e.g. workplace) - Have tools and techniques ready to lead project teams effectively - Be acquainted with tools and techniques to monitor and control the scope and time of a project -Have practical experience in a project with a tangible result under real-life conditions, such as limited resources, time-pressure, changing scope, conducted in a team-setting Global- (IT) - World - Global Skills 36,0 39,0 - Introduction and Reflection – Global (IT) World - Working in Diverse Team - Intercultural Relations Skills - Effective Negotiations - Intercultural Conflict Resolution Ziel des Seminars ist es eine globale Perspektive zu entwickeln und den Bezug zur internationalen IT Welt zu verstehen. Dieses Seminar findet in englischer Sprache statt. Grundkenntnisse in Englisch werden vorausgesetzt. Mobile & Web Prototyping 36,0 39,0 Das Ziel dieser Wahlpflichtveranstaltung ist, die notwendigen Programmiersprachen, Technologien und Konzepte zu vermitteln, um in der Lage zu sein sehr schnell Mobile Anwendungen zu entwickeln. Dies umfasst sowohl die eigentliche App als auch den Server mit Datenbank (Backend). Für die Entwicklung der App wird werden Grundlagen der Programmiersprache Swift behandelt, sowie eine Einführung in iOS gegeben. Darauf aufbauend wird vorgestellt, wie man mit "Javascript" für mehrere mobile Plattformen entwickeln kann ("Apache Cordova"). Als Vorgehensmodell für das Entwickeln wird ebenfalls die Methodik "Design Thinking" präsentiert. Alle Inhalte werden abschließend als Labor/Projekt in Kombination angewendet und bewertet. Inhalte: • Grundlagen Swift • Grundlagen iOS • Grundlagen Javascript • Cross Plattform Technologie am Beispiel von Apache Cordova (Phonegap) • Grundlagen Node.js • Vorgehensweise: Design Thinking • Labor/Projekt: Entwicklung einer App (nativ oder cross plattform) mit Node.js Backend Cloud Computing 36,0 ,0 36,0 39,0 36,0 39,0 -Warum Cloud Computing? Einführung -Grundlagen des Cloud-Computing -Architekturen und Anbieter -Besonderheiten der Cloud -Software-Technologien für die Cloud -Strategien für die Migration in die Cloud -Realisierung der Cloud (Warehouse Scale Datacenter, WSC) -Trends Professional English Communication The course “Professional English Communication” focuses on different forms of communication in the academic and professional business environment. Communication includes listening, speaking, writing, and presenting in English language. This course will be held mostly in English language, and provides opportunities for experienced English speakers as well as students who want to work on their English skills starting from a basic level. Cross Plattform Web Development 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 11 - Grundlagen Javascript - Grundlagen Node.js - HTTP Server mit Express JS - MongoDB und Mongoose - Angular JS - Ionic Framework - Apache Cordova - Websockets und evtl. Wunschthemen Die Inhalte werden stets praktisch angewendet. So wird während der Vorlesung gemeinsam eine beispielhafte Anwendung entwickelt. Matlab/Simulink und Swift 2 für IOS 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 36,0 39,0 - Bedienung von Xcode 7 - Einführung Swift 2 - Grundlagen iOS-Programmierung (Auto-Layout, Model-View-Controller, Protokolle, Delegates, etc.) - Einführung Simulink - Simulink Code-Generierung am Beispiel Stateflow und Integration in iOS-Projekte Minimizing EMF Risk Betrachtungsweise der Physik elektromagnetischer Felder - Grundlagen - Elektrische Wechselfelder (Niederfrequenz, NF) - Magnetische Wechselfelder (NF) - Elektromagnetische Wellen (Hochfrequenz, HF) - Elektrisches und magnetisches Gleichfeld - Darstellung von Feldgrößen in Dezibel Feldmesstechnik aus baubiologischer Sicht - Diskussion der verschiedenen Messverfahren für die oben aufgelisteten Feldarten - Einführung in die NF- und HF- Messgeräte sowie in den Spektrumanalysator Messtechnik Labor I: Durchführung von Messungen niederfrequenter elektrischer und magnetischer Felder sowie hochfrequenter elektromagnetischer Felder - Einsatz und Übung der Handhabung der NF- und HF-Messgeräte - Durchführung von Messungen an speziell präparierten Messplätzen - Messprotokolle als Teil des Leistungsnachweises Maßnahmen zur Feldreduzierung in Gebäuden (speziell Schlafplätzen) - Niederfrequente elektrische Wechselfelder (Abschalten, Abkoppeln, Abschirmen) - Niederfrequente magnetische Wechselfelder (Netzsysteme, Schirmung, Oberschwingungen) - Hochfrequente elektromagnetische Wellen (großflächige Abschirmung, HFStörungen in der Elektroanlage) - Büro und Schlafplätze, Elektronik, Beleuchtung Messtechnik Labor II: Durchführung einer Schlafplatzmessung, Analyse des IST-Zustands sowie Ableitung und Umsetzung von Maßnahmen zur Feldreduzierung - NF- und HF-Messung eines präparierten Schlafplatzes - Ermittlung aller Feldquellen - Ableiten von Maßnahmen zur Minimierung der Felder - Erstellung eines Messprotokolls als zweiter Teil des Leistungsnachweises Diskussion der Auswirkungen elektromagnetischer Felder auf Mensch und Umwelt aus wissenschaftlicher und medizinischer Sicht - Historie der Entwicklung der Grenzwerte zum Schutz von Mensch und Umwelt - Vorstellung und Diskussion internationaler wissenschaftlicher Untersuchungen Microservices mit Docker und Node.js: Eine Praktische Einführung - Node.js: Einführung in die Programmiersprache, praktische Übungen, warum ideal geeignet für Microservices - Microservices: Konzepte, Vorteile, Design Prinzipien, Relation zu SOA - Design und Entwicklung einer komplexeren Anwendung bestehend aus mehreren Microservices - Docker: Konzepte, praktisches Arbeiten mit Docker, Deployment der Anwendung mit Docker - Zusammenfassung, weiterführende Diskussion: DevOps, Management, Monitoring, Sicherheit App-Entwicklung mit Swift - Überblick über mobile Betriebssysteme - Einführung in die Entwicklungsumgebung Xcode - iOS-Entwicklung mit Swift - Oberflächen-Entwicklung mit dem Interface Builder - Swift auf anderen Plattforme Internet of Things - Einführung in das Thema Internet of Things - Anwendungsgebiete - Technologien - Kommunikationsprotokolle - Sensorik und Datenerfassung - Plattformen Film and Special Effects 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 12 Die Vorlesung ist unterteilt in einen theoretischen und einen praktischen Teil. Im Theorieteil werden zunächst allgemeine Grundkenntnisse der modernen Filmproduktion vermittelt. Hierbei wird auch eingehend das Thema Postproduction (z.B. cut, color grading, audio, einfache und fortgeschrittene 2D special effects sowie die Arbeit mit diverser Software wie etwa Adobe Premiere pro oder Adobe After Effects, etc.) behandelt. In der Praxisphase wird ein kompletter Kurzfilm incl. diverser einfacher Special Effects produziert. Besonderheiten und Voraussetzungen Besonderheiten - Voraussetzungen - 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 13 Literatur -Learning Python, Mark Lutz, O´Reilly - oder alternative Literatur, passend zur Sprache - Thiemann, Peter, Grundlagen der funktionalen Programmierung, 1994 - Teubner-Pepper, Peter; Hofstedt, Petra, Funktionale Programmierung Sprachdesign und Programmiertechnik. 2006, Springer, Berlin - Smolka, Gert, Programmierung - eine Einführung in die Informatik mit Standard ML, 2008, Oldenbourg - Simon Peyton Jones [editor], Haskell 98 language and libraries, the revised report, December 2002, http://haskell.org/onlinereport - Bryan O Sullivan, Donald Bruce Stewart, and John Goerzen, Real World Haskell.O Reilly, 2009 - - Kofler,M : Linux 2011: Debiam Fedore, openSue, Ubuntu, Addison-Wesley, 2010 -Kofler, M: Linux- Kommandoreferenz, Addison-Wesley, 2010 - D.J. Barett, Torsten Wilhelm: Lunix kurz und gut, O'Reilly - Kent Beck: Extreme Programming - Alistair Cockburn: Agile Software-Entwicklung für kleine Teams, Mitp-Verlag 2005 - Andrew Hunt, David Thomas: Pragmatisch Programmieren: unit-Tests mit JUnit, Hanser Fachbuchverlag, 2005 - Kent Beck: Test Driven Development-by Example, Addison-Wesley, 2002 - Frank Westphal: Testfetriebene Entwicklung mit Junit & Fit. Wie software änderbar bleibt, D-Punkt verlag, 2005 -Fundamentals of Speech Recognition, Lawrence Richard Rabiner, PTR Prentice Hall, 1993, ISBN 0130151572 -Statistical Methods for Speech Recognition, Frederick Jelinek A Bradford Book, ISBN: 0262100665 -Speech and Audio Signal Processing: Processing and Perception of Speech and Music Ben Gold, Nelson Morgan, Dan Ellis, Wiley-Interscience; 2 edition (August 23, 2011), ISBN: 0470195363 -Speech and Language Processing (2nd Edition) [hardcover] D. Jurafsky, J. Martin, Publisher: Pearson Prentice Hall; 2 edition (May 26, 2008), ISBN-10: 0131873210 - Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage - Christoph Beierle,Gabriele Kern-Isberner, "Methoden Wissensbasierter Systeme - Grundlagen - Algorithmen - Anwendungen", Vieweg Verlag, aktuelle Auflage - Rüdiger Brause, "Neuronale Netze", B.G.Teubner Stuttgart, aktuelle Auflage - Ethem Alpaydin,"Introduction to Machine Learning", MIT Press, aktuelle Auflage - J. Russel, Peter Norvig, "Künstliche Intelligenz - Ein moderner Ansatz", Pearson Studium, aktuelle Auflage - M.Wouldridge,"An Introduction to Multi Agent Systems", John Wiley & Sons, aktuelle Auflage - Toshinori Munakata,"Fundamentals of the new Artificial Intelligence", Springer Verlag, aktuelle Auflage - A.E.Eiben, J.E.Smith, "Introduction to Evolutionary Computing", Springer Verlag, aktuelle Auflage aktuelle Literatur wird in der Vorlesung bekanntgegeben. -Information Technology Project Management – Sixth Edition, Schwalbe, Kathy. ISBN-13: 978-1111221751 -A guide to the Project Management Body of Knowledge (PMBOK® Guide) 5th Edition, (This is not the same as earlier editions. Get the FIFTH Edition only!), Project Management Institute, Inc, ISBN 13: 978-1935589679 -The Stanley Foundation. (1996). Educating for the global community: A framework for community colleges - The Swift Programming Language Swift Programming Series, https://swift.org/documentation/#the-swift-programming-language, Apple Inc. - iOS Programming (Big Nerd Ranch Guides), Pearson Education (Us); Auflage: 5 Rev ed. , ISBN: 978-0134390734 - Swift Programming: The Big Nerd Ranch Guide(Big Nerd Ranch Guides), Pearson Education (Us) ISBN: 978-0134398013 - Matlab - Simulink - Stateflow, Grundlagen, Toolboxen, Beispiele 8., aktualisierte Auflage De Gruyter Oldenbourg Verlag, München, 2014 ISBN: 978-3-486-85910-2 - 15.05.2017 Modulbeschreibung für Bachelor Studiengänge an der DHBW Seite 14