• Keine Ergebnisse gefunden

Modultitel Basismodul Grundlagen der Informatik I

N/A
N/A
Protected

Academic year: 2022

Aktie "Modultitel Basismodul Grundlagen der Informatik I"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Modultitel Basismodul Grundlagen der Informatik I

Pflichtmodul

Arbeitsaufwand Leistungs- punkte

Studiensemester (empfohlen)

Häufigkeit des Angebots

Dauer (empfohlen) Kontakt

zeiten 60 h

Selbst- studium

120 h 6 1. Semester jedes

Wintersemester 1 Semester Summe 180 h

Arbeitsaufwand/

Leistungspunkte

Lehrveranstaltungen Kontaktzeiten Selbststudium Vorlesung Grundlagen der

Programmierung I 30 h 60 h

Übung zu Grundlagen der

Programmierung I 30 h 60 h

--- --- ---

Qualifikationsziele / Kompetenzen

1.) Fachkompetenzen:

Die Studierenden

- können den Gegenstand der Wissenschaft Informatik beschreiben, die Entwicklung Informatik skizzieren und Teilgebiete der Informatik angeben.

- können den Begriff des Algorithmus definieren, Merkmale von Algorithmen nennen, wesentliche Schritte der Algorithmenentwicklung beschreiben, den sprachlichen Aufbau von Algorithmen beschreiben und einfache Algorithmen in einer halbformalen Notation erstellen.

- wissen um die Grenzen der Algorithmisierung, können den Begriff Berechenbarkeit definieren, nicht-berechenbare Funktionen angeben, einfache Funktionen mithilfe von Diagonalisierung auf Berechenbarkeit überprüfen und die Aussage der Churchschen These erläutern.

- können Algorithmen und Programme unterscheiden, einfache Algorithmen in Programme funktionaler und imperativer Notation umsetzen und dabei die Präzisierungsansätze erläutern.

- können den Begriff des Modells und den Stellenwert der Modellbildung im informatischen Entwicklungsprozess erläutern, ferner unterschiedliche Modelltypen angeben.

- können den Zweck einer Spezifikation erläutern und funktionale Spezifikationen zu einfachen Problemen angeben.

- können den Begriff des Datentyps definieren, den Zweck von Datentypen im infomatischen Modellbildungsprozess erläutern, elementare Datentypen mit zugrunde liegenden Mengen und Operationen angeben, Datentypkonstruktoren mit ihren mathematischen Konzepten beschreiben und wichtige Datenstrukturen in Programmiersprachen (z.B. Sequenz, Baum, File) definieren.

- kennen die Grundprinzipien funktionaler Programmierung, darunter die Begriffe Rechenvorschrift, Funktional, Currying, Rekursion, Polymorphie und können kleinere funktionale Programme schreiben..

- können den Zusammenhang von Syntax und Semantik bei Programmiersprachen erklären, Sprachen mithilfe von Syntaxdiagrammen oder Grammatiken in Backus-Naur- Form definieren und das Prinzip von denotationalen Semantikdefinitionen erläutern.

2.) Methodenkompetenzen Die Studierenden

- können zu vorgegebenen einfachen Problemstellungen alle Phasen der Programmentwicklung durchführen, also Spezifikation, Algorithmenentwicklung, Präzisierung von Daten und Abläufen, Programmierung in imperativer und funktionaler Darstellung.

- können einfache funktionale Programme hinsichtlich ihrer Korrektheit mit formalen oder halbformalen Methoden beurteilen.

- können vorgegebene Programme oder Algorithmen im Hinblick auf die berechnete Funktion analysieren.

- verinnerlichen das Wesen informatischer Modellbildung und den fortwährenden Zwang zur Präzisierung aller Phasen und der jeweiligen Zwischenergebnisse.

(2)

3.) Handlungskompetenzen (gesellschaftsrelevante und strategische Kompetenzen) Die Studierenden

- können bearbeitete Aufgaben präsentieren und gegen kritische Einwände verteidigen.

- trauen sich, auch erfolglose Lösungsansätze zu präsentieren, und sind in der Lage, präzise zu beschreiben, an welcher Stelle welche scheinbar unüberwindbaren Hindernisse bestehen.

- bedienen sich zur Lösung von Problemen ausgewählter Literatur in verständiger Weise.

