Informatik-I. Einführung in das Programmieren Technische Grundlagen der Informatik



Ähnliche Dokumente
Informatik-I 9/20/10! Ziele dieser LV. Praktische Informationen. Einführung in das Programmieren Technische Grundlagen der Informatik

Informatik-I 9/20/10. Ziele dieser LV. Praktische Informationen. Einführung in das Programmieren Technische Grundlagen der Informatik

Einführung in die Programmierung. Deutsche Version der Folien. Sprache. Bertrand Meyer

Herzlich willkommen zur Lehrveranstaltung. Softwaretechnische Grundlagen / Programmierpraktikum

Einführung in PHP. (mit Aufgaben)

Die Post hat eine Umfrage gemacht

Herzlich willkommen zur Lehrveranstaltung. Softwaretechnische Grundlagen / Programmierpraktikum

Informatik 1 Tutorial

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Mikrocontroller Grundlagen. Markus Koch April 2011

Einführung in Eclipse und Java

Installationsanleitung für Update SC-Line

Anleitung über den Umgang mit Schildern

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Installation OMNIKEY 3121 USB

Installationsanleitung

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Die Informatik-Studiengänge

2.1 Lightning herunterladen Lightning können Sie herunterladen über:

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Was meinen die Leute eigentlich mit: Grexit?

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Studieren- Erklärungen und Tipps

Objektorientierte Programmierung. Kapitel 0: Begrüssung

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Informatik I Tutorial

TeamSpeak3 Einrichten

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

KV Betriebssysteme. Mag. iur. Dr. techn. Michael Sonntag

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Neuerungen PRIMUS 2014

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

pegasus gmbh WebEX Trainings Center Handbuch für Teilnehmer

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Internet online Update (Internet Explorer)

Alle gehören dazu. Vorwort

FRONT CRAFT.

Die Invaliden-Versicherung ändert sich

Übung - Datenmigration in Windows XP

Übung - Datensicherung und Wiederherstellung in Windows Vista

icloud nicht neu, aber doch irgendwie anders

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Leichte-Sprache-Bilder

Im Netzwerkeinsatz MUSS unbedingt bei jenen Arbeitsplätzen, die mit SC-Line arbeiten, das Arbeitsplatzsetup ausgeführt werden!

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05

4D Server v12 64-bit Version BETA VERSION

Bachelor- und Master-Studium Informatik

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Impulse Inklusion Selbst-bestimmtes Wohnen und Nachbarschaft

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Die SPD und die Grünen machen im Niedersächsischen Landtag. Alle Menschen sollen in der Politik mitmachen können.

Technische Voraussetzungen

Leitbild. für Jedermensch in leicht verständlicher Sprache

Überprüfung der digital signierten E-Rechnung

* Leichte Sprache * Leichte Sprache * Leichte Sprache *

etax.schwyz: Suche nach Steuerfalldateien

Persona-SVS e-sync GUI/Client Installation

Wintersemester 2010/2011 Rüdiger Westermann Institut für Informatik Technische Universität München

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Welches Übersetzungsbüro passt zu mir?

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Formular»Fragenkatalog BIM-Server«

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

Informatik I. Übung 01. Olga Diamanti

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Herzlich Willkommen bei der nfon GmbH

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Benutzerkonto unter Windows 2000

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Erfahrungen mit Hartz IV- Empfängern

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Programmierung 2. Organisatorisches. Sebastian Hack. Klaas Boesche. Sommersemester

Kulturelle Evolution 12

1. Weniger Steuern zahlen

Grundlagen der Theoretischen Informatik, SoSe 2008

Informatikgrundlagen (WS 2015/2016)

Regeln für das Qualitäts-Siegel

Senioren ans Netz. schreiben kurze Texte. Lektion 9 in Themen aktuell 2, nach Übung 7

MAXDATA b.drive. Externe Festplatte mit integrierter Backup Software

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

PHP Kurs Online Kurs Analysten Programmierer Web PHP

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Leichte Sprache Informationen zum Europäischen Sozialfonds (ESF) Was ist der Europäische Sozialfonds?

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Wir wünschen Ihnen viel Freude und Erfolg mit Ihrem neuen X-PRO-USB-Interface. Ihr Hacker-Team

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Liesmich zum Kurs: Programmieren in der Bioinformatik mit Perl Konfigurierung der Programmierumgebung

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Step by Step Webserver unter Windows Server von Christian Bartl

Programmieren was ist das genau?

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Transkript:

Informatik-I Einführung in das Programmieren Technische Grundlagen der Informatik Harald Gall, Burkhard Stiller Institut für Informatik seal.ifi.uzh.ch/info1

