Buch druckenBuch drucken

Programmierung - Coding

Website: Digital Skills 4 You(th)
Kurs: Coding
Buch: Programmierung - Coding
Gedruckt von: Guest user
Datum: Freitag, 9. Dezember 2022, 13:52

1. Coding oder Progammieren?

Die Begriffe "Codierung" und "Programmierung" scheinen auf den ersten Blick und für Außenstehende das Gleiche zu bedeuten. Jene Menschen, die tagtäglich damit konfrontiert sind, machen jedoch sehr wohl einen Unterschied.
Lange Zeit wurde "Programmieren" als einziges Wort verwendet, um den Prozess der Eingabe von Anweisungen in eine Maschine, die wiederum Befehle ausführt, zu beschreiben. Programmierung ist damit der formale Akt des Schreibens von Codes.
Der Begriff "Code" wiederum wird je nach Profession und thematischem Schwerpunkt unterschiedlich verwendet. Seinen Ursprung hat er im Lateinischen codex (dt.: die Schreibtafel aus Holz, das Gesetzbuch).

  • Code in der Nachrichtentechnik
    Ein System von Übereinkünften, das die eindeutige Zuordnung von Zeichen und Zeichenfolgen zweier verschiedener Zeichensysteme festlegt oder auch ein solches Zeichensystem selbst.

  • Code in der Informatik
    Der Quellcode, also der vom Menschen lesbare Code von Computerprogrammen.

  • Code in der Biologie
    Der genetische Code

  • Code in der Soziolinguistik
    Die Sprechweise einer bestimmten Sozialschicht.

  • Code im Recht
    Ein umfassendes Gesetzesbuch

  • Code in der Kryptologie
    System zur Verschlüsselung von Texten und/oder zur Entschlüsselung verschlüsselter Texte

Quelle: Wortbedeutung.info

Mit der zunehmenden Beliebtheit des Heimcomputers begann sich eine Subkultur von "Hacker"-Typen zu entwickeln, die lernten technische Gerät zu nutzen und für ihre Zwecke umzuprogrammieren. Mit dem Zustrom der "autodidaktischen Technophilen" begann sich der Begriff "Coder" zu etablieren, um diejenigen zu beschreiben, die zwar technisch "Codes" erstellen konnten, aber nicht unbedingt das Wissen oder die Expertise der Programmierung hatten.
In den letzten Jahren ist der Begriff  "Coding" immer stärker in den Kontext der spielerischen Vermittlung von Programmiergrundlagen und des "Programmierens für Anfänger" gerückt. Ob aus den änfänglichen "Hackerzeiten" oder heute, "Coding" beschreibt das Vorgehen, sich Grundlagen der Progammierung auf informellen, non-formalen Wegen anzueignen. Um diese Bewegung zu unterstützen, wurden mittlerweile eine Vielzahl von Programmen und Anwendungen entwickelt, z.B. Code Studio, Scratch oder App Inventor 2.

1.1. Was ist Progammieren?


2. Ist Coding die Zukunft?

Bereits beim IT-Gipfel in Hamburg im Jahre 2014 forderte der damalige Wirtschaftsminister Siegmar Gabriel (SPD) einen gesellschaftlichen Mentalitätswandel: "Programmiersprachen gehören zu den Sprachen des 21. Jahrhunderts". Kinder und Jugendliche müssten für das Programmieren begeistert werden. Für Siegmar Gabriel wäre sogar ein eigenes Fach in der Schule zum Thema "Programmiersprache" denkbar. (Eva Quadbeck, 2014: "Computersprache soll Schulfach werden"). Andere Länder wie Großbritannien und Litauen sind uns da bereits voraus und unterrichten Programmierung ab der ersten Klasse. (Johannes Boie, 2014: "Warum man Coden lernen sollte")

Der von Siegmar Gabriel geäußerte Wunsch steht ganz klar im Zusammenhang mit der Befürchtung, im internationalen Wettbewerb abgehängt zu werden. "[...] der IT-Markt wächst so schnell wie kaum eine andere Branche: Um neun Prozent ist die Zahl der sozialversicherungspflichtigen Arbeitsplätze 2016 im Vergleich zum Vorjahr gestiegen, meldet die Bundesagentur für Arbeit in ihrer Studie "Arbeitsmarkt für Akademiker". Der Branchenverband Bitkom spricht sogar von einem Anstieg um fast 20 Prozent bei offenen Stellen im Vergleich zum Vorjahr." (Heckendorf 2017: "Programmieren. Ist das die Zukunft?")

