Coding101

ENTFÄLLT VORERST DAUERHAFT bis sich 3 oder mehr dauerhafte Teilnehmer finden. ANMELDUNG AUF DER DISKUSSIONSSEITE oder mail an bison [ät] chaosdorf.de

ansonsten:
 * VHS Düsseldorf - Programmieren Für Einsteiger

Voraussetzungen
Je nach Sprache solltet Ihr wissen, wie man die Kommandozeile bedient (Linux, Mac, Windows).
 * 1) Keine Ahnung Das Event richtet sich an Anfänger. $Personen, die eine weitere Programmiersprache lernen wollen, haben ganz andere Bedürfnisse und sind hier eher gelangweilt (Wer schon mal was gescriptet hat, bringt gute Grundvoraussetzungen mit und ist ebenfalls richtig ;)
 * 2) Ein lauffähiges System Bitte löst eure Computerprobleme vorher und kommt mit einem lauffähigen System. (Auf dem man auch was installieren kann!!1!)
 * 3) Grundkenntnisse Ihr solltet in der Lage sein, euer System zu bedienen (Installieren, Datei/Ordnermanagement, Multitasking (mit mehreren Programmen/Fenstern gleichzeitig arbeiten) etc.).
 * 1) Editor Ihr solltet im Stande sein, einen Texteditor zu bedienen.
 * 2) Willen Programmieren lernt man nicht über Nacht, bringt ausreichend Willen mit, einen eher länglichen Weg zu beschreiten! Es bringt niemandem etwas, wenn ihr nach dem 2. Mal aufgebt.

Sprache
Ihr bestimmt die Sprache! Solltet ihr da keine konkreten Vorstellungen haben, suchen wir eine, die zu eurem Anwendungsfall passt ;) Solltet ihr keinen Anwendungsfall haben, suchen wir einen schönen.
 * Solange die Sprache nicht totaler Nonsens (Brainfuck, Piet, Zombie, etc.) ist, kriegen wir das schon hin.
 * Total nutzlose, tote und hoffnungslos veraltete Sprachen (Pascal, Basic, Cobol, COBOL, etc.) werde ich niemandem beibringen!
 * Populäre Sprachen, die ich aus $gründen nicht lehren kann: Perl, R, Bash (und ähnliche)

write your own

 * Anfänger lvl 1
 * Anfänger lvl 2
 * Anfänger lvl 3

fix others

 * PHP
 * Python

Spiele
Spielend lernen

Multi

 * Code Minecraft https://code.org/mc
 * keine spezifische Sprache, Grundkonzept
 * Benutze Codeblöcke, um Steve oder Alex auf ein Abenteuer durch diese Minecraft-Welt zu schicken.


 * KnotBot https://store.steampowered.com/app/1269830/KnotBot/
 * keine spezifische Sprache, Grundkonzept
 * sehr einfach gehalten, wunderschöne Grafiken (für kinder geeignet)


 * Hack 'n' Slash http://www.hacknslashthegame.com/
 * keine spezifische Sprache, Grundkonzept (inklusive Versionskontrollsysteme)


 * Human Resource Machine http://tomorrowcorporation.com/humanresourcemachine
 * keine spezifische Sprache, Grundkonzept
 * Human Resource Machine is a puzzle game. In each level, your boss gives you a job. Automate it by programming your little office worker!
 * codecombat http://codecombat.com/
 * Learn to Code Through the Power of Play
 * Program a game character
 * Python, JavaScript, CoffeScript, Clojure, Lua, Io


 * CodingGame http://www.codingame.com/games
 * für Fortgeschrittene / Hard
 * C, C++, Java, C#. PHP, Python2, Python3, Ruby, Javascript, Objective‑C, Go, Haskell, Scala, Perl, Dart, Bash, Pascal, Groovy, Clojure, VB.NET

JavaScript

 * elevatorsaga http://play.elevatorsaga.com/
 * untrusted http://alexnisnevich.github.io/untrusted/
 * warriorjs
 * play: https://warriorjs.com/
 * source: https://github.com/olistic/warriorjs

Assembler
eher für fortgeschrittene


 * BOX-256 http://juhakiili.com/box256/
 * BOX-256 is a tiny game about writing assembly code to pass the graphics tests.
 * TIS-100 http://store.steampowered.com/app/370360/?l=german
 * SHENZHEN I/O http://www.zachtronics.com/shenzhen-io/
 * MHRD: https://store.steampowered.com/app/576030/MHRD/
 * Microcorruption: https://microcorruption.com/

SQL / Databases

 * SQL Island https://sql-island.informatik.uni-kl.de/
 * Schemaverse https://schemaverse.com/

Tutorials

 * Ein einstieg https://exercism.org/
 * account oder GitHub account für den login
 * 55 Sprachen
 * Kurs: Programmieren lernen für Anfänger https://www.codefuchs.com/artikel/programmieren-lernen-fuer-anfaenger/
 * Einfach Programmieren für Kinder (Buch + Gratis App) https://www.carlsen.de/hardcover/einfach-programmieren-fur-kinder/978-3-551-22077-6
 * Learn Assembly Language http://asmtutor.com/
 * How to Start Reverse Engineering Malware http://amanda.secured.org/how-to-start-reverse-engineering-malware/
 * Interactive visual explanations of math and algorithms, using motivating examples from computer games. https://www.redblobgames.com/ (advanced!)

Andere Trainings
für Fortgeschrittene / HARD


 * HackerRank https://www.hackerrank.com/
 * für Fortgeschrittene / HARD
 * codewars http://www.codewars.com/
 * für Fortgeschrittene / Hard
 * JavaScript, CoffeeScript, Ruby, Python, Clojure, Haskell
 * SQL Murder Mystery: https://mystery.knightlab.com/
 * Schemaverse: https://schemaverse.com/
 * Advent Of Code: https://adventofcode.com/
 * Codingame: https://www.codingame.com/
 * HackerRank: https://www.hackerrank.com/
 * Codechef: https://www.codechef.com/
 * Code Golf: https://code.golf/
 * Code Kata: http://codekata.com/
 * Kaggle: https://www.kaggle.com/
 * Pythonbuch-Aufgabensammlung: https://pythonbuch.com/aufgabensammlung.html
 * TrainYourProgrammer: https://trainyourprogrammer.de/python
 * IT-Talents: https://it-talents.de/ - Hier gibt es manchmal Code-Wettbewerbe

Weiteres

 * Eine schöne Übersicht über Programmiersprachen findet sich hier: 99-bottles-of-beer


 * Things I Wish Someone Had Told Me When I Was Learning How to Code And what I’ve learned from teaching others


 * The Zen of Python (can be used in ANY other programming language ;)
 * Learn to Code: the Open Source way
 * Programming, Motherfucker - Do you speak it?


 * ginormous list of free programming books


 * How To Write Unmaintainable Code (Ensure a job for life)


 * Rob Pike's 5 Rules of Programming


 * Doing Terrible Things To Your Code


 * Shooting yourself in the foot in various programming languages

Computer science is the first engineering discipline ever in which the complexity of the objects created is limited by the skill of the creator and not limited by the strength of the raw materials. - Brian K. Reid -