Vorlesung Programmieren

Ähnliche Dokumente
Vorlesung Programmieren

Vorlesung Programmieren

Vorlesung Programmieren

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

Einführung in die Programmierung

Vorlesung Programmieren

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Einführung in die Programmierung

Einführung in die Programmierung Wintersemester 2016/17

Vorlesung Programmieren

Vorlesung Programmieren

Einführung in die Programmierung

Kombinatorische Optimierung Vorlesung für den Bereich Diplom/Master Informatik

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

Definitionen/Vorarbeit zum Thema Java

Algorithmische Methoden zur Netzwerkanalyse

Vorlesung Programmieren

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

Grundlagen der Programmierung (Vorlesung 24)

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

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

Modul Softwareentwicklung

Einführung in die Informatik Turing Machines

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

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18

Erste Schritte in Java

Kapitel 4 - Die Implementierungsphase

Informatik II Datenstrukturen und Algorithmen

Einführung in die Informatik Turing Machines

Praktische Informatik I

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Modelling in the Wild Domains and Abstraction in Model-Driven Software Development

Programme erstellen in Java

Abschnitt 10: Datenstrukturen

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

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Vorlesung Programmieren

systematischen Verarbeitung von Informationen Was ist Informatik?

Eckpunkte der Informatik-Geschichte

2. Einführung. Informatik II für Verkehrsingenieure

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

Software Engineering

12. Rekursion Grundlagen der Programmierung 1 (Java)

Programmieren I. Überblick. Institut für Angewandte Informatik

Objektorientierte. Programmierung und Modellierung. Einführung. Ralf Lämmel.

Programmiersprache. Emily & rica

Grundlagen der Programmierung

Einführung in die Programmierung

Vorlesung Programmieren

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

systematischen Verarbeitung von Informationen Was ist Informatik?

Objektorientiertes Programmieren

Programmieren was ist das genau?

INSTITUT FÜR INFORMATIK

Projekt Systementwicklung

Liste MI / Liste I Programmieren in C++

FlüSchmiede: Einführung in die SoftwareEntwicklung für Handys , P.Möbius, S.Ohm

Dipl. Ing. (FH) Ehrenfried Stuhlpfarrer

Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase)

Digitale Bildverarbeitung in BA/MA

Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus

I.1. Organisatorisches - 1 -

Computergrundlagen Turingmaschinen und Programmierung

Analyse und Modellierung von Informationssystemen

Grundlagen der Programmierung II (GP 2)

Einführung in die Programmierung

Objektorientierte Entwurfsmuster

Programmieren. Kapitel 1: Einführung Was bedeutet Programmieren? Wintersemester 2008/2009. Prof. Dr. Christian Werner

DuE-Tutorien 17 und 18

1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

4.Grundsätzliche Programmentwicklungsmethoden

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

Transkript:

Vorlesung Programmieren Einführung 21.10.2015 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT FÜR INFORMATIK sdq.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 21.10.2015 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 3 21.10.2015 Vorlesung Programmieren: Einführung

Rückblick: Ferranti Mark 1 (1951) Alan Turing (1912-1954) 4

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

Programmierung Wie kann nun ein Computer dazu gebracht werden, jeden präzise festgelegten Berechnungsprozess auszuführen? Durch Programmierung! 6

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

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

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

Warum nicht Umgangssprache? mehrdeutig! 10

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

Rolle der Programmierung Für die Softwaretechnik Programmcode nur eine von vielen Sichten auf ein Softwaresystem Weitere zentrale Sichten... Software-Architektur Anforderungen Programmcode Fokus dieser Vorlesung Für das weitere Studium Grundlegende Programmierfähigkeiten unerlässlich! Fördert strukturiertes und algorithmisches Denken 12 21.10.2015 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 13

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