IT-Kenntnisse sind im heutigen Berufsleben mittlerweile fast überall zu finden und der kompetente Umgang mit dieser Technik wird mittlerweile auch immer häufiger von den Arbeitgebern gefordert. Selbst der kleine Buchladen hat eine Webseite, die gepflegt werden will.

Damit ist die  Vermittlung und Förderung von digitalen Kompetenzen eine gesamtgesellschaftliche Aufgabe, die über die Medienerziehung zuhause, den zielführenden Einsatz digitaler Geräte in Bildungseinrichtungen und kreative Digitalerfahrungen in non-formalen Bildungskontexten bis hin zum kompetenten Umgang im Arbeitsleben reicht.

3. Programmiersprachen

In der digitalen Welt werden viele verschiedene Sprachen gesprochen. Entwickler/-innen und Programmierer/-innen müssen die jeweilige Sprache des digitalen Geräts oder der digitalen Anwendung "sprechen", um eigene Produkte entwickeln zu können. Das verhält sich ähnlich wie ein Spanisch sprechender Mensch, der in Spanien besser an seine Ziele kommen wird, als jemand, der die Sprache nicht beherrscht. Es gibt eine Vielzahl an unterschiedlichen Sprachen, die alle ihre eigene Historie haben. Um eine Programmiersprache kennenzulernen und einen ersten Einstieg zu finden, wird häufig der Befehl programmiert, eine Zeile mit dem Wort "Hallo" zu programmieren. Die Unterschiede zwischen den einzelnen Programmiersprachen sollen an diesem Beispiel gezeigt werden.

Python ist eine universell einsetzbare Programmiersprache für die Webentwicklung. Sie liest sich wie eine normale Sprache und viele der üblichen Funktionen, die beim Programmieren benötigt werden, sind bereits integriert. Damit eignet sich Python insbesondere für Einsteigerinnen und Einsteiger.

print ("Hallo Welt!")

Java ist wohl etwas schwieriger zu erlernen als Python, aber die Wahl von Java als erste Programmiersprache macht das Erlernen jeder weiteren Sprache ein wenig einfacher. Java ist über 20 Jahre alt, wird aber nach wie vor von Millionen von Entwicklern und Milliarden von Geräten weltweit verwendet wird. Alle Android-Anwendungen basieren auf Java und 90% der 500 vermögendsten Unternehmen verwenden Java. 

class Hallo {
  public static void main( String[] args ) {
    System.out.print("Hallo Welt!");
  }
}

C/C++/C#
C ist eine leistungsfähige Allzweck-Programmiersprache. C++ ist die Erweiterung von C, die u.a. für System-/Anwendungssoftware, bei Spieleentwicklung und für Treiber verwendet wird. Viele Programmierer finden C++ zu komplex und zu schwierig in der Anwendung im Vergleich zu Python oder Java, aber es bleibt in vielen bereits bestehenden Unternehmen im Einsatz. C# ist eine objektorientierte Programmiersprache von Microsoft, die auf der .NET-Plattform von Microsoft läuft.


C
C++ C#
#include <stdio.h>

int main(void)
{
    puts("Hallo Welt!");
}
#include <iostream>

int main()
{
    std::cout << "Hallo Welt!\n";
}
class MainClass
{
    public static void Main()
    {
        System.Console.WriteLine("Hallo Welt!");
    }
}

JavaScript ist quasi der Großvater der Programmiersprachen und wird von über 80% der Entwickler und 95% aller Webseiten für jede dynamische Logik genutzt.


<script>
  alert('Hallo Welt!');
</script>

R ist eine freie Softwareumgebung (GNU) für statistische Berechnungen und Grafiken. Es ist unter Statistikern und Data Minern weit verbreitet, um statistische Software und Datenanalyse zu entwickeln.

print ("Hallo Welt!")

oder

cat ("Hallo Welt!\n")
 
