Vorlesung Programmieren. Inhalt. Warum mit Computern beschäftigen? Einführung Was bedeutet Programmieren? 1. Von Menschen und Computern
|
|
- Viktoria Schulze
- vor 6 Jahren
- Abrufe
Transkript
1 Vorlesung Programmieren Einführung Was bedeutet Programmieren? Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck Inhalt 1. Von Menschen und Computern 2. Realität und Modell 3. Verantwortung des Informatikers 4. Wie entsteht gute Software? 5. Programmieren als Wissenschaft, Handwerk und Kunst 6. Schlussfolgerung 1-2 Warum mit Computern beschäftigen? Quelle: 1
2 Warum mit Computern beschäftigen? Der Computer soll für uns Arbeit erledigen Berechnungen durchführen Tabellenkalkulation Ballistische Berechnungen Simulationen (Informatik, Physik, Chemie, Genetik, usw.) Signale erfassen, auswerten und darstellen Intelligente Ampelsteuerung, Verkehrsleitsysteme Computertomographie (CT), Magnetresonanztomographie (MRT) Mobilfunk Kommunikationsaufgaben erledigen Vernetzung von Computern, , Skype, Facebook, Twitter, 1-4 Effizienzsteigerung 1-5 Hauptaufgabe des Programmierers Der Maschine beibiegen, was sie tun soll Problem: Computer sind dumm Security - 04 Cryptology #6 2
3 Wie lernen Computer diese Tätigkeiten? Aufgabe: Lies eine Ziffer von der Tastatur ein, multipliziere sie mit zwei. Danach gib das Ergebnis auf den Bildschirm aus Computer verstehen keine menschliche Sprache Diese Aufgabe kann so nicht ausgeführt werden Bauartbedingt verstehen Computer nur Sprachen, für die sie gebaut worden sind Sog. Maschinensprachen 1-7 Bauartbedingte Funktionen Taschenrechner hat nur bestimmte Befehle Sog. Maschinensprache Mögliches Programm 1+2=M+C9/2=- MR+6= Maschinensprache Beispiel für x86 PCs : EA C0 07 B4 00 CD 16 2C C : C1 B4 0E BB B0 0D CD 10 B0 20 CD 10 CD : B0 0D CD C8 3C DB 3C 3A 72 0C 3C : 73 D3 B0 31 CD C8 2C 0A CD 10 EB C Problem: Maschinensprache ist (für Menschen) schwer verständlich Daher: Speziell ausgebildete Fachkräfte, die Maschinensprache fehlerfrei erzeugen können Diese heißen Programmierer 1-9 3
4 Weitere Aufgaben des Programmierers Fachspezialist Programmierer Computer Anwender 1-10 Aufgaben des Programmierers Problem, das zu lösen ist, verstehen Problem in (mathematisches) Modell überführen Extrem wichtiger Schritt Modell als Computerprogramm implementieren Sicherstellen, dass das Programm funktioniert 1-11 Modell Formal beschreibbares, typischerweise vereinfachtes, Abbild der Realität bzw. eines realen Systems Repräsentiert Teilsystem, das unter der gegebenen Fragestellung als relevant betrachtet wird Was ist relevant für das Modell? Ist eine mathematische Modellierung angemessen? Wie findet man sinnvolle (mathematische) Modelle? 4
5 Modellbildung Modell muss Realität abbilden Aber zugleich auch (technischen) Anforderungen der Maschine genügen Modelle sollten möglichst einfach sein KISS: Keep it small, simple, stupid Modelle sollten flexibel und robust sein Spätere Anpassung ist u.u. erforderlich! Daher: Erfahrung des Modellierers hilfreich! 1-13 Beispiel: Modell für Planentenbewegungen Anwendungsbereich: Berechnung der Planentenbewegungen Wirklichkeit: Planeten des Sonnensystems Modell: Newtonsche Axiome 1-14 Beispiel 2: Wie verarbeitet ein Computer Schrift? Computer können nur mit Zahlen umgehen Dennoch gibt es ja scheinbar Buchstaben auf dem Bildschirm Zahlen können bei der Darstellung als Zeichen interpretiert werden Modell: Abbildung von Zahlen zu Buchstaben Früher gab es verschiedene solcher Abbildungen Es war daher schwer, Dokumente zwischen verschiedenen Rechners auszutauschen Rechner A: Hallo Rechner B: H/%%? Security - 04 Cryptology #15 5
6 Standard Abbildung: ASCII American Standard Code for Information Interchange Standard für Computer weltweit Definiert Abbildung von Nummer zu Zeichen Zeichen 0 bis 128 Beispiel: 65 A Zeichen sind länderspezifisch Bildquelle: Ist das Modell ausreichend? Es gibt ja offensichtlich mehr als 256 verschiedene Zeichen auf der Welt Wie stellen Griechen, Russen, Chinesen, etc. ihre Zeichen im Computer dar? Lösung: Unicode Modell: Größere Tabelle Kompatibel mit ASCII 65 bedeutet nach wie vor A Security - 04 Cryptology #17 Unicode: Griechische Buchstaben Security - 04 Cryptology #18 6
7 Unicode: Mathematische Symbole Security - 04 Cryptology #19 Modelle in Wissenschaft & Technik Beispiel: Steuerungen, die die Wirklichkeit verändern Regelkreise: Konvergieren gegen Sollwert s Wenn das System im Gleichgewicht ist, gilt Istwert = Sollwert Sollwert s Stellgröße Regler Regelstrecke Regelgröße (Ist-Wert) Störgröße Zu regelnder Prozess 1-20 Beispiel-Regelkreis: Tempomat Regelstrecke (Aspekt der Wirklichkeit) Eingestellte Reisegeschwindigkeit Regelgröße (gemessene Entität) Geschwindigkeit v Regler (Vergleich: Ist- und Sollwert) Berechnet Änderung der Stellgröße über Modell Stellgröße (wirkt auf Regelstrecke ein) Beschleunigung oder Abbremsen Störgröße Gefälle, Wind, etc. 7
8 Was passiert bei ungeeigneten Modellen? Probleme bei der Benutzung von Maschinen 1-22 Was passiert bei ungeeigneten Modellen? cat inttest.c int main() { int a = ; int b = ; int c = a * b; printf("%i*%i=%i\n",a,b,c); } pfisterer@itm01:~$ gcc inttest.c -o inttest pfisterer@itm01:~$ chmod +x inttest pfisterer@itm01:~$./inttest * = pfisterer@itm01:~$ 1-23 Was passiert bei ungeeigneten Modellen? Ariane-5-Unglück am 4. Juni 1996 Software teilweise von Ariane 4 Ariane 5: höhere Beschleunigung als Ariane 4 Dadurch kam es zu einem Überlauf (siehe vorherige Folie) Brachte Teilsystem des Steuerungssystems zum Absturz Schaden: ca. 500 Mio. US$
9 Was passiert bei ungeeigneten Modellen? Security - 04 Cryptology #25 Verantwortung des Informatikers Der Computer ist schuld ist eine faule Ausrede Verantwortung tragen immer Menschen Und zwar sowohl für die Spezifikation als auch für die Implementierung und deren Verifikation 1-26 Verantwortung (Spezifikation) Ist die Spezifikation adäquat? Dies können (und sollen) Informatiker i.a. nicht allein entscheiden Bewertung schließt oft nicht-technische Abwägungen mit ein Effizienz der Datenverarbeitung vs. Datenschutz Wirtschaftlichkeit vs. Sicherheit
10 Verantwortung des Informatikers (Implementierung) Ist die Implementierung korrekt (im Sinne der Spezifikation), robust (funktioniert noch nach Änderungen), fehlertolerant, angenehm zu benutzen, gut wartbar? Passiert auch bei Fehlbedienung keine Katastrophe? Arbeiten Benutzer gern damit? Lassen sich Anpassungs- und Änderungswünsche leicht erfüllen? Ist das System wirtschaftlich? Gestaltungsrichtung und -spielraum Mensch-Mensch Funktionsverteilung Gestaltung der Arbeitsabläufe Mensch-Rechner Funktionsverteilung Werkzeug - Gestaltungsrichtung - Gestaltungsspielraum Dialog Ein/Ausgabe Hardware Gestaltungsebenen Hardware, Arbeitsplatz und Arbeitsumgebung Software Organisatorischer Bereich nach Koch, Reiterer et al Herausforderungen Beispiel Krankenhaus In a retrospective review of 14,000 in-hospital deaths, communication errors were found to be the lead cause, twice as frequent as errors due to inadequate skills. zitiert aus: Wilson RM, Runciman WB, Gibberd RW, Harrison BT, Newby L, Hamilton JD. The quality in Australian health care study. Medical Journal of Australia 1995, 163(9):
11 Wie entsteht gute Software? Programmierung von Computern (und vorangehende Modellierung) ist nicht einfach Vermeidung der (gröbsten) Fehler Verschiedene Konzepte zur Strukturierung des Softwareentwicklungsprozesses Wir betrachten exemplarisch Wasserfallmodell (Winston Royce, 1970) V-Modell (Barry Boehm, 1979) Spiralmodell (Barry Boehm, 1988) 1-31 Wie entsteht gute Software? Wasserfallmodell (Winston Royce, 1970) Wichtig: Lastenheft und Pflichtenheft Übergang bei definierten Ergebnissen Rücksprung um systembedingte Fehler in der aktuellen Kaskade in der vorhergehenden zu beheben
12 V-Modell (Barry Boehm, 1979) Standard bei öffentlichen Projekten Keine so strikten Übergänge wie im Wasserfallmodell 1-34 Spiralmodell (Barry Boehm, 1988) 1-35 Besonders Wichtig Frühe Phasen der Entwicklung! Kosten eines Fehlers Projektfortschritt
13 Programmieren Wissenschaft, Handwerk oder Kunst? Softwareentwicklungsprozess sehr facettenreich Verschiedene Möglichkeiten anschauen, wie man sich diesem Thema nähern kann: Wissenschaft Handwerk Kunst 1-37 Programmieren als Wissenschaft Programmiersprachen oder Konzepte entwerfen Objektorientierung, Aspektorientierung, Funktionale Programmierung usw. Übersetzer (Compiler): Programmiersprache Maschinencode Wichtige Grundlage: Formale Sprachen Weitere Elemente Beweisbarkeit der Korrektheit von Programmen Techniken zur Effizienzsteigerung Strukturierung des Entwicklungsprozesses 1-38 Programmieren als Wissenschaft (2) Beispiel INTERCAL ( The Programming Language From Hell Auszug aus einem Programm zur Berechnung von Primzahlen DO READ OUT #2 DO.10 <- #1 PLEASE COME FROM (23) DO.11 <-!10$#1'~'#32767$#1' DO.12 <- #1 PLEASE COME FROM (16) DO.13 <-!12$#1'~'#32767$#1' DO.1 <-.11 DO.2 <-.13 DO (2030) NEXT DO (11) NEXT (15) DO (13) NEXT (13) DO.3 <- "?!4~.4'$#2"~#
14 Programmieren zum Geldverdienen Security - 04 Cryptology #40 Programmieren als Kunst Kreativer Umgang mit Computern Grafik, Sound, Algorithmen, Konstruktion intelligenter Systeme Hacking ( Cracking) A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. (Jargon File) A person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular. (RFC 1392) Interesse? Chaos Computer Club e.v. ( Programmieren als Kunst
15 Pixel City (Quelle: YouTube) Programmieren als Handwerk Sicheres Beherrschen von Programmiersprachen (min. eine) Sicherer Umgang mit Computern und Entwicklungswerkzeugen Fundiertes theoretisches und praktisches Wissen über Datenstrukturen (Array, Liste, Stack, HashTable, etc.) Basisalgorithmen (Sortieren und Suchen von Daten) Solide Kenntnisse über den Anwendungsbereich Basiswissen Softwareergonomie 1-44 Programmieren als Handwerk Typische Arbeitsumgebung
16 Zusammenfassung Programmieren ist eine sehr breit gefächerte Tätigkeit Diese Veranstaltung Weniger Wissenschaft oder Kunst Mehr Handwerk Voraussetzung für alles Weitere Genau wie in anderen Handwerken gilt Übung macht den Meister Nutzen Sie Ihre Zeit und schreiben Sie Programme!
Programmieren. Kapitel 1: Einführung Was bedeutet Programmieren? Wintersemester 2008/2009. Prof. Dr. Christian Werner
Institut für Telematik Universität zu Lübeck Programmieren Kapitel 1: Einführung Was bedeutet Programmieren? Wintersemester 2008/2009 Prof. Dr. Christian Werner 1-2 Inhalt 1. Von Menschen und Computern
MehrWas ist Informatik? Alexander Lange
Was ist Informatik? Was ist Informatik? Alexander Lange 12.11.2003 Was ist Informatik? Inhalt 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Das Wort»Informatik«Die Idee Teilgebiete der Informatik Technische Informatik
MehrVorlesung Programmieren
Vorlesung Programmieren Organisation Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Ziele dieser Veranstaltung Ziel: Wissen, wie man Computerprogramme
MehrVorlesung Programmieren
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
MehrPraktische Informatik I
Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?
MehrGrundlagen der Programmierung! Kapitel 1: Einführung! Ziel der Vorlesung Grundlagen der Programmierung! Überblick über das Einführungs-Kapitel!
Herzog Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2015/2016 Kapitel 1: Einführung Grundlagen der Programmierung TUM Wintersemester 2015/16 Kapitel
Mehr1.1 Informatik Verantwortung des Informatikers. 6. Modellierung in der Informatik. Technische Universität. Braunschweig. 1.
Algorithmen & Datenstrukturen I WS 2002/03 Prof. Dr. Stefan Fischer 1-1 1.1 Informatik: Grobe Umschreibung Informatik ist die wissenschaftliche Auseinandersetzung mit Daten- oder Informationsverarbeitung
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare
MehrInformatikgrundlagen (WS 2016/2017)
Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrTelecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only
Technische Universität Darmstadt Telecooperation/RBG Grundlagen der Informatik I Thema 0: Einführung Dr. Guido Rößling Copyrighted material; for TUD student use only 1 Worum es in der Informatik nicht
Mehr!" Aktive Beherrschung von Modellierungsmethoden! !" Aktive Beherrschung einiger theoretischer Grundlagen!
Ziel der Vorlesung Grundlagen der Programmierung! Grundlagen der Programmierung! Dr. Christian Herzog! Technische Universität München! Wintersemester 2010/2011! Kapitel 1: Einführung! Copyright 2010 Bernd
MehrSystemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich
Einführung 1 Systemtheorie 1 Formale Systeme 1 #342234 http://fmv.jku.at/fs1 WS 2006/2007 Johannes Kepler Universität Linz, Österreich Univ. Prof. Dr. Armin Biere Institut für Formale Modelle und Verifikation
Mehrallgemeine Übersicht / Struktur
allgemeine Übersicht / Struktur Übergreifende fachliche Kompetenz selbstständiges informatisches Problemlösen Kompetenzbereiche Prozesse Gegenstände Kompetenzerwartungen Verknüpfung von Prozessen und Gegenständen
MehrInterdisziplinäre fachdidaktische Übung: Formale Sprache Definitionen, Funktionen
Interdisziplinäre fachdidaktische Übung: Formale Sprache Definitionen, en SS 2013: Grossmann, Jenko 1 Definitionen Folgenden Begriffe werden oft synonym verwendet: Formale Sprache Programmiersprache Computersprache
MehrVorlesung Programmieren
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
MehrEIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217
EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?
MehrMotivation und Überblick
Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ
Mehr! Aktive Beherrschung von Modellierungsmethoden. ! Aktive Beherrschung einiger theoretischer Grundlagen
Ziel der Vorlesung Grundlagen der Programmierung Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München intersemester 2008/2009 Kapitel 1: Einführung! Aktive Beherrschung von
MehrDas Praktikum mit Seminar vertieft die in der Vorlesung erworbenen Fähigkeiten in theoretischer und praktischer Hinsicht:
66/2006 vom 13.10.2006 FU-Mitteilungen Seite 25 e. Module affiner Bereiche Modul: Chemie für Physiker Aneignung der Grundlagen der Chemie mit Ausnahme der organischen Chemie sowie Erlangung eines Allgemeinwissens
MehrTechnische. Kybernetik
Technische Kybernetik Gliederung Was ist Kybernetik? Regelung und Rückkopplung Typischer Regelkreis Konkretes Beispiel: das invertierte Pendel Allgemeine Kybernetische Vorgehensweise Problemlösung schafft
MehrEIGENSCHAFTEN VON SPRACHEN
Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler EIGENSCHAFTEN VON SPRACHEN EWS, WS 2016/17, Pfahler C-1 Einführung Sprachen in der Informatik werden für bestimmte Zwecke
Mehr1. Übersicht und Organisatorisches
Sommersemester 2010 Proseminar Beauty is our business 1. Übersicht und Organisatorisches Theory of Programming Prof. Dr. W. Reisig 1 Beauty is our Business... so heißt ein bekannter Klassiker des Informatikers
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 02 Codierung, Entscheidungsgehalt, Strings, Arrays Clemens Lang T2 4. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/14 Organisatorisches Ein weiteres Don t
MehrTheoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!
Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!
Mehr- Filme - Arbeitsblätter (digital und analog) - Internetrecherche mit de ipad - Museumsbesuch
Fach Informatik/ Jahrgangsstufe 6 Nr. 1 des s Thema: Alles Informatik?! Zahl der Unterrichtsstunden: 8-12 lernen den geschichtlichen Hintergrund des Computers kennen und erläutern diesen. lernen Begriffe
MehrPROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK. Created by Michael Kirsch & Beat Rossmy
PROCESSING EINE EINFÜHRUNG IN DIE INFORMATIK Created by Michael Kirsch & Beat Rossmy INHALT 1. Einleitung 1. Ziele 3. Anwendung 1. Sprung ins kalte Wasser 2. Der Informatiker Ein Klischee 2. Wir basteln
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
MehrWillkommen an der ETH Zürich
Willkommen an der ETH Zürich Willkommen in der Informatik Gustavo Alonso, Studiendirektor,, ETH Zürich 04.11.2015 2 Informatik @ ETH seit 60 Jahren Wann Was 1948 Institut für angewandte Mathematik 1950
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrEinführung in die Informatik I
Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik
MehrSystemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4
Einführung intro 1 Grobklassifizierung r Methoden in der Informatik intro 2 Systemtheorie 1 Systeme 1 #342234 http://fmv.jku.at/fs1 WS 2006/2007 Johannes Kepler Universität Linz, Österreich Univ. Prof.
MehrProgrammieren in der Computerorientierten Mathematik I
Programmieren in der Computerorientierten Mathematik I Einführungsveranstaltung Freie Universität Berlin 20. Oktober 2017 Tobias Kies Angewandte Mathematiker und ihre Fehler reales Problem Modellfehler
MehrInformatik I - Programmierung Globalübung Hoare-Kalkül. Thomas Weiler. Fachgruppe Informatik RWTH Aachen. T. Weiler, RWTH Aachen - 1 -
Informatik I - Programmierung Globalübung 11.11.2003 Hoare-Kalkül Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Ariane 5 Die Ariane 5 ist das jüngste Modell der Trägerrakete
MehrC. A. R. Hoare. An Axiomatic Basis for Computer Programming. Nicolas Schelp. Proseminar Assertions SS 2007
C. A. R. Hoare An Axiomatic Basis for Computer Programming Nicolas Schelp Proseminar Assertions SS 2007 Inhalt Motivation Kurze Biographie Der Hoare-Kalkül Axiome und Inferenzregeln des Hoare-Kalküls Die
MehrKapitel 1: Informationsverarbeitung durch Programme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 1: Informationsverarbeitung
MehrStud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
MehrInformationsdarstellung 2.2
Beispiele für die Gleitkommadarstellung (mit Basis b = 2): 0,5 = 0,5 2 0-17,0 = - 0,53125 2 5 1,024 = 0,512 2 1-0,001 = - 0,512 2-9 3,141592... = 0,785398... 2 2 n = +/- m 2 e Codierung in m Codierung
MehrInhalt. Vorwort...5 Hinweise zum Buch... 7 Abbildungsverzeichnis...15 T abellenverzeichnis... 19
Inhalt Vorwort...5 Hinweise zum Buch... 7 Abbildungsverzeichnis...15 T abellenverzeichnis... 19 1 Grundlagen... 21 1.1 Informatik... 21 1.1.1 Was ist Informatik?...21 1.1.2 Wozu Informatik-Kenntnisse?...
Mehr7. Übung zur Vorlesung Grundlagen der Informatik
7. Übung zur Vorlesung Grundlagen der Informatik 13.Interne Darstellung von Daten In der Vorlesung wurde bereits darauf hingewiesen, dass ein Rechner intern lediglich die Zustände 0 (kein Signal liegt
MehrProbeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16
Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
Mehr2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise
Teil 1 Kapitel 2 Rechner im Überblick 2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise Frank Schmiedle Technische Informatik I 2.1 Rechnersichten Modellierung eines Rechners Zusammenspiel
MehrIntroduction to Technologies for Interaction Design. Einführung
Introduction to Technologies for Interaction Design Einführung Organisatorisches Vorlesung: Rita Freudenberg, Universität Magdeburg, Fakultät für Informatik, Institut für Simulation und Graphik Tel. 0391
MehrZahlen- und Buchstabencodierung. Zahlendarstellung
Dezimalsystem: Zahlen- und Buchstabencodierung Zahlendarstellung 123 = 1 10 2 + 2 10 1 + 3 10 0 1,23 = 1 10 0 + 2 10-1 + 3 10-2 10 Zeichen im Dezimalsystem: 0,1,...9 10 ist die Basis des Dezimalsystems
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrÜbersicht Informatikfächer WiIng
Übersicht Informatikfächer WiIng Informatik I - Programmieren Veranstaltungtitel Lehrbeauftragter Zeit Ort Lernziele / Inhalte SWS Fachbereich Einführung in die Programmierung für Informatik Fohry, Lesniak,
MehrKapitel 2 - Die Definitionsphase
Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH
MehrPraktische Informatik I
Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?
MehrABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK
ABITURPRÜFUNG 2007 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN) Arbeitszeit: 270 Minuten Hilfsmittel: Wörterbuch zur deutschen Rechtschreibung Taschenrechner (nicht programmierbar, nicht grafikfähig) (Schüler,
MehrBeispiel: Schriftliche Addition
Beispiel: Schriftliche Addition 1 1 5 8 9 2 6 1 4 5 1 1 0 2 0 3 7 Eingabe Ausgabe Zwischen werte Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/10 18 2. Grundlagen der Programmierung
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrUmbuchungen im Bachelor-Studiengang Technische Informatik für den Wechsel von der PO 2010 zur PO 2017
Umbuchungen im Bachelor-Studiengang Technische Informatik für den Wechsel von der PO 2010 zur PO 2017 Allgemeine Umbuchungsregeln: Für alle bisherigen Studierenden, die sich nach dem Prüfungszeitraum Sommersemester
MehrInformatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrÄquivalenzübersicht für den Bachelorstudiengang Technische Informatik
Agent Competition: Multi Agent Contest Agent Competition: Multi Agent Contest Agent Competition: RoboCup Agent Competition: RoboCup Agententechnologien: Grundlagen und Anwendungen Aktuelle Themen der Algorithmik:
MehrVorlesung Programmieren
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
Mehr1 EINLEITUNG PROJEKTABLAUF Allgemeine Zielsetzung Projektstruktur und Zeitplan ANFORDERUNGSANALYSE...
Inhaltsverzeichnis Inhaltsverzeichnis 1 EINLEITUNG... 1 2 PROJEKTABLAUF... 4 2.1 Allgemeine Zielsetzung... 4 2.2 Projektstruktur und Zeitplan... 4 3 ANFORDERUNGSANALYSE... 8 3.1 Der Prototyp des Anlagenmodells...
MehrBeauty is our Business
Beauty is our Business Prof. Dr. W. Reisig Sommersemester 2003 1. Übersicht und Organisatorisches 1 Beauty is our Business... so heißt ein bekannter Klassiker des Informatikers Edsger W. Dijkstra. Wissenschaft
MehrInstitut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme
Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,
Mehr1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?
1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien
MehrWissenschaftliches Rechnen I
Wissenschaftliches Rechnen I Vorlesung im WS 06/07 von Prof. Dr. Nicolas Gauger Humboldt Universität zu Berlin Institut für Mathematik Zimmer 2.403 Email: gauger@mathematik.hu-berlin.de Tel.: 030 2093-5833
MehrWie rechnet ein Rechner?
0 Motivation Jörg Roth 2 Wir gehen in dieser Vorlesung der Frage nach Wie rechnet ein Rechner? Als Softwareentwickler könnten wir in einem Programm z.b. folgende Anweisung schreiben: a = a+2*b; Wie wird
MehrKapitel 1 1 Einleitung
Kapitel 1 Einleitung 1 1 1 Einleitung 1 Einleitung Die Informatik begegnet uns im Alltag ständig. Einmal natürlich als Rechenanlagen, die wir in Büros, Arztpraxen und zu Hause sehen. Zum anderen ist sie
MehrZahlen im Computer (Klasse 7 Aufbaukurs Informatik)
Zahlen im Computer (Klasse 7 Aufbaukurs Informatik) Die Bildauswahl erfolgte in Anlehnung an das Alter der Kinder Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht! Messsystem mit Mikrocontroller
MehrEinführung in die Regelungstechnik
Einführung in die Regelungstechnik Alexander Schaefer 1 Inhalt Was ist Regelungstechnik? Modellbildung Steuerung Anwendungsbeispiel Regelung Reglertypen 2 Was ist Regelungstechnik? Ingenieurwissenschaft
MehrÜberblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung
Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik
MehrAlgorithmen und Datenstrukturen 1 Kapitel 1
Algorithmen und Datenstrukturen 1 Kapitel 1 Robert Giegerich Faculty of Technology Bielefeld University robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2011/2012 1 / 8 Kapitel 1: Einleitung
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
Mehr! Modellierung und Simulation 1 (SIM1)
! Modellierung und Simulation 1 (SIM1) 1. Veranstaltung: Einführung 18.10.16 Andreas Vogel andreas.vogel@gcsc.uni-frankfurt.de!!! Organisatorisches Modellierung und Simulation 1 (M-SIM1c; evtl. M-SIM1a,
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft
MehrEinführung in die Informatik
Einführung in die Informatik Klaus Knopper 09.11.2004 Inhaltsverzeichnis Programmiersprachen Eine Programmiersprache ist eine formale Sprache zur Darstellung (Notation) von Computerprogrammen. Sie vermittelt
MehrC++ Templates - eine kleine Einführung. Allgemein. Funktionstemplates. Allgemein. Funktionstemplates. Klassentemplates
Überblick C++ Templates - eine kleine Einführung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrHerzlich willkommen!!!
Theoretische Informatik 2 Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung
MehrC++ Templates - eine kleine Einführung. Funktionstemplates. Fabian Scheler, Peter Ulbrich, Niko Böhm. 20. Oktober 2008
Überblick 1 Allgemein C++ Templates - eine kleine Einführung Fabian Scheler, Peter Ulbrich, Niko Böhm Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)
MehrAlgorithmen und Datenstrukturen ITS(B)-B 2016
Einführung Was ist (die) Informatik? Die Informatik und ihre Geschichte sowie ihre Abgrenzung von anderen Wissenschaften darzulegen gestaltet sich nicht ganz einfach (siehe dazu unter vielen Anderen ((GI)
MehrEinführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme
Teil I Einführung Überblick 1 2 Geschichte der Informatik 3 Technische Grundlagen der Informatik Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme 4 Daten, Informationen, Kodierung
MehrUniversität Stuttgart Vorstellung der Studiengänge Informatik und Softwaretechnik
Vorstellung der Studiengänge Informatik und Softwaretechnik Ilona Heurich Inhalt Worum geht es in der Informatik? Überblick über das Studium Was wird im Studium gelehrt (und was nicht)? Welche Voraussetzungen
MehrWas ist ein Computer? Was ist ein Programm? Können Computer Alles?
Was ist ein Computer? Was ist ein Programm? Können Computer Alles? Beispiele von Computern Was ist die Essenz eines Computers? Die Turing Maschine Auf jedem Bandquadrat steht ein Buchstabe (Symbol, Zeichen)
MehrFundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY
Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY Vorlesung 6: Repräsentationen Themenkarte Verschlüsselung Netzwerk Versionierung Programmverlauf Java Instruktionen
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrDokumente eines IT-Projektes:
Dokumente eines IT-Projektes: - Pflichtenheft & Co - jheger@upb.de Fachbereich Informatik Paderborn, 04.06.2003 Überlappendes Phasenschema Dokumente der einzelnen Phasen 2 1.1 Überlappendes Phasenschema
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Ziel Einführung der wichtigsten
MehrUnterrichtsmodellentwicklung zur Förderung des Informatiksystemverständnisses mit Entwurfsmustern
Unterrichtsmodellentwicklung zur Förderung des Informatiksystemverständnisses mit Entwurfsmustern Peer Stechert 3. Workshop der GI-Fachgruppe Didaktik der Informatik 20. Juni 2006 Übersicht Motivation
MehrDer Kurs vermittelt schwerpunktmäßig Grundlagen im Fach Informatik und möchte den Schüler/innen Anwendungen zeigen, die sich mit Hilfe eines PCs
Der Kurs vermittelt schwerpunktmäßig Grundlagen im Fach Informatik und möchte den Schüler/innen Anwendungen zeigen, die sich mit Hilfe eines PCs lösen lassen (3 Halbjahre Informatik). Wie funktioniert
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
MehrProjekt Systementwicklung
Projekt Systementwicklung Effiziente Codierung: Laufzeitoptimierung Prof. Dr. Nikolaus Wulff Effiziente Codierung Der Wunsch effizienten Code zu schreiben entstammt mehreren Quellen: Zielplattformen mit
MehrSoftware Engineering
Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,
MehrStudiengang Bachelor Informatik
O-Phase SS 2011 Studiengang Bachelor Informatik Dr. Studiengangskoordinator Übersicht Informationen zum Informatik-Institut Struktur des Studienganges Informationen zum Studienablauf: Lehrveranstaltungen,
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrEinführung in die Informatik 1
Einführung in die Informatik 1 Algorithmen und algorithmische Sprachkonzepte Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag,
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrAlgorithmische Mathematik und Programmieren
Algorithmische Mathematik und Programmieren Martin Lanser Universität zu Köln WS 2016/2017 Organisatorisches M. Lanser (UzK) Alg. Math. und Programmieren WS 2016/2017 1 Ablauf der Vorlesung und der Übungen
MehrIntroduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016
to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
MehrEinführung in die Informatik für Nebenfach. Einleitung
Einführung in die Informatik für Nebenfach Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1 Vorlesung Zeit und Ort: Di+Do 11.00 13.00 Uhr, Gebäude 086, Raum 00-006 Dozent: Prof.
MehrIngenieurinformatik. Einführung in die Programmiersprache C
Ingenieurinformatik Einführung in die Programmiersprache C 1 Das Modul Ingenieurinformatik wird in den Bachelorstudiengängen Maschinenbau, Fahrzeugtechnik, Luft- und Raumfahrt angeboten Teil 1: Grundlagen
Mehr