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

Ähnliche Dokumente
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

10. Programmierungs-Phase: Objektorientierung Software Engineering

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

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -

1. Einführung Grundlagen der Programmierung 1 (Java)

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Einführung Advanced Programming Techniques. Wintersemester 2009/10 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

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

4. Kontrollstrukturen Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Einführung in die Programmierung

Einführung in die Programmierung Wintersemester 2016/17

1.3 Geschichte der Programmiersprachen

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -

Modellierung und Programmierung 1

Grundlagen der Modellierung und Programmierung, Übung

Informatik-Seminar. Auftakt. Informatik. Grundlagen

Softwaretechnik. Wesentliche Inhalte der Vorlesung

Vorlesung Programmieren

Vorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen

Funktionale Programmierung (in Clojure)

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

Vorlesung Programmierung

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Ein Streifzug durch die Programmiersprachenlandschaft in der Schule. Gerald Futschek TU Wien Informatiktag 2013

Programmierkurs Python I

Wie entsteht ein Computerprogramm?

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

Geschichte der Programmiersprachen

Sprachen und Programmiersprachen

Prof. Dr. Detlef Krömker Carsten Heep. Institut für Informatik. Johann Wolfgang Goethe-Universität

Vorlesung Programmierung

Algorithmen und Datenstrukturen

Stichworte zur Ideengeschichte der Programmiersprachen

Einführung in die Programmiertechnik

Vorlesung Programmierung

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

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

Programmieren lernen mit Perl

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Programmierung WS 2014/ Algorithmus, Berechenbarkeit und Programmiersprachen 2-1

Deklarative Programmierung

Einführung in die Programmierung

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Informatische Allgemeinbildung

Von der Chomsky-Hierarchie

Software-Praktikum. Überblick und Zeitplan

Objektorientiertes Software-Engineering

Informatik Vorkurs Sommersemester 2015

2 Grundlagen der Programmierung

11. Komponenten Grundlagen der Programmierung 1 (Java)

1 Einleitung. 1.1 Definition und Geschichte. Holger Vogelsang und Peter A. Henning

Einführung in die Informatik

Programmieren 2 - Java

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

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

Grundlagen der Informatik

In den weiterführenden Vorlesungen

Propädeutikum Programmiersprache C und Mathematik 2014

Funktionale Programmierung Einführung

6. Programmiersprachen im Überblick

Programmieren in Haskell Einführung

Info B VL 1: Einführung p.1

Logische Programmierung

Praktische Informatik I

Ingenieurinformatik. Einführung in die Programmiersprache C

allgemeine Übersicht / Struktur

Einführung in die Informatik I (autip)

1.3.1 Java-Compiler installieren

Konzepte der Programmiersprachen

Teil 1: Einführung 1.5 Programmierparadigmen Prof. Dr. Max Mühlhäuser FG Telekooperation TU-Darmstadt

Grundlagen der Programmierung UE

Informatik I: Einführung in die Programmierung

Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg. Algorithmen. von Hammurapi bis Gödel. 2., verbesserte Auflage Verlag g;> Harri Deutsch

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet

Grundlagen der Programmierung UE

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Vorkurs Informatik WiSe 16/17

Programmiersprachen Proseminar

5.1 Algorithmen Der Algorithmenbegriff

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Übungsklausur Programmieren / Algorithmen und Datenstrukturen 1

Einführung in die Programmierung

Vorkurs Informatik WiSe 17/18

Einführung in die Programmierung

Anwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG

Semantik von Programmiersprachen

Software-Entwicklung

Sieben Wochen, sieben Sprachen

Liste MI / Liste I Programmieren in C++

Transkript:

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

Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer zu werden, entschied ich mich für die intellektuell anspruchsvollere Aufgabe und wurde Programmierer! Edsger W. Dijkstra (1930 2002) auf der sd&m-konferenz in Bonn, 2001 2

