Personal tools
You are here: o studio 110 110 OUT code | Inf classes Inf Informatik 10

You have to loose yourself. You have to find yourself. You have to loose yourself. 

anonymous

Das Beste der Musik steht nicht in den Noten. 

Gustav Mahler

Die einzige Konstante im Universum ist die Veränderung.

Heraklit von Ephesus

Jeder Plan ist die Grundlage einer nächsten Änderung. 

Martin Riedl

Was es alles gibt, was ich nicht brauche. 

Aristoteles

creativity is subtraction.

Austin Kleon

Bewusstsein beginnt mit Wahrnehmung.

°

Wenn man nur einen Hammer hat, sieht jedes Problem wie ein Nagel aus. 

anonym

When you need a function, just declare it.

Anonymous

Auch der weiteste Weg beginnt mit einem ersten Schritt.

Konfuzius

Die Kopie oder Adaption ist die Höchste Form der Ehrung.

Luehrsen, Hendrik

Der Tod ist eine Lebensaufgabe.

Hildegard Willmann

Das Leben ist wie ein Fahrrad. Man muss sich vorwärtsbewegen, um das Gleichgewicht zu halten.

Einstein, Albert

Du musst selbst wissen, wo du hinwillst und auf welchem Weg du am besten dorthin kommst. Nur du kennst den Weg.

Comaneci, Nadia

Art is eternal, but life is short. 

Evelyn de Morgan

Wer nichts mehr spürt, ist ein toter Mann. 

Hermann Enzenhofer

Perlen holt aus tiefer Flut nur ein gottvertrauter Mut. 

Ida Bachmeier

Was sich auf die Wirklichkeit bezieht, ist nicht sicher, und was sicher ist, ist nicht wirklich.

Albert Einstein

Ego ist eine Illusion.

Marco Asam

Zeit ist ein Vakuum. 

Christiane Schick

Nur Querköpfe ändern ihre Meinung nicht. 

Albert Einstein

Nichts kann existieren ohne Ordnung. Nichts kann entstehen ohne Chaos.

Albert Einstein

Ich habe keine Zeit, mich zu beeilen.

Strawinsky, Igor

 
 

Informatik 10

— filed under: , ,

Basisinformationen zu Informatik 10. In der Jahrgangsstufe 10 ist der große Themenbereich das Erlernen des objektorientierten Programmierens.

"Programming Language of the Year 2019" Award winner is python!

Python als Programmiersprache ist der Gewinner des Jahres 2018!
vgl. tiobe.com