Ziele dieser LV! Die wichtigsten Konzepte des Programmierens kennen! Die erste Programmiersprache beherrschen: Java! Grundlegende Konzepte von Design, Implementation und Evolution von Software-Systemen kennen! Software und Hardware näher verstehen! Computer Architekturen, Rechnerstrukturen, Rechnerorganisation kennen! Grundlagen fürs Informatik-Studium 2

Praktische Informationen

Organisation Dozierende Prof. Harald Gall Prof. Burkhard Stiller Assistierende Michael Würsch Fabio Hecht Tutoren Teaching Assistants Zeit und Ort Di 12-14 und Mi 12-15 AP/ECTS 9 Anmeldung 1. Modulanmeldung via Assessment-Buchung 2. Anmeldung in eine Übungsgruppe via OLAT Übung Details siehe Web-Seite der Übungen 4

Unterlagen zur LV! Web-Seite für Vorlesung und Übungen http://seal.ifi.uzh.ch/info1/! Vorlesungsmaterial:! Vorlesungsfolien und 2 Bücher:! Walter Savitch, Frank M. Carrano, Java: An Introduction to Problem Solving & Programming, 5/e, Pearson, 2008! H. Herold, B. Lurz, J. Wohlrab, Grundlagen der Informatik, Pearson, 2007! Übungsmaterial:! Übungsblätter, Beispiel-Lösungen 5

Übungen! Wöchentliche Übungen! Lösung und Besprechung von Übungsbeispielen mit Teaching Assistants! Ablegen von Zwischentests! Übungen und Tests am Computer 6

Das Team! Professoren! Harald Gall (EPROG)! Burkhard Stiller (TGI)! Assistenten! Michael Würsch (EPROG)! Fabio Hecht, Martin Waldburger (TGI)! Teaching Assistants & Tutoren! Markus Cadonau, Yves Bilgerig! Stefan Hiltebrand, Johanna Gaudenz, Manuel Gugger, Christoph Moser, Marc Tobler, Pascal Muther 7

Anmeldung! Web-Seite der LV genau studieren und entsprechend anmelden! 2 Anmeldungen erforderlich! Für das Modul Informatik-I (ECTS Punkte)! und für die Übung via OLAT (Übungsgruppe und -zeit)! Mathematiker buchen Programmierung für Mathematik 8

Übungen! Wöchentliche Übungen! Einzelarbeit in Übungsgruppen! Zwischentests! Endklausur = Assessmentprüfung! Übungsstunden mit Teaching Assistants/Tutoren! für Fragen,! Vor- und Nachbesprechungen der Beispiele,! sowie für zusätzliche Beispiele! Tipp: Nutzen Sie die Übungsstunden aktiv! 9

Computer und Software

Software Ingenieure bauen Maschinen! Unsere Maschinen kann man nicht berühren sie sind immateriell! Sie sind aber trotzdem Maschinen! Wir nennen sie Programme oder Systeme! Um ein Programm auszuführen braucht man eine physikalische Maschine: einen Computer! Computer und Peripherie: Hardware! Programme und der damit verbundene Intellektuelle Wert: Software (c) Bertrand Meyer, ETH! 11

Software überall! Banken: Verwalten Millionen von Konten! Handel: Entscheidet über Kauf oder Verkauf! Transport: Kontrolliert Züge, Flugzeuge...! Moderne Autos enthalten in ihren Systemen Millionen Zeilen von Programm-Code! Reisen: Luftfahrt, Eisenbahn, Hotel-Reservationen! Staat: Steuerverwaltung, Verwaltung von Gesetzen...! Medizin: Patientenverwaltung! Schule! Unterhaltung! Information! etc. 12

Computer! Computer sind universelle Machinen. Sie führen das Programm, das man ihnen eingibt, aus.! Die Vorstellungskraft ist die einzige Grenze! Die guten Neuigkeiten:! Der Computer wird genau das tun, was das Programm sagt (c) Bertrand Meyer, ETH! 13

Size of Operating Systems (LOC) Windows Vista: > 50 M Lines of code (millions) Windows XP: > 40 M 40 Windows 2000: 30 M 30 Red Hat 7.1 30 M 20 Unix V7: 10,000 10 Windows 98: 18 M Windows 95: 15 M Windows NT: 11 M Solaris 7: 12 M Red Hat 6.2 17 M 2 Windows 3.1: 3 M 1990 Linux: 10,000 1992 1995 1998 2000 14

Moore s Law Geschwindigkeit von Intel Prozessoren 1 GHz 100 MHz = Ungefähre Verdoppelung der Power der Prozessoren, bei vergleichbarem Preis, alle 18 Monate (1 Hertz = 1 Clock Zyklus pro Sekunde) Pentium: 133 MHz Pentium IV: 1.3 GHz 10 MHz 80486: 50 MHz 80386: 33 MHz 1 MHz 8008: < 1 MHz zu 1 GHz: in 26 Jahren von 1 zu 2 GHz: 8 Monate 1970 (c) Bertrand Meyer! 1980 1990 2000 15

