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

Le mieux est l'ennemi du bien.

Französisches Sprichwort

Imago est animi vultus. Das Gesicht ist Abbild der Seele.  

Cicero

Resonanz ist Stille. 

typiconia

Die einzige Konstante im Universum ist die Veränderung.

Heraklit von Ephesus

Wer weniger erwirbt, um mehr zu haben, geht den Weg vom Haben zum Sein. 

Christine Lang

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

Lerne die Regeln, damit du sie richtig brechen kannst!

Dalai Lama

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.

Albert Einstein

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

Nadia Comaneci

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

Alle realen Prozesse sind irreversibel.

Sven Titz in weltderphysik.de > Entropie

Wir leben. Nur die Zeit stirbt.

n. Erich Maria Remarque

Ich habe keine Zeit, mich zu beeilen.

Igor Strawinsky

Zusammen können wir Großes erreichen.

amnesty international

Das Bewusstsein ist wie ein Radio - es kommt darauf an, auf welche Frequenz man sich einstellt.

Thomas Falke

Kreation. Assoziation. Intuition.

typiconia

Nothing will benefit human health and increase chances for survival of life on Earth as much as the evolution to a vegetarian diet.

Albert Einstein

Think globally. Act locally.

MFM Wandgestaltung

Art is the elimination of the unnecessary.

anonymous

The rules are learnt in order to be broken, but if you don't know them, then something is missing. 

Nicolas Roeg

A smooth sea never made a skilled sailor. 

Franklin D. Roosevelt

On ne voit bien qu’avec le cœur. L’essentiel est invisible pour les yeux. Man sieht nur mit dem Herzen gut. Das Wesentliche ist für die Augen unsichtbar. 

Antoine de Saint-Exupéry

Le coeur a ses raisons que la raison ne connaît point.

Französisches Sprichwort

 

 

Informatik 10

— filed under: , ,

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

Python auch im Jahr 2020 im tiobe-index weiterhin aufsteigend

Python als Programmiersprache und Gewinner des Jahres 2018 ist weiterhin in der Relevanz der Programmiersprache aufsteigend.
vgl. tiobe.com/tiobe-index  

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)  
  • SQL Lite (py), LibreOffice Base, Microsoft Access (DB)  
  • HTML (Wdh) webSeite mit Wordpress (wordpress.com) editieren
  • Java/ Processing | OOP (Objektorientierte Programmierung) mit Java/ Processing: https://processing.org (Vereinfachte Java-Version), openprocessing.org
    Processing ist eine objektorientierte, stark typisierte Programmiersprache mit zugehöriger integrierter Entwicklungsumgebung. Die Programmiersprache ist auf die Einsatzbereiche Grafik, Simulation und Animation spezialisiert. Processing wird in einem quelloffenen Projekt entwickelt, das am Massachusetts Institute of Technology in Boston von Ben Fry (Broad Institute) und Casey Reas (UCLA Design|Media Arts) initiiert wurde. Processing hat den Charakter einer stark vereinfachten Version der Programmiersprache Java, ermöglicht Interaktionen und visuelle Elemente zu programmieren und richtet sich vorwiegend an Gestalter, Künstler und Programmieranfänger.
  • Python | OOP  
    vgl. cscircles.cemc.uwaterloo.ca 
    cscircles.cemc.uwaterloo.ca > cheatsheet.pdf  

    OOP Referate (Python | Java) (Lit. z.B. python4kids.net > Wie ein Informatiker denken lernen)

    Besonders relevant sind ALLE Glossare zur Begriffs-Definition.

    Kap02 Variablen, Ausdrücke und Anweisungen | Datentypen, = Zuweisung == Gleichheit, 29 Schlüsselwörter
    Kap03 Funktionen | 3.6 Neue Funktionen, Variable lokal/global, Rekursion - Abbruchbedingung wegen Gefahr der Endlosschleife, Vergleichsoperatoren  
    Kap04 Verzweigung und Rekursion | Mehrfache Verzweigung
    Kap05 Funktionen mit Wert | return-Anweisung
    Kap06 Iteration | Funktionen - Vorteile
    Kap07 Strings | Diff. Strings/ Listen, String-Abschnitte
    Kap08 Listen | 8.1 Werte, 8.2 Zugriff, 5.5 Listen und For-Schleifen, 8.8 Listen veränderbar, Elemente löschen, Objekte und Werte, Alias, Klonen, Listen als Parameter, Geschachtelte Listen -8.15 Matrix
    Kap09 Tupel
    Kap10 Datentyp Dictionary
    Kap11 Dateien und Ausnahmen 
    Kap12 Klassen und Objekte | Klassendefinitionen  
    Kap13 Klassen und Funktionen
    Kap14 Klassen und Methoden
    Kap15 Mengen von Objekten
    Kap16 Vererbung
    Kap17 Verkettete Listen
    Kap18 Stacks
    Kap19 Queues
    Kap20 Bäume
 

py | Literatur zu Python und Games (englisch)

 
  • OOP Programmierprojekt mit objektorientierter Programmierung z.B. turtle Grafik (Python)  
    #Codierung aufschlussreich kommentieren.
    #Eigene Projektdokumentation erstellen 
  • Alternativ: 5-Seiten-Artikel schreiben. Programmier- bzw. Rechercheprojekt
    Ihr könnte einen Artikel, d.h. gut recherchierten Aufsatz schreiben, der etwas umfangreicher ist als ein Referat und das in der Erstellungsphase im Kurs wie in einem Kolloquium vorgestellt wird - von Internet-Kunst, webDesign, Anwendung von QR-codes, pygame py-Bibliotheken, jupyter-notebooks for python oder dergleichen - 
    einfach ein informatisches Spezialthema eures Interesses. Seitenumfang: ca. 5 Seiten Text (ohne Abb. oder Programm-Code). 
    Die Vorstellung im Kurs/ in der Klasse kann sein:
    - Vorstellung der Kurz-Gliederungspunkte mit einem Beispiel-Thema
    - Vorstellung einer Argumentation oder eines Kernaspekts
    - Vorstellung einer geschriebenen Textpassage 
    - Vorstellung von Code-Beispielen


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

 

processing

https://processing.org (Vereinfachte Java-Version) 

Python-Referat I | (Bsp-Aufgaben, Wdh, 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.

Python-Referate II (Überblick, Wdh, 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

Python Lernen | Literatur in Englisch | w3schools.com

python_w3schools.com.JPG
w3schools.com/python | py      
und
w3schools.com/python/python_examples.asp | py examples 
w3schools.com/python/exercise.asp | py exercise  
w3schools.com/quiztest/quiztest.asp?qtest=PYTHON | py Quiz  
w3schools.com/python/showpython.asp?filename=demo_default | py run example  

Python-Projekt, eigenes (kleines) | Memory/ Puzzle-App

vgl.
pythonprogramming.altervista.org/memory-game-with-python-in-no-time/
oder
inventwithpython.com/pygame/chapter3.html  

 

Referate Informatik 10 I (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

 

 

Scratch | scratch.mit.edu (Wdh) oder Snap

Programmieren mit Puzzle-Bausteinen

scratch.mit.edu

 > Entwickeln  

 

de.scratch-wiki.info/wiki/Einsteiger-Tutorials  


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