Lernplanentwurf obligatorisches Fach Informatik (OFI)

Implentierung im Lehrmittel Programmierkonzepte, http://www.programmierkonzepte.ch

 

1. Algorithmen und Programmieren Die Schülerinnen und Schüler Implementierung
Lösungsverfahren
  • können zur Lösung stufengerechter Aufgaben Algorithmen entwerfen, implementieren und beurteilen

  • kennen grundlegende Lösungskonzepte (Modularisierung, Abstraktion)

  • können Algorithmenentwurfstechniken anwenden (Teile und Herrsche, Rekursion, Backtracking, schrittweises Verfeinern, etc.)

  • kennen wichtige Algorithmen (Durchsuchen von Listen, Bäumen und Graphen, Sortieren)

  • können Lösungswege und Algorithmen geeignet beschreiben und visualisieren

  • wissen, dass es sequentielle und parallele Rechenprozesse gibt.
  • durchgehend,  durch Aufgaben. Implementierung in Python

  • Funktionen (2.4)


  • Teile und Herrsche (durchgehend)
    Rekursionen (2.9), Backtracking (10.3)

  • Listen (3.9), Bäume (10.3),
    Graph (10.4), Sortieren (10.1)

  • Computerexperimente (8), Simulationen (8.1), Populationen (8.2), usw....

  • Parallelverarbeitung (11.4)

Theoretische Grundlagen
  • kennen theoretische Grenzen der Berechenbarkeit

  • können die praktische Umsetzbarkeit von Algorithmen einschätzen (Berechnungskomplexität, Computer Ressourcen)

  • wissen, dass Probleme exakt oder approximativ gelöst werden können

  • kennen Unterschiede zwischen natürlicher und Programmiersprachen (Eindeutigkeit, Kontextunabhängigkeit)

  • kennen Grundlagen der Aussagenlogik und ihre Anwendung (Schleifenbedingung etc.)
  • Effizienz und Grenzen (10.1, usw)

  • Kombinatorische Explosion (10.2)


  • Unlösbare Probleme (10.2)


  • Akzeptor für reguläre Sprachen (10.6)


  • Schleifenbedingungen (2.8)
    Boolesche Variable (2.7)
Programmieren
  • können Algorithmen in Programme umsetzen

  • können bestehenden Programmcode lesen und interpretieren

  • können zielgerichtet syntaktische wie auch semantische Fehler erkennen und beheben (Debugging)


  • können die Programmstrukturen Sequenz, Iteration, Selektion und die Rekursion einsetzen

  • können Unterprogramme (Prozeduren/Funktionen) zur Strukturierung von Programmen nutzen (Wiederverwendbarkeit von Code).

  • können Variablen zur Speicherung von Daten zur weiteren Verarbeitung einsetzen (Sichtbarkeit, Lebensdauer)


  • kennen Programmierparadigmen (prozedural / imperativ, objektorientiert, funktional)
  • Editieren/Ausführen von Python unter TigerJython

  • durchgehend lauffähige Programme

  • in TigerJython eingebauter didaktisch konzipierter Debugger  (Sichtbarkeit von Funktionen, Variablen/ Einzelschritt)(11.3)

  • Wiederholung: repeat (2.3), while (2.8), for (3.2)
    Selektion (2.7), Rekursion (2.9)

  • Funktionen (2.4), Strukturiertes Programmieren (3.3), Methoden Vererbung (7.2)

  • Variablen (2.6), globale Variablen (3.5), Variablen als Zustandsbezeichner (10.6), Seiteneffekte (11.2)

  • Python-Funktionen als Erstklass-Objekte, OOP (7.1. usw), Funktionales und Modulares Programmieren (11.2)

 

2. Information und Daten Die Schülerinnen und Schüler Implementierung
Repräsentation und Codierung von Daten
  • kennen Bits und Bytes als Mass für die Datenmenge

  • kennen Zusammenhänge zwischen Daten, Information und Wissen

  • kennen verschiedene Repäsentationsformen von Daten (Text, Zahlen, Ton, Bild etc.)

  • kennen Mechanismen der Kompression und Fehlerkorrektur
  • explizite Definition fehlt

  • Information und Ordnung (10.7)

  • String, Dictionary, Bildbearbeitung (3.11), Sound (4.1. usw)

  • fehlt