- können zu Themen der Vorlesung präzise Fragen stellen.

Inhalte

Einführung in die Informatik

o Begriffsdefinition, Teilgebiete, Geschichte, Einordnung in den Wissenschaftskanon

Vom Problem zum Algorithmus

o Naive Entwicklung eines Algorithmus, Merkmale von Algorithmen, Sprachmittel für die Darstellung von Algorithmen, Konstruktoren

Grenzen der Algorithmisierung

o Abzählbarkeit, nicht-berechenbare Funktionen, Selbstanwendungs- /Halteproblem, Churchsche These

Vom Algorithmus zum Programm

o Zwang zur Präzisierung von Algorithmen, Präzisierung von Daten und Anweisungen, Entwicklung einer (imperativen) Programmiersprache

Vom Programm zum Computer

o Von-Neumann-Rechner, Maschinen- und Assemblersprachen, Ebenenmodell der Rechnerarchitektur, Übersetzer, Interpreter

Fundamentale Ideen der Informatik

o Teilgebietsübergreifende typische Denkweisen und Methoden der Informatik

Informatische Modellbildung

o Begriff des Modells, Modelltypen, Informatik als Wissenschaft ausführbarer Modelle

Funktionale Spezifikation

o Präzisierung von Problemen

Präzisierung von Daten

o elementare Datentypen, Konstruktoren, wichtige Datentypen (File, Baum)

Funktionale Programmierung

o Funktionen als Objekte, Funktionale, Currying, Rechenvorschriften, Sprachelemente für Funktionen, Substitutionsregeln, Rekursion, Polymorphie

Grundlagen der Programmiersprachen

o Syntaxdefinitionen mittels Syntaxdiagrammen, Backus-Naur-Form, Semantikdefinitionen mittels denotationaler Ansätze, Semantik rekursiver Funktionen, Fixpunkte

Schlüssel- kompetenzen

Techniken zur Literaturrecherche, Selbständige Erschließung wissenschaftlicher Literatur, Wissenschaftliche Denk- und Arbeitsweise, Anwendung mathematischer Methoden, Umgang mit Programmiersprachen, Präsentation wissenschaftlicher Sachverhalte im Umfang von 30 h

Teilnahme- voraussetzungen

keine

(3)

Prüfungs-

leistungen Klausur (120-180 min) Leistungspunkte

und Notenvergabe Klausurnote (100%) Verwendung des

Moduls (in anderen Studiengängen)

??????????????

Modul-

beauftragte/r Lehrstuhl für Didaktik der Informatik Bemerkungen keine

Termin

Modulprüfung in der Regel Anfang März 2. Termin

Modulprüfung in der Regel Ende März Termin Praktikum /

Exkursion ---

Referenzen

ÄHNLICHE DOKUMENTE

 Von Datenabstraktion spricht man, wenn Datentypen mit den auf sie anwendbaren Operationen so gekapselt sind, daß außen nur die in der Beschreibung ihrer Schnittstelle

 kommt nicht auf die interne Darstellung / Struktur der Daten an, sondern auf die Operationen, die mit den Daten durchgeführt werden können..  Wie beschreibt man die Operationen,

Deshalb muss man mehrere Texte zusammenfügen (das geschieht mit dem +) und aus der Zahl muss man eine Zeichenkette generieren (und das geschieht mit dem Befehl str).. Unterscheide

I Einkaufswagen implementiert Funktionen artikel und menge, die auch aus Posten importiert werden:. import Posten hiding (artikel, menge) import qualified Posten as P(artikel,

Ein abstrakter Datentyp (ADT) besteht aus einem (oder mehreren) Typen und Operationen darauf, mit folgenden Eigenschaften:. I Werte des Typen können nur über die

I Funktionen höherer Ordnung II und Effizenzaspekte I Teil II: Funktionale Programmierung im Großen I Teil III: Funktionale Programmierung im richtigen Leben. PI3 WS 16/17

Praktische Informatik 3: Funktionale Programmierung Vorlesung 3 vom 28.10.2014: Rekursive Datentypen.. Christoph Lüth Universität Bremen

Erstelle ein cell array von 5 Funktionshandles (Hinweis: erstelle die Funktionshandles ent- weder mit anonymen Funktionen oder als Handle auf eine vorhandene Funktion), sowie ein