PHP ist eine Skriptsprache. Die meisten Entwickler verwenden PHP für die Webentwicklung, entweder um Funktionen hinzuzufügen, die HTML nicht verarbeiten kann, oder um mit MySQL-Datenbanken zu interagieren.

<?php
    print "Hallo Welt!";
?>

Go ist eine Open-Source-Programmiersprache, die bei Google entwickelt wurde.

package main

import "fmt"

func main() {
	fmt.Println("Hallo Welt!")
}


Pearl ist eine universell einsetzbare Programmiersprache, die ursprünglich für die Textbearbeitung entwickelt wurde und heute für eine Vielzahl von Aufgaben wie Systemadministration, Webentwicklung, Netzwerkprogrammierung, GUI-Entwicklung und mehr verwendet wird. Pearl ist eine der unbeliebtesten Programmiersprachen.

print "Hallo Welt!\n";

oder

use feature qw(say);
say "Hallo Welt!";


Softwareentwicklung ist ein dynamisches Feld. Neue Programmiersprachen und Technologien entstehen, erfahren Popularität und verblassen in den darauffolgenden Jahren wieder. Die It-Branche und Menschen, die in ihr arbeiten, müssen ständig neue Fähigkeiten erlernen, um auf dem neuesten Stand zu bleiben und nicht den Anschluss zu verlieren. Das Coding Dojo, eine Webseite mit Neuigkeiten und Tipps rund um die Programmierwelt, evaluiert kontinuierlich, welche Programmiersprachen von Arbeitgebern stark nachgefragt werden, um die Student/-innen und Absolvent/-innen auf dem Einstieg in den Arbeitsmarkt vorzubereiten. Die nachfolgende Abbildung gibt einen aktuellen Einblick:

Quelle: Coding Dojo


4. Spielend Programmieren lernen

In den letzten Jahren wurde das Potential, spielerisch Programmieren zu lernen, auch für pädagogische Kontexte entdeckt. Das sogenannte "Game Based Coding" nutzt die Mechanismen des Spiels (Lernen aus Versuch und Irrtum, Echtzeitfeedback usw.) um den Nutzerinnen und Nutzern erste Erfahrungen mit Coding zu ermöglichen.

Eine gute Sammlung an Angeboten für einen Einstieg hält die Webplattform "Hour of Code" bereit: "Die Hour of Code ist eine weltweite Bewegung, die Millionen von Schülern in über 180 Ländern erreicht. Jeder kann eine Hour of Code veranstalten - egal wo." (Webseite "Hour of Code"). Ziel der Initiative ist es, in einer Stunde Grundkenntnisse im Programmieren zu vermitteln. Dafür stehen eine Reihe von Inhalten und Materialien zur Verfügung, die frei genutzt werden können und ein Zeitfenster von 45 Minuten kalkulieren. Einmal im Jahr gibt es in der Woche des 09. Dezember (in Anerkennung des Geburtstages von Admiralin Grace Murray Hopper, 09. Dezember 1906 - eine Informatikerin und Computerpionierin), eine Initiative, die im Zeichen der "Hour of Code" steht, an der man sich als Einrichtung beteiligen und so weltweit mit Gleichgesinnten verbinden kann.


Eine weitere Initiative, die jährlich zum gemeinsam Coding aufruft ist die "Code Week" der Europäischen Union. Auch hier steht das spielerische Vermitteln von ersten Programmiererfahrungen im Fokus.


Lernen Sie auf den nachfolgenden Seiten Initiativen und Plattformen kennen, die für Sie gute und kostenlose Materialien und Programmierumgebungen für den pädagogischen Kontext bereithalten.

4.1. Minecraft

Minecraft ist ein sogenanntes "Open World" - Spiel, d.h. der Nutzerin und dem Nutzer wird eine digitale Welt geboten, die gestalt- und modifizierbar ist. Das Spiel wurde 2009 ursprünglich in Schweden entwickelt und 2014 von Microsoft aufgekauft.

Für pädagogische Fachkräfte gibt es mittlerweile eine eigene "Edu-Version": Minecraft Education bietet jede Menge Anregungen, wie das Spiel in der Arbeit mit der Zielgruppe eingesetzt werden kann. Es gibt mittlerweile eine gewachsenen Community, die sich regelmäßig über Ideen und ihre Erfahrungen austauscht. Die Initiative "Hour of Code" biete jede Menge praktischer Übungen zum Thema Coding mit Hilfe von Minecraft, wie z.B.

