Vorlesung Programmieren

Ähnliche Dokumente
Vorlesung Programmieren

Vorlesung Programmieren

Vorlesung Programmieren

Vorlesung Programmieren

Einführung in die Programmierung

Vorlesung Programmieren

Einführung in die Programmierung Wintersemester 2016/17

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programme erstellen in Java

Vorlesung Programmieren

Informatik I: Einführung in die Programmierung

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Vorlesung Programmieren

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Modul Softwareentwicklung

Vorlesung Programmieren

Softwaretechnik 1 5. Tutorium

Vorlesung Programmieren

Universität Stuttgart Vorstellung der Studiengänge Informatik und Softwaretechnik

Vorlesung Programmieren

Einführung in die Informatik Turing Machines

Tutorium Softwaretechnik I

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Einführung in die Informatik Turing Machines

1 Einführung: Algorithmen. Algorithmen und Datenstrukturen WS 2012/13. Pro f. Dr. Sán do r Fe k e te

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Informatik 1. für Kommunikationstechniker, Mechatroniker. Teil 1 - Wintersemester 2012/13

Formale Spezifikation mit Java Modeling Language

Programmieren 2 - Java

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Programmierung in C/C++

Compiler. Einführung. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München. Letzte Änderung:

Auszug AIFB. Module. _und_prüfung

Vorlesung Programmieren

Ziele und Tätigkeiten von Architekten

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Willkommen zum Studium an der Informatik-Fakultät des KIT

Vertiefungsrichtung Produktionstechnik

Probe-Klausur Software Engineering Fachbereich BW, für WINFO

Theoretische Grundlagen der Informatik

AMTLICHE BEKANNTMACHUNG

Klausurtermine Informatik WS 2017/18 (Prüfungszeitraum vom ) Stand:

Was ist Informatik? Alexander Lange

Objektorientiertes Programmieren

Advanced Topics of Software Engineering. Organisatorische Hinweise

Compiler: Einführung

Einführung in die Informatik I (autip)

Die Wissenschaft der systematischen Verarbeitung von Informationen,... insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern.

Implementierung des Rubik-Würfels für Java-fähige Mobile Geräte

Kapitel 1: Informationsverarbeitung durch Programme

Das Doppelpack für die Informatik

Kennenlernen. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD)

Masterstudiengänge am Institut für Informatik

allgemeine Übersicht / Struktur

Vorlesung Programmieren

Hybrid model approach for designing fish ways - example fish lift system at Baldeney/Ruhr and fish way at Geesthacht /Elbe

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

systematischen Verarbeitung von Informationen Was ist Informatik?

Algorithms for graph visualization

Vorkurs Informatik WiSe 17/18

Einführung in die Programmierung. Organisatorisches. Skript zur Vorlesung Einführung in die Programmierung

Dipl. Ing. (FH) Ehrenfried Stuhlpfarrer

Software-Entwurfsmuster

Der Lehrstuhl Programmierparadigmen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Informatik I. Einführung in Java. Begrüßung. Zusatzveranstaltung

Software-Praktikum. Überblick und Zeitplan

Grundlagen der Programmierung

Informatik-Studiengänge an der Universität zu Lübeck

Vorlesung Programmieren

Liste MI / Liste I Programmieren in C++

Das Studium im Fach Informatik

Angewandte Mathematik + Informatik dual studieren

Doppelmaster KIT Tongji Universität Shanghai

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Mobilität der Zukunft - wie könnte diese aussehen und was ist dafür zu tun?

Modellierung Prof. Dr. Kleine Büning WS 2009 / 2010

Transkript:

Vorlesung Programmieren Einführung 26.10.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.0 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), KIT-FAKULTÄT FÜR INFORMATIK are.ipd.kit.edu KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Was ist Programmieren? 2 26.10.2016 Vorlesung Programmieren: Einführung

Anfänge der Programmierung 1840er Jahre: Ada Lovelace beschreibt Lösungsverfahren für ein mathematisches Problem auf einem mechanischen Rechenapparat Erstes Programm Ada Lovelace gilt als erste Programmiererin 1940er Jahre: Konrad Zuse entwickelt den Plankalkül Erste höhere Programmiersprache Abstrahiert von Maschinensprache P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) R0[:8.0] max(v0[:8.0],v1[:8.0]) Z1[:8.0] max(z1[:8.0],v2[:8.0]) R0[:8.0] END (...) Quelle: http://de.wikipedia.org/wiki/plankalkül Quellen: de.wikipedia.org/wiki/analytical_engine, de.wikipedia.org/wiki/ada_lovelace 3 26.10.2016 Vorlesung Programmieren: Einführung