Von NetBurst zu Multi-Core! Taktfrequenz-Wettrüsten Ende der 1990er! AMD Ur-Athlon vs. Intel (hohe Taktfrequenzen - und geringere Effizienz )! Pentium 4 (1,5 GHz in 2000, 4 GHz in 2002)! 2004 Ende vom NetBurst - stattdessen hohe Rechenkraft pro Taktzyklus! Hyper-Threading! Dual-Kern-Prozessoren ( Conroe -Kern, bis 2,93 GHz) Intel Xeon vs. AMD Opteron! Quad-Kern-Prozessoren Quelle: c t 16/2006! 16

Allgegenwärtige Vorurteile & Ausreden! Computer sind intelligent Fakt: Computer sind weder intelligent noch dumm. Sie führen nur Programme aus, die von Menschen geschrieben werden. Diese Programme reflektieren die Intelligenz ihrer Autoren. Die Grundoperationen eines Computers sind sehr elementar (speichere diesen Wert, addiere diese beiden Zahlen).! Der Computer ist abgestürzt! Der Computer erlaubt das nicht! Der Computer hat die Datei verloren! Der Computer hat die Datei kaputt gemacht 17

Computer machen keine Fehler*...! Programme machen auch keine Fehler! Programmierer machen Fehler! * In der Tat: Hardware kann Fehler haben, aber das ist viel seltener als Programm-Fehler 18

Computer! Computer sind universelle Machinen. Sie führen das Programm, das man ihnen eingibt, aus.! Die Vorstellungskraft ist die einzige Grenze! Die guten Neuigkeiten:! Der Computer wird genau das tun, was das Programm sagt! Er wird es sehr schnell tun! Die schlechten Neuigkeiten:! Der Computer wird genau das tun, was das Programm sagt! Er wird es sehr schnell tun 19

Software schreiben ist schwer! Programme stürzen ab! Programme, die nicht abstürzen, funktionieren aber auch nicht unbedingt richtig! Schlecht funktionierende Programme haben bereits Opfer gefordert (Medizinbereich)! Ariane 5, am 4. Juni 1996: Millionen Dollar Schaden wegen einem einfachen Programmfehler (Konvertierung 64-bit float auf 16-bit integer)! Programmierer sind verantwortlich fürs korrekte Funktionieren ihrer Programme! Das Ziel diese Kurses ist nicht Ihnen Programmieren beizubringen, das Ziel ist dass jede/r gut programmieren lernt! 20

Wo ist das Programm?! Gespeichertes Programm: das Programm ist im Speicher. Ausführbare Daten! Der Computer kann, mit Hilfe von einigen grundliegenden Programmen (dem Betriebssystem) das Programm im Speicher finden und es ausführen! Ein Programm kann in verschiedenen Formen im Speicher erscheinen:! Source Code: in menschen-lesbarer Form (in der Programmiersprache geschrieben)! Ziel Form, Maschinen Code, Objekt Form: vom Computer ausführbare Form! Compiler verwandeln Quelltext in Maschinen-Code (c) Bertrand 2007, H.Gall! Meyer! 21

Software Engineering Software, die! korrekt ist, tut was sie soll!! erweiterbar ist, ist einfach zu ändern!! lesbar ist, kann von anderen Programmierern einfacher verstanden werden!! wiederverwendbar ist, muss nicht das Rad neu erfinden!! robust ist, reagiert angemessen auf Fehler! 22

Grösse von Betriebssystemen (Quellcode) Windows 7: > 50 M Windows XP: > 40 M Lines of code (millions) 40 Windows 2000: 40 M 30 Red Hat 7.1 30 M 20 Unix V7: 10,000 10 2 (c) 2007, Bertrand H.Gall! Meyer, ETH! Windows NT: 4 M Windows 3.1: 3 M 1990 Windows 98: 18 M Windows 95: 15 M Linux: 10,000 1992 Solaris 7: 12 M 1995 1998 2000 Red Hat 6.2 17 M 23

Software schreiben ist schwierig! Umsetzen eines Problems in Anweisungen für die Maschine! Verarbeiten der Informationen als Daten! Berechnungen durchführen! Spezifizieren, Codieren, Testen, Debuggen 24

Software schreiben macht Spass Man designed und baut eigene Maschinen Man kann kreativ sein und seine Vorstellungskraft gebrauchen Die Erfahrung des Gefühls wenn eines der eigenen Programme läuft und funktioniert 25

Ausblick! Konzepte, Algorithmen! Modelle, Programme! Java 26

FAQ - Frequently Asked Questions! Fragen zum Informatik Studium! http://www.ifi.uzh.ch/teaching/faq/! Fragen zu Studium, Organisation, UZH! http://www.uzh.ch/studium/faq/ 27