Datentypen und Datenstrukturen
  • kennen elementare Datentypen

  • sind sich der begrenzten Genauigkeit von Rechenoperationen bewusst

  • kennen wichtige Datenstrukturen (Felder, Listen, Bäume, Graphen)

  • können mit Wert- und Referenztypen umgehen
  • Integer, Long, Float durchgehend

  • Rundungsfehler (11.3, nicht ausgebaut)


  • Listen (3.9), ), Bäume (10.3), Graphen (10.4)

  • einfacher Datentypen und  Referenztypen ( 11.2)
Informationssysteme / Datenbanken
  • kennen Grundlagen relationaler Datenbanksysteme

  • können einfache Datenbanken modellieren und anwenden


  • kennen Probleme und Möglichkeiten von grossen Datenmengen (Suche, Recommender Systems, Data Mining)
  • Datenbanken und SQL (gut ausgebaut) (9)

  • Online-Datenbanken (9.2). Reservationssystem selbst erstellen (9,2)

  • Goolesearch (6.3), Recommender Systems und Data Mining fehlen

 

3. Systeme, Vernetzung und Sicherheit Die Schülerinnen und Schüler Implementierung
Computersystem
  • können die wesentlichen Komponenten eines Computers benennen und deren Aufgaben erklären

  • kennen die Bedeutung wichtiger Kenngrössen (Speicherplatz, Übertragungsgeschwindigkeit etc.)

  • kennen die Grundfunktionsweise eines Rechners (Architektur, Betriebssystem)

  • kennen die Prinzipien der Compilation und Interpretation.
  • Aufbau und Funktion eines Computes (12.6)


  • fehlt


  • Aufbau und Funktion eines Computes (12.6)

  • Python als Interpretersprache, grundsätzliche Abhandlung fehlt
Computernetzwerke / Internet
  • kennen typische Netzwerkkomponenten und Netzwerkdienste

  • können in Grundzügen beschreiben, wie die Datenübertragung über ein Netzwerk funktioniert (Webseitenaufruf im Internet)

  • kennen Grundlagen von Dokumentenbeschreibungssprachen im Web (Inhalt, Layout, Interaktivität)
  • Grundwissen Internet (12.7). HTTP (6.2)

  • Client-Server-Modell (6.2, gut ausgebaut)


  • HTML Grundlagen (6.1), Hyperlinks
Sicherheit
  • sind sich der Gefahren des Internets (Malware, Phishing) bewusst und wissen, wie man sich vor ihnen schützen kann

  • kennen grundlegende Prinzipien von kryptographischen Verfahren (Symmetrische, asymmetrische Verschlüsselung)
  • Grundwissen Internet (12.7)


  • Kryptosysteme (10.5, gut ausgebaut)
    RSA

 

4. Modellierung, Simulation und Robotik Die Schülerinnen und Schüler Implementierung
Modellierung und Computersimulation
  • können einfache Systeme modellieren und implementieren (Spiele, Automaten, Populationen)

  • können einfache Zufallsexperimente simulieren

  • können Ergebnisdaten aus Simulationen und Modellen auswerten, interpretieren und visualisieren
  • Computeranwendungen in Math./Physik/Statistik umfangreich (8.1, usw.) Automaten (10.6)

  • Umfangreich, z.B. (8.1), Wartezeiten (8.4) usw
    .
  • Umfangreich, z.B. Korrelation, Regression (8.6)
Robotik
  • sind fähig, einen realen oder simulierten Roboter zu programmieren

  • können Sensoren und Aktoren einsetzen
  • Umfangreich, basierend auf Lego Robotik und Python-Simulation (5.1, usw)
  • Sensorik (5.4)

 

5. Informatik, Mensch und Gesellschaft Die Schülerinnen und Schüler Implementierung
Historische Aspekte
  • kennen Grundzüge der historischen Entwicklung der Informatik

  • kennen historisch wichtige Persönlichkeiten der Informatik und deren Entdeckungen
  • Geschichte der Informatik (12.5)

  • Geschichte der Informatik (12.5)
Benutzerschnittstellen
  • können Mensch-Maschine Schnittstellen gemäss logischen und ergonomischen Prinzipien entwerfen und beurteilen
  • Programme mit Widgets (3.13)
Aspekte der Informationsgesellschaft
  • sind sich der Wechselbeziehung zwischen Informationstechnologien und Gesellschaft bewusst

  • kennen Beispiele von Chancen- und Risiken beim Einsatz von Informationstechonogien (e-Health, digitale Assistenzsysteme etc.)

  • kennen rechtliche Aspekte der Informatik (Urheberrecht Software)
  • fehlt


  • fehlt


  • fehlt