Rückblick: Ferranti Mark 1 (1951) Alan Turing (1912-1954) Science Museum, Creative Commons BY-NC-ND 4 26.10.2016 Vorlesung Programmieren: Einführung

Ferranti Mk. 1 Manual Alan Turing (1912-1954) Elektronische Computer sind dazu gedacht, jeden präzise festgelegten Berechnungsprozess auszuführen, der auch durch einen menschlichen Operator in einer disziplinierten, aber stupiden Weise bewerkstelligt werden könnte. 5 26.10.2016 Vorlesung Programmieren: Einführung

Programmierung Wie kann nun ein Computer dazu gebracht werden, jeden präzise festgelegten Berechnungsprozess auszuführen? Durch Programmierung! 6 26.10.2016 Vorlesung Programmieren: Einführung

Programmierung illustriert Aufgabe: Aufstellung der Personen der Größe nach Verfügbare Instruktionen: 1. nach links oder rechts weitergeben 2. nach links oder rechts weitergeben 3. Personen, die oder halten, wechseln den Platz Beispielablauf: 1. nach rechts 2. Platz wechseln 3. nach links 4. Platz wechseln 7 26.10.2016 Vorlesung Programmieren: Einführung

War das nun Programmieren? Zum Teil ja: Präzise festgelegter Prozess Eindeutige Instruktionen Aber nicht:... in stupider Weise bewerkstelligt... Es fehlt: Ein allgemeiner Plan, der angibt, welcher Schritt als nächstes zu tun ist Allgemein: für beliebige Anzahl von Personen Möglichst abstrakt, d.h. (z.b.) nicht nur auf Personen bezogen Dies wäre dann ein Programm! 8 26.10.2016 Vorlesung Programmieren: Einführung

Unsere Programmiersprache: Java Java Entwurfsziele: Einfach, objekt-orientiert und vertraut (familiar) (für Programmierer) Robust und sicher Architekturneutral und portabel Performant Interpretiert, nebenläufig und dynamisch Warum Java als Programmiersprache? Warum nicht Maschinensprache? Warum nicht Umgangssprache? 9 26.10.2016 Vorlesung Programmieren: Einführung

Warum nicht Umgangssprache? mehrdeutig! 10 26.10.2016 Vorlesung Programmieren: Einführung

Was Sie in dieser Vorlesung lernen Entwicklung von Verfahren (Algorithmen) zur Lösung einfacher Probleme Problem-Modellierung in einer Programmiersprache Fähigkeit zur Abstraktion Sauber zu programmieren! Lesbare, verständliche, leicht wartbare Programme Nachvollziehbare Modellierung Gute Strukturierung, gute Dokumentation 11 26.10.2016 Vorlesung Programmieren: Einführung

Rolle der Programmierung Für die Softwaretechnik Programmcode nur eine von vielen Sichten auf ein Softwaresystem Weitere zentrale Sichten... Software-Architektur Anforderungen Für das weitere Studium Grundlegende Programmierfähigkeiten unerlässlich! Fördert strukturiertes und algorithmisches Denken Programmcode Fokus dieser Vorlesung 12 26.10.2016 Vorlesung Programmieren: Einführung

Was kann ich mit guten Programmierkenntnissen anfangen? Mitarbeit in Open-Source-Projekten Mitarbeit an interessanten Projekten in einem Unternehmen Selbständig machen Entwicklung von Apps für Smartphones Gesellschaftliche Probleme lösen (Digitalisierung) Neue Mobilitätskonzepte Energieversorgung Fabrik der Zukunft Neue medizinische Geräte 13 26.10.2016 Vorlesung Programmieren: Einführung

Wohin geht die Reise? Alan Turing über den Ferranti Mark I Computer: This is only a foretaste of what is to come (...). (...) I do not see why it should not enter any of the fields normally covered by the human intellect and eventually compete on equal terms. 14 26.10.2016 Vorlesung Programmieren: Einführung