Minecraft: HERO OF JOURNEY

4.2. Open Roberta

Open Roberta ist die Initiative des Fraunhofer Instituts, die aus jungen Konsumentinnen und Konsumenten digitaler Medien Gestalterinnen und Gestalter machen will. Im Fokus steht vor allem, Kinder und Jugendliche für Inhalte und Möglichkeiten der Technik und Naturwissenschaften zu begeistern. Dafür werden verschiedene Kurse, Weiterbildungen und Materialien angeboten. Ein besonderer Wert wird auf gendergerechte Sprache, Angebote und Materialien gelegt. Darüber hinaus schult die Initiative bereits seit 2002 Lehrkräfte.

Probieren Sie es selbst aus und machen Sie Ihre ersten Programmiererfahrungen im Open Roberta Lab.

4.3. Code Your Life

Code Your Life ist eine Initiative von Microsoft zur Förderung des Interesses und der Begeisterung für Progammierung bei Kindern ab 8 Jahren. Dabei wird mit verschiedenen Partnern zusammengearbeitet, mit dem Ziel, Kinder und Jugendliche für die Herausforderungen der digitalen Gesellschaft fit zu machen. Unterstützung erfährt Code Your Life von der Gesellschaft für Informatik, dem Bundesverband der mittelständischen Wirtschaft, Deutschland sicher im Netz und dem Verein n-21: Schulen in Niedersachsen online e.V.

Auf der Webseite der Initiative erhalten Sie eine Vielzahl an Anregungen, wie Sie Progammierung in Ihren Bildungskontext integrieren können. Es werden Lernszenarien beschrieben, Materialien bereitgestellt und verschiedene Tools zum Programmieren Lernen angeboten. Code Your Life arbeitet mit der Programmierumgebung LOGO, setzt den Calliope Mini oder Arduino sowie Minecraft ein.

Lassen Sie sich inspirieren bzw. probieren Sie es selbst aus mit der Code Your Life Akademie:


4.4. Scratch

Scratch ist eine kostenlose, visuelle Programmierumgebung, die für Kinder und Jugendliche zwischen 8 und 16 Jahren konzipiert wurde und mittlerweile eine große Fangemeinde weltweit genießt. Diese Onlinegemeinschaft tauscht sich über ihre pädagogischen Einsätze von Scratch aus und entwickelt so immer neue Ideen, die zum Nachmachen online gestellt werden.

Das Programm wurde 2007 von Mitchel Resnick, Professor für Lernforschung mit dem Ziel entwickelt, mit Hilfe digitaler Technologien Lern- und Experimentierumgebungen für Kinder und Jugendliche zu schaffen, die ihre kreativen Potentiale fördern. Mit Scratch können die kleinere Animationen erstellt, Spiele entwickelt oder Kunst geschaffen werden.

Probieren Sie es selbst aus mit den Tutorials für die ersten Schritte mit Scratch: Erste Schritte mit Scratch

Hinweis: Scratch ist eine browserbasierte Programmierumgebung. Sie müssen dafür kein spezielles Programm herunterladen sondern nutzen Ihren Internetbrowser. Damit Scratch bei Ihnen abgebildet wird, muss in Ihrem Internetbrowser das Addon Adobe Flash Player installiert sein.

4.5. KhanAcademy

Die KhanAcademy ist eine Plattform, die ursprünglich von einem Lehrer entwickelt wurde, um Lehrvideos für seine Schülerinnen und Schüler zur Verfügung zu stellen. Mittlerweile ist eine große Gemeinschaft entstanden, die das Prinzip von kleinen Lehrvideos und interaktiven Lehrformaten aufgegriffen hat, um alle Themen der Naturwissenschaften, Computertechnik, Wirtschaft, aber auch Kunst und Kultur anschaulich visuell aufzubereiten. Die Tools und Materialien können von Kindern und Jugendlichen sowie deren Eltern genutzt werden. Darüber hinaus gibt es ein breites Angebot für pädagogische Fachkräfte.

Probieren Sie es selbst aus: Programmieren lernen mit der KhanAcademy