Organisation Vorlesung - Wöchentlich Fr. - Folien können von meiner Homepage heruntergeladen werden: www.fbi.h-da.de/~b.humm - Kurze Vorlesungsteile verschränkt mit Hörsaalübungen - Bitte Notebooks für Hörsaalübungen mitbringen. Wer kein eigenes Notebook besitzt, kann sich über das Sekretariat ein Notebook vom Fachbereich leihen - Video-Aufzeichnung der Vorlesungen Praktikum - Zweiwöchentlich - Bearbeitung der Übungsaufgaben in Zweiergruppen 3

Organisation (2) Entwicklungsumgebung - Für Hörsaalübungen und Praktika - Alle Werkzeuge sind frei verfügbar - Bitte vorab auf Notebook installieren - Installationsanleitung auf meiner Homepage www.fbi.h-da.de/~b.humm Prüfung - Praktische Programmierprüfung am Ende des Semesters 4

Was ich gerne vermitteln möchte Programmieren / Algorithmen und Datenstrukturen 1 Konzepte Programmieren Werkzeuge Systementwurf Programmiersprachen Algorithmen u. Funktionen Kontrollstrukturen Datenstrukturen Objekt-Orientierung Logo BlueJ C++ 11 Syntax & Semantik Guter Programmierstil Erweiterte Konzepte Elica Logo Environment BlueJ NetBeans IDE Praktikum, Diskussionen, Ausblicke zum Weiterdenken 5

Überblick über den Kurs Einführung Operationen Variablen Kontrollstrukturen Rekursion Objekte und Klassen C++ Unit Testing Zeiger Komposition Vektoren Verkettete Listen Sortieren und Suchen Logo BlueJ C++ 6

Vom Problem zum Programm 7 Mensch Maschine Analyse Design Compilation Programmierung Maschinenprogramm Deployment Ausführung Problem Spezifikation Design / Algorithmus Programm Laufzeitumgebung komplex mehrdeutig semi-formal nicht vollständig semi-formal nicht vollständig präzise meist normiert unabhängig vom Prozessor primitiv abhängig vom Prozessor auf konkretem Prozessor

Programmieren ist ein Problem so exakt beschreiben, dass es ein Computer lösen kann eine kreative Tätigkeit eine Ingenieurtätigkeit Nur wenige Menschen können gut programmieren Any fool can write code that a computer can understand. Good programmers write code that humans can understand. Martin Fowler, 2008 8

Familien von Programmiersprachen ALGOL, AWK, BASIC, C, COBOL, FORTRAN, Pascal, PL/1, REXX, Cyclone je Prozessortyp Assemblerund Maschinensprachen Prozedurale Sprachen Funktionale Sprachen LISP, Logo, ML, Scheme, Haskell, OPAL, Miranda 9 Auzeichnungssprachen (z.b. HTML, XML), Datenbanksprachen (zum Beispiel SQL, dbase, Clipper), etc. Sonstige Sprachen und Umgebungen Programmiersprachen Logische und regelbasierte Sprachen Objektorientierte Sprachen Prolog OPS5, XSLT Smalltalk, Eiffel, C++, Objective-C, Java, C#, Oberon, Python, Ruby

Algorithmen im Alltag: Kochrezepte 10

Algorithmen in der Geometrie: Quadrat zeichnen Wie würden Sie es tun? act Quadrat zeichnen Start (Eingabe: Länge) zeichne Linie: Länge drehe Lineal: 90 zeichne Linie: Länge drehe Lineal: 90 zeichne Linie: Länge drehe Lineal: 90 zeichne Linie: Länge 11 Ende

Und das programmieren wir nun 12

Dafür verwenden wir eine Datei (Professional Programming Style) Siehe Info Elica Environment Professional Programming Style Bitte den Code im Online Dokument unter Code Sharing Einleitung ablegen und Namen angeben. Bitte vorher prüfen, ob bereits eine identische Lösung eingetragen ist (dann Eintrag nicht nötig) 13