Aufgaben in Informatik 10

 

  • Grundlagen der Informatik (Wdh)
    Klasse, Objekt, Attribut, Methode, Klassen- und Objektkarte, Klassendiagramm, HTML, Datentypen und Datenbanken (Wdh)
  • Datenmodellierung (Wdh): ZWEI Datenbanken (DB) mit den benötigten Tabellen (LibreOffice Calc, Microsoft Access) zu den Themen "Musik-DB" und "Photo/ Filmarchiv" anlegen
    (wenige (auch fiktive) Datensätze reichen für eine SQL-Abfrage 
  • Digitales Audio, vgl. learningmusic.ableton.com (zur Klärung eines persönlich musikalisch favorisierten Klassendiagramms mit relevanten Attributen)
  • https://metmuseum.org/about-the-met/policies-and-documents/open-access (Kunstgeschichts-Bilder mit public-domain-Lizenz)  
  • LibreOffice Calc, Microsoft Access (DB)  
  • HTML (Wdh) webSeite mit Wordpress (wordpress.com) editieren
  • Python - Objektorientierte Programmierung  
    vgl. cscircles.cemc.uwaterloo.ca > cheatsheet.pdf  

    OOP Referate (Python | Java) (Lit. z.B. python4kids.net > Wie ein Informatiker denken lernen)
    Kap2 Variablen, Ausdrücke und Anweisungen 
    Kap3 Funktionen
    Kap4 Verzweigung und Rekursion
    Kap5 Funktionen mit Wert
    Kap6 Iteration
    Kap7 Strings
    Kap8 Listen
    Kap9 Tupel
    Kap10 Datentyp Dictionary
    Kap11 Dateien und Ausnahmen  
    Kap12 Klassen und Objekte
    Kap13 Klassen und Funktionen
    Kap14 Klassen und Methoden
    Kap15 Mengen von Objekten
    Kap16 Vererbung
    Kap17 Verkettete Listen
    Kap18 Stacks
    Kap19 Queues
    Kap20 Bäume
  • OOP Programmierprojekt mit objektorientierter Programmierung z.B. turtle Grafik (Python)  
    #Codierung aufschlussreich kommentieren.
    #Eigene Projektdokumentation erstellen 


Wir wiederholen Grundlagen aus der Informatik der Vorjahre und programmieren mit objektorientierter Programmiersprache (Python | Java), OOP. 
Konkret fangen wir mit kleineren Übungen an, z.B. mit dem Blocksystem von Scratch (http://scratch.mit.edu) und der graphischen Python turtle Programmierung.
Danach gehts systematisch in Programmierkenntnisse von Python und später auch Java - wir behandeln hier die Unterschiede von Python und Java.
Jeder hat als Aufgabe, ein größeres oder mehrere kleinere Informatik-Projekte mit Python oder Java umzusetzen.

python turtle Grafik

Mit der python IDLE grafische Objekte zeichnen
vgl. Skript Kurzbefehle  

pyturtle Kurzbefehle1.PNG
pyturtle Kurzbefehle2.PNG
pyturtle Kurzbefehle3.PNG

scratch

http://scratch.mit.edu > Entwickeln

Python-Referat I | mit py computer science circles (Uni Waterloo)  

Es gibt hier 18 gut verständliche Kapitel zur Objektorientierten Programmierung mit Python anhand von Programmier-Beispielen.

Referat eines der Kapitel: 
Vortrag auf deutsch mit Verwendung cscircles.cemc.uwaterloo.ca/de
Präsentation in englisch cscircles.cemc.uwaterloo.ca   
Übungen mit Codierung direkt ausführen und kommentieren.

Überblicks-Python-Referate II (in Teamarbeit zu zweit)

Recherche z.B. in Online-Quellen, Lit: 
Python für kids: http://python4kids.net/how2think/index.html  

Ref Themen_python4kids.net.PNG

Mögliche weitere Referate Informatik 10 (5 min Vortrag)

wichtig ist hierbei jeweils: Beschreibung | Definition | Beispiel | Abbildung

Bei jedem Referat soll am Ende ein kurzer Hefteintrag (Textpassagen zum Abschreiben bzw./und Graphik oder Abbildung zum Abzeichnen) die letzte Seite sein.

Informatik | Objektorientierte Programmierung mit Python oder Java

      if/else - Bedingung
      while - Schleife
      Objekte | py
      Klassen | py z.B. Liste (unsortiert, sortiert), Liste einfach verkettet, Schlange, Stapel, Baum, Graph (ungewichtet, gewichtet)
      Klassenkarten | py
      Objektkarten | py
      Klassendiagramm
      Objektdiagramm
      Zustandsdiagramm
      Variablen | py
      Methoden | py
      Anweisungen | py
      Strings (Zeichenketten) | py
      Vererbung | py
      Verzweigung/ Rekursion
      Bsp. Koch'sche Schneeflocke
      Bsp. Sierpinski-Dreieck
      Bsp. Fibonacci-Funktion
      Lastenheft/ Pflichtenheft in der Informatik
      Agile Softwareentwicklung (vs Wasserfall-Modell)
      Objektorientierte Programmierung - Diff. python, Java
      Biometrische Daten als Schlüssel 
      Künstliche Intelligenz (Artificial Intelligence AI)   
      Intuitive Bedienbarkeit/ User-Dialog/ GUI - Graphische Oberfläche und optisches Design
      Eclipse-Programmierumgebung 
      Android-Programmierung  
      python-Turtle-Programmierung  
      App-Programmierung

Grundlagen der Informatik | basic

      Open Source  
      CC, Copyright und Lizenzen  
      KI - Künstliche Intelligenz  
      Big Data - Überwachung, Online-Tracking, Datenschutz  
      Serious Games, technologiegestütztes Lernen  
      
      Geschichte/ Meilensteine der Informatik  
      Klasse Objekt Attribut Methode. Punktnotation  
      Klassenkarte Objektkarte Klassendiagramm | py
      Beziehungen und Kardinalitäten
      Methoden | py
      HTML | atom.io oder notepad++  
      Algorithmus/ algorithmisches Denken
      Struktogramme   
      Baum und Graph | Hierarchische Strukturen 
      Binäres Zahlensystem  
      Rechnerarchitektur


Mögliche Themen als Wiederholung aus Informatik 09, Funktionale Programmierung (Excel/ Calc) und Datenbanken (Access/ Base)
mit Blick auf Umsetzungen in Python  

Funktionale Programmierung | py

      Funktionen  
      Vordefinierte Funktionen   
      Funktionen UNDODERNICHT  
      Logische Funktionen  
      Datenflussdiagramm  
      Bedingte Funktion: WENN-Funktion  
      while-Schleife  
      if-/else - Bedingte Anweisung  
      Zusammenfassen von Funktionen  
      Verknüpfung von Tabellen
      Verzweigung im Datenfluss
      Geschichte der Tabellenkalkulation
      Tabellenkalkulation - Buchhaltung  
      Diagramme aus Tabellendaten    
      Kapital-Berechung (Kredit-Aufnahme, Geld-Anlegen, Zinsberechnung mit Zinstagen)
      Zusammengesetzte Daten (z.B. Brüche)
      Verkaufspreis mit Mengenrabatt
      Verkaufspreis mit Skonto 
      Kostenvoranschlag (Rechnung) mit Tabellenkalkulation  
      Adress-Listen mit Tabellen
      Diagramme in Tabellenkalkulation: Entwicklung der Weltbevölkerung 
      Kopieren - relative und absolute Adressen
      Links - lokal und online z.B. in Tabellen  

Datenbanken | py

      DB statt Fkt - warum?
      Datentypen | py
      Relationales Datenbanksystem
      SQL-Abfragen
      Datenbankschema
      Datenpflege (UPDATE, INSERT, DELETE)     
      Datensicherheit und Datenschutz
      Klassendiagramm und Kardinalitäten  
      n:m - Beziehung  
      Das kartesische Produkt
      Aggregat-Funktionen von SQL (COUNT, AVG, MAX, MIN, SUM)
      Schlüssel, Fremdschlüssel und referentielle Integrität
      Datenpflege (Ändern, Einfügen, Löschen von Datensätzen | UPDATE, INSERT, DELETE)
      Änderungsanomalien bei der Datenpflege
      Datenkonsistenz
      Datensicherheit und Datenschutz
      Datenbankschema
      Datenbank-Design  
      Prüfziffer am Bsp. der ISBN-Nummer


Grundwissen Informatik 10

Generell ist eine sich vertiefende und vermehrt systematische Kenntnis einer objektorientierten Programmiersprache (Python | Java) als Grundwissen in Informatik 10 relevant.
 
 
Objekte:
Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder  Strukturen  unserer  Welt  (z.  B. Autos,  Räume,  Bakterien,  Lehrer, Schüler, Kunden, Unterrichtsstunden, Buchungen, Konten, ...). Jedes  Objekt  besitzt  einen  eindeutigen  Bezeichner  (Objektnamen),  mit dem es identifiziert werden kann.
Attribut:
Als Attribute bezeichnet man die Eigenschaften, durch die sich ein Objekt von anderen unterscheidet. Bei jedem Objekt haben die Attribute bestimmte Werte, Attributwerte.
Methode:
Eine Methode ist eine Handlungsanweisung. 

Zur Methodendefinition: Aufbau und Rückgabetypen von Methoden

Methoden_1

Methoden 2

Damit ein Objekt eine Methode ausführt, muss ihm dazu eine Handlungsanweisung gegeben werden, d. h. eine Methode aufgerufen werden.

Zum Methodenaufruf:

objektname.methodenname( wert1, wert2, ...)            z. B.:     max.oeffne(Fenster)

Konstruktor
Ein Konstruktor ist eine spezielle Methode, die ein Objekt der zugehörigen Klasse erstellt und dessen Attributen Startwerte zuweist.

Der Aufruf des Konstriktors mit dem new-Operator erzeugt ein neues Objekt einer Klasse:

new

Klasse (Objekttyp):
Eine   Klasse   ist ein "Bauplan"  für Objekte   mit   gleichen   Attributen   und   gleichen Methoden (alle Auto-Objekte gehören zur Klasse Auto). Wichtig: Alle  Objekte  einer  Klasse,  haben  die  gleichen  Attribute,  aber  nicht  die gleichen Attributwerte!
Klassenkarte:
Klassendiagramm
 Objektkarte:
Objektdiagramm
Algorithmus 
Ein  Algorithmus  ist  eine  Verarbeitungsvorschrift,  die  aus endlich vielen eindeutig ausführbaren Anweisungen besteht.
Struktogramm
Ein  Struktogramm  ist  eine  Darstellung  für  Algorithmen,  die  von  der  konkreten Schreibweise einer bestimmten Programmiersprache unabhängig ist.
Sequenz
Eine Folge von Anweisungen, die nacheinander abgearbeitet werden.
Struktogramm:
Sequenz2
Wiederholung mit fester Anzahl
Soll  eine Sequenz mehrmals  wiederholt  werden  und  steht  die  Anzahl  der Wiederholungen  fest,  verwendet  man  zur  Vereinfachung  die  Wiederholung mit fester Anzahl.
wiederholung mit fester anzahl
Bedingte Wiederholung mit Anfangsbedingung
Die Anweisungen werden wiederholt,  solange  eine  bestimmte  Bedingung erfüllt  ist.  Ist  die  Bedingung  zu  Beginn  nicht  erfüllt,  wird  die  Wiederholung kein einziges Mal ausgeführt.
Bedingte Wiederholung mit Anfangsbedingung

Bedingte Wiederholung mit Endbedingung
Die Anweisungen werden auf jeden Fall einmal ausgeführt,  egal ob die Bedingung zutrifft oder nicht.  Sie werden wiederholt, solange die Bedingung erfüllt ist. 
Bedingte Wiederholung mit Endbedingung
Einseitig bedingte Anweisung
Die  einseitig  bedingte  Anweisung wird verwendet, um eine Sequenz abhängig von einer Bedingung auszuführen.
Einseitig bedingte Anweisung
Zweiseitig bedingte Anweisung
Die  zweiseitige  bedingte  Anweisung  wird  verwendet,  wenn abhängig  von einer Bedingung unterschiedliche Sequenzen ausgeführt werden sollen.
Zweiseitig bedingte Anweisung
Mehrfachauswahl
Mit der Mehrfachauswahl können beliebig viele Fälle untersucht werden. Die zu überprüfende Variable muss als Datentyp byte, short, int, char, String haben.
Mehrfachauswahl
Feld (Array)
In   einem   Feld   können   mehrere   Werte   eines   Datentyps   abgespeichert werden. Deklaration eines Felds:

private double[] zahlen;

Initialisierung eines Felds mit der Länge 10:

zahlen = new double[10];

Speichern eines Wertes unter dem Index i:

zahlen[i] = 10.3;

Feld durchlaufen und Inhalt ausgeben:

   for (int i = 0; i < zahlen.length; i = i+1) {
     System.out.println( (i+1) + “: “ + zahlen[i] );
   }
Vererbung
Vererbung   beschreibt   eine   neue   Beziehung   zwischen   einer   Oberklasse (Superklasse) und einer Unterklasse (Subklasse oder abgeleitete Klasse). Die   Unterklasse   erbt   (erhält)   von   der   Oberklasse   alle   Attribute   und Methoden.  Hat  die  Oberklasse  eine  Beziehung  zu  einer  anderen  Klasse,  so hat auch die Unterklasse diese Beziehung.
vererbung
Umsetzung in Java:

public class Unterklasse extends Oberklasse {
...
   public Unterklasse(...) {
     super();
   }
...
}
Durch  den  Aufruf  super();  wird  zuerst  der  Konstruktor  der  Oberklasse aufgerufen.

Polymorphie
Man spricht von Polymorphie, wenn gleichnamige Methoden unterschiedliche Definitionen bzw. Implementierungen haben. Polymorphie wird durch Überschreiben der geerbten Methoden bewirkt

Quelle: angelehnt an: http://www.mgf-kulmbach.de/neu/images/medien/unterrichtsfaecher/Informatik/grundwissen/inf10-grundwissen.pdf

s Tipps | Informatik  

Programmiere ein eigenes Informatik-Projekt - zusätzlich zu den Unterrichts-Projekten in Informatik. Bei Fragen, die du trotz eigenem Ausprobieren bzw. Nachlesen alleine nicht klären kannst, wendest du dich an mich.

Sonnja Genia Riedl

Document Actions