TESTSHIB vhb-Kursprogramm
Navigationsbereich
Kursdetails
- Anbieterhochschule
- FH Regensburg
- Kurs-ID
- LV_318_829_1_61_1
- Fächergruppe
- Informatik
- Teilgebiet
- Angewandte Informatik
- Titel (englisch)
- Bemerkungen
- -
- Kursanmeldung
- 01.03.2015 00:00 Uhr bis 14.04.2015 23:59 Uhr
- Kursabmeldung
- 01.03.2015 00:00 Uhr bis 14.04.2015 23:59 Uhr
- Kursbearbeitung / Kurslaufzeit
- 15.03.2015 bis 03.07.2015
- Bereitstellung der Kursinhalte
- -
- Freie Plätze
- Anmeldefrist abgelaufen
- Anbieter
Prof. Dr. Jürgen Mottok
Prof. Dr. Peter Jüttner
Prof. Dr. Reimer Studt
Prof. Dr. Michael Niemetz
- Umfang
- Details zur Anrechnung in den FAQs
- SWS
- 2
- ECTS
- -
- Sprache
- Deutsch
- Kurs ist konzipiert für
- Bachelor Elektro- und Informationstechnik Bachelor Mechatronik Bachelor Regenerative Energien und Energieeffizienz Angewandte Informatik Berufsbegleitender Bachelor Wirtschaftsingenieurwesen (HAW Landshut)
- Online Prüfungsanmeldung
- Nein
Programmieren in C
Praktikum
Anmeldung: Anmeldung nicht möglich - Anmeldefrist beachten
Inhalt
Abstract:
Das Praktikum "Programmieren in C" ist an den Hochschulen Deggendorf, Landshut und Regensburg in den jeweiligen Modulhandbüchern bezüglich der Lernziele beschrieben, es kann aber auch von Studierenden anderer Hochschulen genutzt werden.
Die Lernenden sollen die Fähigkeit entwickeln C-Programme zu entwerfen, Algorithmen zu entwickeln bzw. anzuwenden und eine geeignete Verifikation ihrer selbst entwickelten C-Programme durchführen (Fachkompetenz).
Dieser Kurs soll nicht bloß Wissen in der Programmiersprache C vermitteln, sondern auch beim Aufbau der Kompetenzen der Lernenden helfen. In selbstorganisierten Lerneinheiten (siehe im Folgenden die fachdidaktischen Ansätze des vorgeschlagenen Kursangebotes und Nutzung spezieller e-Learning Lernmethoden) entsteht ein Lernarrangement, das Anwendungs-, Methoden-, Sozial- und Selbstkompetenz auch aufbauen hilft.
Das Praktikum "Programmieren in C" ist in vier Sichten strukturiert:
- Bayerische Sicht (Standard)
- Deggendorfer Sicht
- Landshuter Sicht
- Regensburger Sicht
Gliederung:
Inhaltestruktur im systemischen Top-Down-Ansatz:
Die Inhaltestruktur ist im Wesentlichen in Fallstudien (Exemplarisches Lernen an C-Programmen und Algorithmen) sowie einer folgenden Vertiefung zur umfassenden Darstellung von Sprachkonzepten der Programmiersprache C bzw. der vorgestellten Algorithmen dargestellt. Damit stellt sich der gewählte systemische Top-Down-Ansatz als ein Wechselspiel von Fallstudien und dazugehörigen Vertiefungen dar. Die Übungen des Praktikums erfolgen im Kontext der Fallstudien.
1. Einführung in die Informatik
2. Einfache Datentypen in Anwendung
3. Vertiefung Datentypen
4. Einfache (und rekursive) Funktionen in Anwendung
5. Vertiefung Funktionen (inkl. Funktionszeiger)
6. Operatoren (Konzepte: Unär/binar/ternär; Wert und Seiteneffekt; Prioritäten)
7. Spezielle Algorithmen: Zahlendarstellung
8. Spezielle Algorithmen: Automaten
9. Spezielle Algorithmen: Sortieren
10. Spezielle Algorithmen: Suchen
11. Spezielle Algorithmen: Zufallszahlen
12. Spezielle Algorithmen: Monte-Carlo Algorithmen
13. Spezielle Algorithmen: Simulationen
14. Kontrollstrukturen
15. Zeiger (Pointer)
16. Felder (Arrays)
17. Zahlendarstellung und Rechnen in Zahlensystemen
18. Komplexität von Algorithmen
19. Benutzerdefinierte Datentypen
20. Vertiefung Benutzerdefinierte Datentypen (Indirektionen / Strukturen / Bitfelder / Arrays)
21. Klassische Datenstrukturen der Informatik
22. Klassische Datenstrukturen der Informatik: Listen
23. Klassische Datenstrukturen der Informatik: Queues
24. Klassische Datenstrukturen der Informatik: Bäume
25. Hardwarenahe Programmierung
26. Vertiefung Hardwarenahe Programmierung
27. Geometrische Algorithmen
28. Numerische Mathematik: Matrix-Inversion
29. Numerische Mathematik: Nullstellen-Iterationen
30. Numerische Mathematik: Integrationsverfahren
31. Numerische Stabilität
32. Wahrscheinlichkeitsrechnung
33. Verteilungsfunktionen
34. Objektorientierung in C Practical State Chart Modeling
35. Vertiefung Objektorientierung in C
36. Eingabe und Ausgabe (I/O) in C
Die Nomenklatur der Aufgaben richtet sich nach dem jeweiligen Projektpartner (Regensburg=R, Landshut=L, Deggendorf=D) und setzt sich folgendermaßen zusammen:
KapitelNummer-Kategorie-Hochschulkennbuchstabe-LaufendeNummer-ThemaSchlagwort
Detaillierter Inhalt:
Anfang der neunzehnhundertsiebziger Jahre entstand C im Umfeld des Betriebssystems Unix an den AT&T Bell Laboratories unter Federführung von Dennis Ritchie. Wichtige Ideen stammen aus der Sprache BCPL, die von M. Richards entwickelt wurde. Unmittelbarer Vorgänger von C ist das von K. Thompson 1970 im Zusammenhang mit der Unix-Entwicklung entstandene B.
Bekannt wurde C vor allem im Zusammenhang mit dem Ende der neunzehnhundertsiebziger Jahre freigegebenen Betriebssystem Unix, Version 7, und dem 1978 erschienenen Buch "The C Programming Language" von Kernighan und Ritchie bzw. durch den Report Programming in C: A Tutorial von Kernighan.
Im Gegensatz zu den ersten höheren Programmiersprachen wie FORTRAN, ALGOL 60 (wissenschaftlich-technische Berechnungen) und COBOL (kommerzielle Anwendungen) ist C "universell" einsetzbar. Gegenüber in den sechziger Jahren entstandenen Universalsprachen wie PL/I oder ALGOL 68, die letztendlich an ihrer Komplexität scheiterten, besitzt C bei Verwendung einer Coding-Guideline einen beherrschbaren Sprachumfang.
C zählt zu den Programmiersprachen der 3. Generation (problemorientierte imperative Sprachen). Im Unterschied dazu sind die Assemblersprachen der 2.Generation und die Maschinensprachen der 1.Generation zugeordnet.
Mitunter wird C etwas grob vereinfachend als eine Kreuzung von Pascal und Assembler bezeichnet:
- C unterstützt in ähnlichem Umfang wie Pascal strukturiertes Programmieren durch die grundlegenden Strukturelemente Übersetzungseinheiten (Dateien), Funktionen und Schleifen.
- Die Syntax von C und Pascal folgt - bei unterschiedlicher Ausprägung - teilweise gleichen Grundideen. (Diese gehen auf die gemeinsame Vorgängersprache ALGOL 60 zurück. Beeinflusst hat beide Sprachen auch die Diskussion um ALGOL 68.)
- C bietet eine sehr schlanke Abstraktionsschicht gegenüber Assembler und gestattet damit sehr performante und speicherplatzoptimierte Programme, ohne den Programmierer mit Prozessordetails wie Adressierungsarten oder Prozessorbefehlssatz zu
- Überwachungs- und Kontrollfunktionen wie etwa zur Einhaltung der Grenzen von Datentypen oder Speicherbereichen fehlen in der C-Laufzeitumgebung völlig und müssen entweder manuell implementiert oder über Zusatzbibliotheken ergänzt werden. Dies erfordert in sicherheitskritischen Anwendungen flankierende Maßnahmen wie Codierungsrichtlinien und Codeanalysewerkzeuge.
- Abgesehen von Übersetzungseinheiten (Dateien), Funktionen, Schleifen und Mehrfachverzweigungen bietet C keinerlei höhere Strukturelemente. Insbesondere fehlen objektorientierte Ansätze
Die dieser großen Verbreitung zugrunde liegende extrem hohe Flexibilität für den Programmierer, macht jedoch die Programmentwicklung in C zu einem sehr komplexen Thema.
C lässt bewusst Spielraum zwischen zwei Polen:
- Entwicklung hochportabler Programme: Beschränkung auf das vom Sprachstandard garantierte Verhalten ohne den Einsatz compilerspezifischer Erweiterungen und Modifikationen sowie intensiver Einsatz der Möglichkeiten zur strukturierten Programmierung
- Einsatz als "höherer Assembler", d.h. Entwicklung maschinennaher, nicht portabler Programme: Verwendung von Compilererweiterungen zur Steuerung des Übersetzungsvorgangs, Aufbau eigener Datenstrukturen durch direkte Speichermanipulation, Sprünge sowie der Nutzung der Seiteneffekte durch die Speicherrepräsentation der Datentypen.
Lern-/Qualifikationsziele:
-
Lehrveranstaltungstyp:
Kurs
Interaktionsformen mit Betreuer/in:
E-Mail, Übungsaufgaben, Übungsaufgaben für Selbstlernbetrieb, Kooperation Lerner/Betreuer bei der Aufgabenbearbeitung
Interaktionsformen mit Mitlernenden:
Foren, Gemeinsame Aufgabenbearbeitung, E-Mail
Kursdemo:
Nutzung
Kurs ist konzipiert für:
Bachelor Elektro- und Informationstechnik
Bachelor Mechatronik
Bachelor Regenerative Energien und Energieeffizienz
Angewandte Informatik
Berufsbegleitender Bachelor Wirtschaftsingenieurwesen (HAW Landshut)
Formale Voraussetzungen:
keine
Erforderliche Vorkenntnisse:
Grundkenntnisse in objektorientierter Programmierung
Hinweise zur Nutzung:
Das Praktikum "Programmieren in C" stellt 4 Sichten bereit:
+ Bayerische Sicht (Standard)
+ Deggendorfer Sicht
+ Landshuter Sicht
+ Regensburger Sicht
Kursumsetzung (verwendete Medien):
-
Erforderliche Technik:
-
Nutzungsentgelte:
für andere Personen als (reguläre) Studenten der vhb Trägerhochschulen nach Maßgabe der Benutzungs- und Entgeltordnung der vhb
Rechte hinsichtlich des Kursmaterials:
-
Verantwortlich
Anbieterhochschule:
FH Regensburg
Anbieter:
Autoren:
Michael Niemetz
Peter Jüttner
Reimer Studt
Jürgen Mottok
Betreuer:
Prüfung
Praktikum in C
Art der Prüfung:
schriftlicher Leistungsnachweis (Klausur)
Bemerkung:
Die Prüfung erfolgt im letzten Drittel des Semesters für alle Teilnehmer.
Prüfer:
Prof. Dr. Jürgen Mottok
Prüfungsanmeldung erforderlich:
ja
Anmeldeverfahren:
Informationen beim Kursanbieter/-betreuer
Prüfungsanmeldefrist:
15.05.2015 00:00 Uhr bis 19.06.2015 23:59 Uhr
Prüfungsabmeldefrist:
15.05.2015 00:00 Uhr bis 19.06.2015 23:59 Uhr
Kapazität:
425
Prüfungsdatum:
Nach Absprache mit dem Prüfer
Prüfungsdauer:
60 Minuten
Prüfungsort:
Die Prüfung erfolgt in der E-Learningplattform moodle.
Zuständiges Prüfungsamt:
Heimathochschule
Zugelassene Hilfsmittel:
Lehrbücher der Programmierung
Formale Voraussetzungen für die Prüfungsteilnahme:
Teilnahme am vhb-Kurs
Inhaltliche Voraussetzungen für die Prüfungsteilnahme:
Grundlagenkenntnisse aus Programmier-Vorlesungen
Zertifikat:
Ja (Benoteter/bewerteter Schein)
Anerkennung:
–
Kursverwaltung
Kursprogramm SS15
- Einstiegskurse
- Gesundheitswissenschaften
- Informatik
- Ingenieurwissenschaften
- Kulturwissenschaften
- Lehramt
- Medizin
- Allgemeinmedizin
- Anatomie
- Arbeits- und Umweltmedizin/ Hygiene
- Augenheilkunde
- Biochemie
- Chirurgie
- Dermatologie
- Einführung in die Klinische Medizin
- Epidemiologie
- Infektiologie
- Innere Medizin
- Kinderheilkunde
- Mund-, Kiefer- und Gesichtschirurgie
- Neurologie
- Onkologie
- Pathologie
- Pharmakologie und Toxikologie
- Psychiatrie und Psychotherapie
- Radiologie und Strahlenschutz
- Terminologie
- Tiermedizin
- Zahn-, Mund- und Kieferheilkunde
- Naturwissenschaften
- Rechtswissenschaft
- Schlüsselqualifikationen (TESTDB11)
- Soziale Arbeit
- Sozialwissenschaften
- Sprachen
- Wirtschaftsinformatik
- Wirtschaftswissenschaften