Informatik

Konzeption des Faches Informatik
Bedeutung der Informatik
Die Durchdringung der Welt des 21. Jahrhunderts durch Informations- und Kommunikationstechniken betrifft nahezu alle gesellschaftlichen Bereiche. Eine Fülle beruflicher Aktivitäten und Prozesse wird durch die Informatik unterstützt bzw. mit Computerbeteiligung vollzogen. Informatiksysteme sind in der Lage, große Datenmengen in relativ knapper Zeit zu verarbeiten und eine globale Kommunikation herzustellen.
Informatik und Informatiksystem
Das Fach Informatik als Wissenschafts- und Technologiedisziplin zielt ab auf Entwurf und Gestaltung von Informatiksystemen. Dabei bezeichnet ein Informatiksystem die spezifische Zusammenstellung von Hardware, Software und Netzverbindungen zur Lösung eines Anwendungsproblems. Informatik bezieht sich auf die Erfassung, Verarbeitung, Verwendung, Sicherung und Übertragung von Informationen. Die Informatik basiert auf Mathematik, Physik und Elektrotechnik/Nachrichtentechnik. Informatik zielt darauf ab, mathematisch begründete logische Maschinen ingenieurwissenschaftlich gestützt zu konzipieren und zu realisieren. Diese Maschinen dienen dazu, Daten zu erfassen und mit Algorithmen automatisch zu verarbeiten.
Sachgebiete und ausgewählte Themenbereiche der Informatik
Informatik wird in Teildisziplinen untergliedert, die einzelne Aufgaben der Informatik wahrnehmen.
Die theoretische Informatik kann als Basis der weiteren Informatik-Teildisziplinen betrachtet werden und ist stark mathematisch geprägt. Die Entwicklung und Strukturierung von Automaten und formalen Sprachen sind Gegenstände der theoretischen Informatik. Im Vordergrund der Betrachtung stehen die Effizienz und die mathematische
In der technischen Informatik wird der funktionale Aufbau von Computern und Geräten behandelt. Darüber hinaus wird die Kommunikation zwischen Rechneranlagen, der Aufbau lokaler und globaler Netzwerke und deren Funktionalität thematisiert.
In der praktischen Informatik wird objektorientierte Anwendungsentwicklung von Informatiksystemen und Applikationen wird thematisiert. Im Rahmen des Software Engineering wird ein professionell gestützter Entwicklungsprozess von der konkreten Problemstellung bis hin zum fertigen Informatiksystem durchgeführt. Somit werden komplexe Softwareprojekte konzeptionell und arbeitsteilig bewältigt, so dass im Rahmen einer systematischen Vorgehensweise definierte Phasen durchlaufen werden. Die praktische Informatik stellt Werkzeuge zur Softwareentwicklung bereit, Algorithmen werden entwickelt und mit Programmiersprachen umgesetzt. Ein weiteres wesentliches Gebiet der praktischen Informatik stellen Datenbanksysteme dar, die Geschäftsprozesse
unterstützen und als Basis unternehmerischer oder institutioneller Entscheidungen
dienen.
Algorithmen und Sprachen
Ausgehend von der Analyse und Modellierung von Informatiksystemen ist das algorithmische Problemlösen ein zentraler Bestandteil der Informatik. Die Übertragung des Modells in eine formalisierte Sprache fördert exaktes Denken. Zudem werden von den Schülerinnen und Schülern ein kritisches Hinterfragen der gefundenen Lösungen und deren mathematisch fundierte Bewertung verlangt.
Kooperative Arbeitsformen und berufspraktische Vorgehensweise
Projektorientierter Unterricht im Rahmen der Entwicklung von Informatiksystemen,
auch aus beruflichen Domänen, verlangt Informationsaustausch und Kooperation.
Diese Unterrichtsform des Informatikunterrichtes schult die Teamfähigkeit in der
Lerngruppe und das Zusammenwirken der beteiligten Teams. Informatikbezogene
komplexe Problemstellungen werden zunächst in sinnvolle Teilschritte untergliedert, verlässlich, gültig und wiederholbar gestaltet. Im Rahmen vorgegebener Ressourcen und unter Berücksichtigung ökonomischer Rahmenbedingungen werden Informatiksysteme entwickelt. Der Erwerb der berufspraktischen Kenntnisse ist handlungsorientiert und schülergesteuert. Der Informatikunterricht vermittelt damit neben Fachkompetenz auch ein hohes Maß an Methoden-, Sozial- und Humankompetenz.
Verantwortungsbewusster Umgang mit Informatiksystemen
Die Kenntnis der Möglichkeiten aber auch der Grenzen beim Einsatz von Informatiksystemen bildet für die Schülerinnen und Schüler die Grundlage, um normative und ethische Fragen zu reflektieren. Untersucht wird der Einfluss von Informatiksystemen mit ihren sozialen, wirtschaftlichen und rechtlichen Folgen auf die Gesellschaft.
Vernetztes Denken
Die Informatik nimmt Probleme aus anderen Fachgebieten auf, stellt dadurch interdisziplinäre Zusammenhänge her, entwickelt Lösungen und gibt diese dann den
Fachgebieten zurück. Aufgaben aus verschiedenen beruflichen Domänen werden
unter gegebenen sozialen, technischen und ökonomischen Bedingungen mit den
Mitteln der Informatik bearbeitet, um entsprechende Informatiksysteme zu entwickeln.
Am Hugo-Junkers-Gymnasium wird in der Sekundarstufe in der Jahrgangsstufe 6 verpflichtend für alle das Fach Informationstechnische Grundbildung unterrichtet.
Dabei werden im Wesentlichen der Umgang mit einem Office-Paket, der Aspekt des Umgangs mit den Medien (Stichwort: Internetsicherheit) und die Verwendbarkeit der neuen Medien in allen Fächern behandelt.
Im Wahlpflichtbereich der Sekundarstufe (Jahrgangsstufen 8 + 9) wird als Differenzierungskurs das Fach Mathematik-Informatik angeboten, dabei werden neben der Vertiefung mathematischer Kenntnisse, die im Regelunterricht aufgrund der Schulzeitverkürzung nur noch kurz behandelt werden können sowie Anwendungen aus der numerischen Mathematik als mathematischer Schwerpunkt behandelt; der Schwerpunkt der informatorischen Seite liegt auf der vertieften Anwendung der Office-Anwendungen, Einführung in Java mithilfe einer grafischen Benutzeroberfläche sowie Bereiche er Kryptografie, Suchalgorithmen und HTML-Anwendungen. Dabei wird besonderer Wert auf das Arbeiten in Projektform gelegt, eine Klausur im Schuljahr wird durch eine längere Projektarbeit ersetzt.
Übersicht über die Kursthemen im Fach Informatik in der Oberstufe
EF.1 Grundlagen der Informatik und der Anwendungsentwicklung
EF.2 Algorithmen und Objekte
Q1.1 Sortieralgorithmen
Objektorientierte Anwendungsentwicklung
Dynamische Datenstrukturen
Q1.2 Theoretische Informatik
Software Engineering
Netzwerke
Q2.1 Datenbanken
Projektmanagement und Projektpraxis
Kryptologie
Q2.2 Gesellschaftliche, wirtschaftliche und rechtliche Auswirkungen der Informatik
Kurshalbjahr EF.1
Kursthema: Grundlagen der Informatik und der Anwendungsentwicklung
Begriffe und Gebiete der Informatik
- Informatik als Wissenschaft, als Technik und als Anwendung der maschinellen Verarbeitung von Informationen und Daten
- Überblick über Teildisziplinen der Informatik:
- Theoretische Informatik,
- Praktische Informatik
- Technische Informatik
- Angewandte Informatik
- Geschichte der Informatik
- Überblick über Anwendungsbereiche der Informatik: Bildung, Technik, Wirtschaft, Freizeit, Verkehr
- Softwarearten: System-, Anwendungs- und Entwicklungssoftware
- Verknüpfung von Informatik und Mathematik herstellen
- informatorische Durchdringung vieler Berufsbereiche aufzeigen
Grundlagen der Datenverarbeitung
- von-Neumann-Rechnerarchitektur
- Hardwarekomponenten:
- Zentraleinheit,
- Peripherie-Baugruppen,
- Speicher und Geräte
- Digitalisierung, Zahlensysteme
- exemplarische Beschaffungssituation von Hardware behandeln
Nutzung des Internet
- Internet mit seinen Diensten
- Rechercheverfahren und Suchstrategien mit logischen Operatoren
- Erschließen, Validieren, Auswerten und Darstellen von fachlichen Inhalten
- fachbezogene Inhaltsrecherche und Präsentation durchführen
Grundlagen der Programmierung
- Eingabe-Verarbeitung-Ausgabe-Prinzip
- Algorithmus-Begriff
- Überblick über Programmiersprachen
- Compiler und Interpreter
- Codierungsebenen: Quellcode, Maschinencode
- aktuelle, praxisrelevante Programmiersprachen benennen
Grundlagen des Programmentwurfs und der objektorientierten Programmierung
- Entwurfsmethoden (Struktogramm, Programmablaufplan, Pseudocode)
- Klassen- und Objektbegriff und deren diagrammgestützte Darstellung (Klassendiagramm gemäß Unified Modelling Language UML)
- Notwendigkeit des planvollen und systematischen Vorgehens bei der Programmentwicklung verdeutlichen
Einführung in die Programmierung
- Einsatz einer objektorientierten Programmiersprache (Java, Python)
- Grundlagen der gewählten Entwicklungsumgebung
- Verwenden von Klassen und Methoden
- einfache Datentypen
- professionelle Arbeitsumgebungen der Anwendungsentwicklung behandeln
- kleinere betriebliche Aufgabenstellungen implementieren
Kontrollstrukturen in der Programmierung
- Logische Operatoren
- Sequenz, Auswahl, Wiederholung
- einfache betriebliche Abläufe modellieren und implementieren
Kurshalbjahr EF.2 Kursthema: Algorithmen und Objekte
Fortsetzung: Einführung in die Programmierung
- Sichtbarkeit, Gültigkeit und Lebensdauer von Variablen und Methoden
- Interaktion zwischen Objekten
- komplexe Datentypen: Feldtyp bzw. Verbunddatentyp
- beruflich-fachliche Notwendigkeit von Softwareentwicklung im Team verdeutlichen
Algorithmische Prinzipien
- Iteration
- Rekursion
- problembezogene Auswahl geeigneter Vorgehensweisen behandeln, z. B. rekursive Definition von Folgen
Einfache Sortieralgorithmen auf einer vektoriellen Datenstruktur (Array)
- elementare Sortieralgorithmen: Selection Sort, Insertion Sort und Bubble Sort
- Anwendung der Sortieralgorithmen mit einfachen Datentypen
- sequenzielles und binäres Suchen
- Bedeutung des Sortierens und Suchens in der Massendatenverarbeitung erkennen
Kurshalbjahr Q1.1 Kursthema: Sortieralgorithmen
Bewerten der elementaren Sortieralgorithmen
- Untersuchung des Laufzeitverhaltens auf der Grundlage von Verschiebungen und Vergleichen (best case und worst case)
- Ermitteln des average case durch Simulation und stochastisches Auswerten
- Korrektheit der Algorithmen
- Ressourceneffizienz der Sortieralgorithmen bewerten Höherer Sortieralgorithmus
- Quicksort
- Bewerten des Quicksort mit average case, best case und worst case
- Anwendung des Sortieralgorithmus mit einfachen Datentypen
- Relevanz des Quicksort bei größeren Datenbeständen aufzeigen
Kursthema: Objektorientierte Anwendungsentwicklung
Objektorientierte Analyse und Entwurf
- Assoziation, Aggregation und Komposition
- Generalisierung und Spezialisierung
- grafische Darstellung anhand von Klassendiagrammen
- Klassenstrukturen und –beziehungen anhand betrieblicher Situationen entwickeln und realisieren
- berufspraktische Relevanz der OOA / OOD für den nwendungsentwicklungsprozess begründen
Vertiefung der objektorientierten Programmierung
- Klassenbeziehung
- Kapselung
- Konstruktion und Destruktion
- Vererbung
- polymorphe Klassen und abstrakte Klassen
- rationelle Softwareentwicklung durch Wiederverwendungskonzepte und optimierte Wartbarkeit problematisieren
Kursthema: Dynamische Datenstrukturen
Konzeption dynamischer Datenstrukturen
- Liste
- Schlange
- Keller
- praktische Anwendungsfälle fundieren, z. B. Druckerwarteschlange, Auswerten arithmetischer Ausdrücke
Umsetzung
- Einfach und doppelt verkettete Liste mit Objekten
- Operationen auf der Liste
- betriebliche Listen aufstellen und bewerten, z. B. Lagerbestandslisten, Stücklisten flexibler Größe
Kurshalbjahr Q1.2 Kursthema: Theoretische Informatik
Grundlegende Begriffe
- Formale Definition von Information, Zeichen, Alphabet, Wort, Sprache
- syntaktische Grundlagen von eingesetzten Programmiersprachen aufzeigen
- Kommunikation zwischen Mensch und Informatiksystem elementar zerlegen
Grammatik und formale Sprache
- Definition einer Grammatik und einer formalen Sprache
- Backus-Naur-Form und Syntaxdiagramm
- endliche Automaten
- formale Aspekte von Kommunikationsprotokollen begründen
- Automaten der Lebenswelt der Lernenden und der beruflichen Praxis behandeln, z. B. Geldautomat, Fahrkartenautomat
Kursthema: Software Engineering
Grundlagen
- Begriff, Struktur und Vorgehensweise des Software Engineering
- Prinzipien des Software Engineering
- Teamorientierung aktueller Anwendungsentwicklung begründen
- Notwendigkeit anhand gescheiterter
Softwareprojekte der Praxis belegen
- Verweis auf Entwicklungswerkzeuge, z. B. CASE-Tools
Vorgehensmodelle der Systementwicklung
- Übersicht über Phasenkonzepte
- typische Phasenkonzepte der beruflichen Praxis thematisieren
- betriebliche Vorhaben in beherrschbare Teilaufgaben zergliedern
- Vertiefte Behandlung anhand eines Vorgehensmodells
- z. B. Wasserfallmodell oder Spiralmodell
Geschäftsprozessmodellierung
- Grundlagen und Darstellungsformen der Geschäftsprozessmodellierung
- Analyse von Informatiksystemen:
Erweiterte Ereignisprozessketten (eEPK)
- betriebliche Prozesse als Basis der Anwendungsentwicklung modellieren
- algorithmische Strukturen betrieblicher Prozesse durch Operatoren abbilden
- Ereignissicht und Datensicht als informatikorientierte Ebenen anhand betrieblicher Abläufe auf einem Zeitstrahl konkretisieren
Unified Modeling Language (UML) zur Gestaltung und Dokumentation des Systementwicklungsprozesses
- Darstellung statischer Strukturen in Klassendiagrammen
- Darstellung dynamischer Prozesse mit Sequenzdiagrammen
- fachliche Klassenmodelle und entwurfsbezogene Klassenmodelle aus der betrieblichen Realität darstellen
- betriebliche Abläufe mittels Sequenzdiagramm simulieren
Kursthema: Netzwerke
Aufbau und Bestandteile
- Clients und Server
- Topologien: Stern, Ring, Bus
- aktive/passive Netzwerkkomponenten (Switch, Router, Gateway, Bridge)
- Bedeutung von betrieblichen Netzwerken verdeutlichen
- typische Netzwerkkomponenten betrieblicher Netze betrachten
Referenzmodelle
- paketvermittelte Netze
- ISO-OSI- und TCP/IP-Modell
- TCP, IP und Ethernetprotokoll
- Anwendungsprotokolle
- Adressierung auf den jeweiligen Schichten
- Internet und Intranet als paketvermittelte Netze verstehen
- geläufige Protokolle den einzelnen Schichten zuordnen
- Netzwerkkomponenten den einzelnen Schichten zuordnen
- Netzwerkkommunikation durch Zusammenspiel der Schichten strukturiert verdeutlichen, z. B. anhand einer E-Mail
Netzwerkplanung
- Serverdienste
- Auswahl der Topologie
- Auswahl der Netzwerkkomponenten
- Unterteilung eines IP-Netzes in Subnetze
- Auswahlkriterien für Netzwerkplanung in unternehmerischen Entscheidungssituationen benennen
- Netzwerke gemäß betrieblicher Anforderungen planen und bewerten
Kurshalbjahr Q2.1 Kursthema: Datenbanken
Einführung
- Aufbau eines Datenbanksystems (DBS)
- Anforderungen an ein DBS
- 3-Ebenen-Architektur
- Datenbankarten (stand-alone-Datenbank, Client/Server-Datenbank)
- betriebliche Anwendungssituation zur Notwendigkeit von Datenbanken herstellen
- Funktion von Datenbanken zum sicheren Aufbewahren, Verwalten und Wiedergewinnen institutioneller Massendaten verdeutlichen
Datenbankmodellierung
- Entity-Relationship-Model (ERM) einschließlich Kardinalitäten
- Relationales Datenmodell
- Tabellenstruktur, Schlüssel
- Transformation eines ERM in ein relationales Modell
- Normalisierung bis einschließlich zur 3. Normalform
- referenzielle Integrität
- komplexe Problemsituationen der betrieblichen Realität ausschnittweise durch ERM abbilden
- Datenmodell in Abhängigkeit vom betrieblichen Kontext sinnvoll beschränken
- Redundanz und Konsistenz berücksichtigen
- Datenmodell in einer Datenbankumgebung implementieren
- Verweis auf Datenbank-Entwicklungswerkzeuge
SQL
- Datenbanken, Tabellen und Beziehungen/Schlüssel erzeugen (DDL)
- Einfügen, Löschen und Verändern von Tabelleninhalten (DML)
- SQL-Abfragen (DQL einschließlich Gruppierung, Aggregatfunktionen, geschachtelte SQL-Abfragen, SQLAbfragen über mehrere Tabellen)
- SQL als universelle Benutzungsschnittstelle unterschiedlicher Akteure und relationaler Datenbankplattformen praktisch fundieren
Kursthema: Projektmanagement und Projektpraxis
Vorgehensweise in Projekten
- Projektbegriff, Projektziele
- Projektaufbau
- Relevanz der projektorientierten Vorgehensweise anhand betrieblicher Praxiserfordernisse nachweisen
- konkrete Projekte definieren und in Phasen gliedern
- Zeit-, Ressourcen- und Kostenpläne als Mittel der Projektsteuerung aufstellen
- Rolle des Projektleiters, Projektteam, Verweis auf internationale Normen
- Projektdokumentation
- „weiche“ Projektkriterien thematisieren, z. B. Teamatmosphäre
- Dokumentationserfordernisse in der Praxis nachweisen
Anwendungsentwicklungsprojekt
- arbeitsteiliges Vorgehen der Lernenden mit Definition von Schnittstellen
- Verwenden von Methoden des Software Engineering z. B. Datenbankprojekt:
- Aufstellen und Umsetzen eines Modells in eine Datenbank
- Zugriff auf eine Datenbank mittels objektorientierter Programmiersprache und SQL
Evaluation von Projektarbeit
- fachliches Bewerten des Projektergebnisses
- Reflexion und Auswertung von Methoden des Projektmanagements anhand derkonkreten Projekterfahrungen
- selbstkritischer Umgang mit eigenen Arbeitsergebnissen in Bezug auf den Projektauftrag
Kursthema: Kryptologie
Schutzziele und Bedrohungen
- Vertraulichkeit, Integrität, Verbindlichkeit
- Abhören, Verfälschen, Leugnen der Urheberschaft
- praktische Relevanz der Kryptologie herstellen, z. B. Online-Banking, E-Commerce
Symmetrische Verschlüsselung
- Verfahrensbeispiele
- Chiffrieren und Dechiffrieren
- Kryptoanalyse
- einfache Verschlüsselungsverfahren als ungeeignet für die betriebliche Praxis erkennen
- Notwendigkeit für komplexe Verschlüsselungsverfahren nachweisen
Asymmetrische Verschlüsselung mit dem RSA-Verfahren
- Modulare Arithmetik
- Satz von Euler
- erweiterter Euklidischer Algorithmus
- Vielfachsummendarstellung
- Potenzieren in der Modulo-Rechnung durch wiederholtes Quadrieren und Multiplizieren
- Sicherheit des RSA-Verfahrens
- RSA-Verfahren als Grundlage vieler praxisrelevanter kryptografischer Vorgehensweisen erkennen
Digitale Signatur
- Anforderungen an eine digitale Signatur
- Notwendigkeit von Hashfunktionen und von Zertifizierungsinstanzen
- rechtsverbindliche Vertragsstrukturen bei E-Commerce-Aktivitäten aufzeigen
Kurshalbjahr Q2.2 Kursthema: Gesellschaftliche, wirtschaftliche und rechtliche Auswirkungen der Informatik
Datenschutz
- Bundesdatenschutzgesetz (BDSG)
- Gliederung des BDSG
- Rechte der Betroffenen
- Datenschutzbeauftragter
- „10 Gebote des Datenschutzes“
- konkrete Datenschutzmaßnahmen im betrieblichen Umfeld planen und deren Folgen abschätzen
- Recht auf informationelle Selbstbestimmung anhand der Lebenswelt der Lernenden differenzieren und abwägen
Auswirkung von Informatiksystemen auf die Gesellschaft, insbesondere auf die Arbeitswelt
- soziale, wirtschaftliche und technische Folgen von Informatiksystemen auf das Individuum und die Gesellschaft bewerten
- Arbeitsverdichtung und ständige Erreichbarkeit von Beschäftigten problematisieren



