Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Ähnliche Dokumente
Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Organisatorisches. Einführung in das Programmieren für Technische Mathematiker. Wichtige Namen. Wichtige URLs. Lehrziel. Didaktisches Konzept?

Schnellkurs in UNIX. Betriebssystem? UNIX. Literatur. UNIX ist textbasiert. Login auf einem UNIX-System. Werbung für CYGWIN

Schnellkurs in UNIX. Einführung in C. Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN

Schnellkurs in UNIX. Einführung in das Programmieren für Technische Mathematik. UNIX ist textbasiert. Betriebssystem? UNIX. Werbung für CYGWIN

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1

Das CIP der Mathematik

Grundlagen der Programmierung

Vorsemesterkurs Informatik

ÜBUNG Regeln für die Hausaufgaben. Was gibt es im UNIX-Pool zu beachten? Der erste Besuch im UNIX-Pool

Linux-Camp: Remote-Zugriff

Das CIP der Mathematik

Eprog Starthilfe. 5. Oktober Einleitung 2

Arbeiten mit der Shell Teil 1

Informatik für Schüler, Foliensatz 1 Einführung bis...

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Allgemeine Informatik 1 im WS 2006/07 Übungsblatt 1 (Teil 2)

Arbeiten in der Unix-Kommandozeile

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Vorlesung Unix-Praktikum

UNIX Die wichtigsten Befehle

Einführung ins Praktikum Wissenschaftliches Rechnen I

Arbeiten mit der Shell Teil 1

Arbeiten in der Unix-Kommandozeile

2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme

Einführung in das wissenschaftliche Rechnen

Objektorientiertes Programmieren mit Suse Linux

X Anmelden am System. X System herunterfahren. X Grundlegendes zur Shell. X Das Hilfesystem. X Dateioperationen. X Bewegen im Verzeichnisbaum

SCI Linux Einführung

Die Shell. [prompt]> <command> <flags> <args>

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

Shellkurs Shell, SSH, Skripte... Justus Pfannschmidt, Carola Bothe, Samuel Domiks Freie Universität Berlin

Einführung Wissenschaftliches Rechnen. René Lamour. Sommersemester 2015

Benutzer und Rechte Teil 1, Paketverwaltung

Arbeiten in der Unix-Kommandozeile

Linux eine Einführung

Linux Kurs Vorlesung 2 - Terminal

Arbeiten in der Unix-Kommandozeile. PeP et al. Toolbox Workshop

Prof. Dr. Heinrich Müller. Informatik VII Universität Dortmund. Organisatorisches zum Vorkurs Informatik

Übungsblatt 1: Zur Benutzung von Computern im CIP-Pool der Informatik

Linux-Einführung Übung

Einführung in das Arbeiten an Unix-Rechnern

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Raspberry Workshop. User des Raspberry abmelden: Folgende befehle werden angenommen: Logout / Exit oder die Tastenkombination Ctl + D

Ergänzende Praxistipps. Skript erzeugt mit Targeteam

Der Novell Open Enterprise Server

Vorlesung Unix-Praktikum

Leitfaden zum Erstellen von C-Programmen

Systemverwaltung mittels Skripts

Benutzung wichtiger Konsolenbefehle auf dem Raspberry Pi und anderen Linux Systemen

UNIX Grundlagen. Sascha Frank SS August 2006 UNIX I. Sascha Frank. Einführung. Basic Befehle. Quellen

13. Anhang B: Linux-Grundbefehle

Basiskonzepte des Rechnerbetriebs

Einführung in die Kommandozeile

Lernziele Dateiverwaltung Bearbeiten von Textdateien Sichere Anmeldung per SSH-Schlüssel. Linux für Anfänger

Einführung in die Angewandte Bioinformatik

Technische Praxis der Computersysteme. Technische Praxis der Computersysteme

BASIC Tutorial für Anfänger

Vorkurs Unix Grundlagen

Einführung in die Programmierung WS 2014/15. Übungsblatt 0: Einführung

Vorlesung Unix-Praktikum

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Kurzanleitung: GCC mit CYGWIN unter WINDOWS

Computer & GNU/Linux Einführung Teil 3

Vorlesung Unix-Praktikum

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Ruby Die bebilderte Anleitung

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

Einführung in die Kommandozeile

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018

Betriebssysteme Ein Überblick

Computergestützte Mathematik zur Analysis. Informationen zur Vorlesung

Dateien und Verzeichnisse

C-Programme erstellen und ausführen

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Digitale Orientierung am Fachbereich SSH, scp, eigene Homepage, Drucken,... Justus Pfannschmidt Freie Universität Berlin

Interaktive Whiteboards Software Easiteach unter Apple OS X El Capitan

Linux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte

SelfLinux Dateien unter Linux

Übungsblatt 1. (Stapel- bzw. Batchbetrieb)

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Shell-Scripting Linux-Kurs der Unix-AG

Dateisystem 2, RegEx, Manpages

Filetransfer via SecureCoPy

Shell-Scripting Linux-Kurs der Unix-AG

Transkript:

Einführung in das Programmieren für Technische Mathematiker Samuel Ferraz-Leite Dirk Praetorius Christoph Überhuber Petra Goldenits Michael Karkulik Isabella Roth Florian Rudolf Vorlesung (Fr. 10.15-11.45, Freihaus HS 5) + Übung Wichtige Namen Samuel Ferraz-Leite samuel.ferraz-leite@tuwien.ac.at Büro: 4. Stock (grün) Dirk Praetorius dirk.praetorius@tuwien.ac.at Büro: 4. Stock (grün) Christoph Überhuber c.ueberhuber@tuwien.ac.at Büro: 4. Stock (grün) Petra Goldenits pg@aurora.anum.tuwien.ac.at Michael Karkulik mk@aurora.anum.tuwien.ac.at Isabella Roth ir@aurora.anum.tuwien.ac.at Florian Rudolf fr@aurora.anum.tuwien.ac.at Wichtige URLs Institut für Analysis und Scientific Computing http://www.asc.tuwien.ac.at/eprog/ http://tuwis.tuwien.ac.at/ 1 Lehrziel Grundbegriffe der math. Programmierung Was ist eine Programmiersprache? Compiler vs. Interpreter Hardware & Zahldarstellung Einführung in die Programmiersprachen C (Compiler basiert, hardwarenah) Matlab (Interpreter basiert, mathematiknah) Programmieren : Umsetzen von math. Problemstellungen in konkrete Programme Reverse-Engineering : Was macht ein vorliegendes Programm und wie? Didaktisches Konzept? Sie sind alle freiwillig hier! Universität Schule Organisatorisches Fristen Vorlesungstermine Übungsgruppen Leistungsnachweis Skripten Weitere Literaturhinweise Wir vermitteln Ihnen nur den theoretischen Stoff Wenn Sie keine Fragen stellen mehr Stoff Denn: Stoff offensichtlich klar oder zu einfach... Praktische Umsetzung muss man allein lernen Übungen machen, sonst chancenlos im Test! 2 3

Wichtige Fristen Anmeldung auf TUWIS Fr. 07.03. (18:00 Uhr) - Mo. 10.03.2008 für eine konkrete Übungsgruppe anmelden Abmeldung auf TUWIS (bis Do. 08.05.2008) Vorlesungstermine (Fr.10:15-11:45) 07.03.08, Vorbesprechung (Ferraz-Leite) 14.03.08, C 1 (Ferraz-Leite) 04.04.08, C 2 (Praetorius) 11.04.08, C 3 (Praetorius) 18.04.08, C 4 (Ferraz-Leite) 25.04.08, C 5 (Praetorius) 02.05.08, C 4 (Praetorius) 09.05.08, Schriftlicher Test zu C 16.05.08, Matlab 1 (Überhuber) 30.05.08, Matlab 2 (Überhuber) 06.06.08, Matlab 3 (Überhuber) 13.06.08, Hardware (Überhuber) 20.06.08, Schriftlicher Test zu Matlab Übungen Übung wird von Tutoren abgehalten Computerraum (4. Stock, grün) 60 Min pro Woche Anwesentheitspflicht (maximal 1x fehlen) Einteilung in feste Gruppen auf TUWIS Jeder Teilnehmer muss sich anmelden! Beginn der Übung: Mi 12.03.2008 Übungsgruppen Gruppe A: Mi. 10:15-11:15 (Rudolf) Gruppe B: Mi. 11:30-12:30 (Rudolf) Gruppe C: Mi. 12:45-13:45 (Karkulik) Gruppe D: Mi. 14:00-15:00 (Karkulik) Gruppe E: Mi. 15:15-16:15 (Roth) Gruppe F: Mi. 16:30-17:30 (Roth) Gruppe G: Do. 10:15-11:15 (Goldenits) Gruppe H: Do. 11:30-12:30 (Goldenits) Gruppe I: Do. 12:45-13:45 (Roth) Gruppe J: Do. 14:00-15:00 (Roth) 4 5 Übungsaufgaben Aufgaben jeweils mittwochs auf Homepage d.h. eine Woche vor Abgabe in den Übungen obligatorische & freiwillige Aufgaben auf Aufgabenzettel vermerkt obligatorische Aufgaben zur Übung lösen Programme müssen auf Account liegen Hilfe bei Übungsaufgaben Sprechstd. der Tutoren (keine Anwesenheitspflicht) Mo. 12:00-13:30 Eintrag ins TUWIS-Forum Vortragende + Tutoren nehmen am Forum teil Mail an Tutoren ohne Garantie auf sofortige Antwort Feedback zu Übungsaufgaben Falls Aufgaben zu leicht oder zu schwer Mail an Tutoren / Ferraz-Leite / Praetorius Eintrag ins TUWIS-Forum TUWIS (Ver-) Stimmungszettel (auch für VO) Tests Beide Tests basieren auf Übungsaufgaben Übungen/Tests von Ferraz-Leite & Praetorius Tests sind schriftlich Programmieren auf Zettel, nicht am Rechner! Deshalb Übungen erst theoretisch lösen, danach am Rechner implementieren & testen Programmieren muss man selbst lernen Fleissaufgabe! Vorlesungen können nur Syntax vermitteln Wiederholungstest voraussichtlich Mo. 01.10.2008 Kriterien für Zulassung zum Wiederholungstest Anwesenheit bei den Übungen maximal ein negativer Test persönliche Anmeldung über TUWIS 6 7

Literatur zu C Vorlesungsfolien werden ausgegeben zum Selbstkostenpreis (3 Euro) Positiver Leistungsnachweis Anmeldung bei TUWIS und Anwesenheit bei Übungen und beide Tests positiv Note ist jeweils 1/3 aus Tests + Übungsnote Negativer Leistungsnachweis nicht abgemeldet, sondern verschwunden oder mangelnde Anwesenheit bei Übungen oder beide Tests negativ oder ein Test negativ, aber Nicht-Teilnahme am Wiederholungstest K. Schmaranz: Softwareentwicklung in C kostenloses pdf-file auf EPROG-Homepage Ausdruck möglich (zum Selbstkostenpreis) ggf. bitte verbindliches Mail an mich B. Kernighan, D. Ritchie: Programmieren in C der Klassiker von den Erfindern von C in UB verfügbar K. Schmaranz: Softwareentwicklung in C++ zur privaten Weiterbildung kostenloses pdf-file auf EPROG-Homepage R. Kirsch, U. Schmitt: Programmieren in C Eine mathematikorientierte Einführung Springer 2007 Links zu C The C Library Reference Guide http://www.acm.uiuc.edu/webmonkeys/book /c guide Cygwin (UNIX Emulator für Windows) http://www.cygwin.com beinhaltet kostenlosen C-Compiler gcc 8 9 Literatur zu Matlab Skriptum = Buch von Katzenbeisser, Überhuber 12 Euro, wird durch Tutoren verkauft verbindliche Anmeldung (Details folgen in VO!) Behrens, Iske: Matlab - eine freundliche Einführung pdf-file auf EPROG-Homepage Links zu Matlab Matlab-Dokumentation (Funktionsverzeichnis) http://www.mathworks.com/access/helpdesk/help /techdoc/matlab.html Matlab-Software Studentenversion (18 Euro) im Lehrmittelzentrum Octave (Matlab-ähnliche Programmiersprache) kostenlos & frei verfgbar http://www.tu-harburg.de/~matjz/work/octave/ http://www.octave.org/ Literatur zu UNIX Harlander: Einfhrung in UNIX pdf-file auf EPROG-Homepage Downloads zu UNIX Cygwin (UNIX Emulator für Windows) http://www.cygwin.com beinhaltet kostenlosen C-Compiler ssh-shell für Windows http://gd.tuwien.ac.at/utils/shells/ssh /SSHSecureShellClient-3.2.9.exe Literatur zu Hardware Skriptum = Buch von Gansterer, Überhuber 10 Euro, wird durch Tutoren verkauft 10 11

Betriebssystem? Der Rahmen, in dem Programme auf Rechner ausgeführt werden können z.b. Windows XP, UNIX Schnellkurs in UNIX Abstraktion der Hardware auf geeignete Software-Schnittstellen Software läuft auf verschiedenen Rechnern Verwaltung der angeschlossenen Hardware Betriebssystem Login am UNIX-System Wichtigste Programme für EPROG Wichtigste UNIX-Dateibefehle UNIX 1969-74 Entwicklung der ersten UNIX-Version bei Bell Laboratories durch Ritchie und Thompson UNIX wird in eigens entwickelter Sprache C geschrieben UNIX-Code ist frei (kostenloses Betriebssystem!) PC-Variante nennt sich Linux Heute Standard auf Großrechnern Mehrbenutzerbetrieb Multitasking Mehrprozessoren-Unterstützung 12 13 UNIX ist textbasiert Shell = Befehlsfenster mit Textprompt z.b. bash, sh, ksh manchmal auch Begriff X-Term (= Shell) Anders als Windows werden die Programme in UNIX i.d.r. durch Eingabe eines Befehls in einer Shell gestartet Man muss die wichtigsten Befehle kennen! Maus-Bedienung ist i.d.r. nicht möglich! Befehl xterm & öffnet weiteres Shell-Fenster Werbung für CYGWIN cygwin = freier UNIX-Emulator für Windows Download unter http://www.cygwin.com Unter cygwin stehen zur Verfügung ssh = Remote Login auf UNIX-System scp = Kopieren von Software von/auf anderes UNIX-System gcc = C-Compiler für Übungen emacs = guter Texteditor Wichtiges zum Start: cygwin startet im Textmodus Eingabe von startx eröffnet Möglichkeit, weitere Fenster zu öffnen (sog. graphisches Arbeiten) Login auf einem UNIX-System Immer nötig: Eingabe von Username & Passwort Accounts für cad.zserv.tuwien.ac.at in erster Übungsstunde 3 Varianten für Login lokales Login am Terminal triviales Login remote Login über Internet von UNIX aus wichtigste Variante für Übungen remote Login über Internet von Windows aus Bitte beachten: UNIX ist case sensitive, d.h. Groß und Kleinschreibung werden unterschieden Keine deutschen Sonderzeichen verwenden, da Systeme i.d.r. englische Zeichencodierung Nach dem ersten Login auf der cad Passwort mittels passwd ändern Passwort z.b. Geburtsname und -jahr der Mutter 14 15

Remote Login von UNIX aus Ausgangspunkt: bereits Shell geöffnet auf einem UNIX-System Eingabe der folgenden Befehle in der Shell ssh -X username@rechnername oder ssh -X rechnername -l username Option -X erlaubt graphisches Arbeiten, d.h. kann remote Programme starten, die im lokalen Fenster arbeiten Nach korrekter Passworteingabe erscheint im selben Shell-Fenster die Eingabeaufforderung des Remote-Rechners Remote Login von Windows aus Nur mit Zusatzsoftware möglich, z.b. http://gd.tuwien.ac.at/utils/shells/ssh /SSHSecureShellClient-3.2.9.exe Im allgemeinen kein graphisches Arbeiten möglich, d.h. alle Arbeiten nur im Textfenster! Ggf. also mehrfach auf cad.zserv.tuwien.ac.at einloggen, um mehrere Text-Fenster zu haben. Alle ab jetzt eingegebenen Befehle werden also auf Remote-Rechner ausgeführt! Logout vom Remote-Rechner durch Eingabe von logout oder exit 16 17 Die wichtigsten Programme für EPROG Eingabe der folgende Befehle in einer Shell xemacs = Texteditor Wenn graphisches Arbeiten möglich, startet xemacs im eigenen Fenster Aufruf mit xemacs & erlaubt weiteres Arbeiten in Shell (Symbol & = Multitasking-Aufruf in UNIX) gcc = Standard-C-Compiler, der für Übung verwendet werden muss matlab startet Matlab-Interpreter in Shell Auf cad.zserv.tuwien.ac.at ist kein graphisches Arbeiten in Matlab möglich keine Oberfläche/Editor wie im Matlab-Skript Der Texteditor (X)Emacs (x)emacs & startet Editor parallel im eigenen Fenster (x)emacs file & öffnet die Datei file im Editor bzw. legt diese Datei neu an (x)emacs -nw startet Emacs in der aktuellen Shell im Textmodus Man darf kein & verwenden! analog zu oben (x)emacs -nw file Wichtige Tastenkombinationen für (X)Emacs C- = Ctrl-/Strg-Taste C-x C-f = Datei öffnen bzw. neu anlegen C-x C-s = Datei speichern C-x C-c = Emacs beenden C-Programme enden stets mit.c, z.b. test.c Matlab-Prg enden stets mit.m, z.b. test.m 18 19

UNIX-Dateisystem Aufbau wie in Windows: Verzeichnisse + echte Dateien Verzeichniss sind im Baum geordnet in Windows mittels Explorer visualisierbar in UNIX muss sich Benutzer i.d.r. textbasiert zurechtfinden Nach Login ist man stets im eigenen Home-Verzeichnis pwd (print working directory) gibt aus, in welchem Verzeichnis man (= Shell) aktuell ist cd (change directory) ohne Angabe wechselt ins eigene Home-Verz.. = Abkürzung für aktuelles Verzeichnis.. = Abkürzung für eine Ebene höher ~ = Abkürzung für eigenes Home-Verz. Beispiel: Es gäbe Verz. /home/samuel/eprog/vo Nach Login bin ich in /home/samuel/ cd eprog wechselt nach /home/samuel/eprog cd vo wechselt dann nach /home/samuel/eprog/vo cd.. wechselt dann nach /home/samuel/eprog cd.., cd, cd ~ wechselt dann nach /home/samuel nur im eigenen Home-Verzeichnis + dessen Unterverzeichnissen hat man Schreib- und Leserechte! 20 Die wichtigsten Befehle ls = List (Verzeichnis-Inhalt ausgeben) mkdir = Make Directory rmdir = Remove Directory cp = Copy (Files) cp -r = Copy (Directories) mv = Move (Files & Directories) rm = Remove (Files) rm -rf = Remove (ohne Rcksicht, inkl. Verz.) Vorsicht, es gibt keinen Papierkorb in UNIX! d.h. gelöscht ist gelöscht! Dateinamen Namen für Dateien & Verz. (max. 253 Zeichen) Buchstaben, aber keine dt. Sonderzeichen Ziffern Underscore ( ), Punkt (.), Minuszeichen (-) UNIX unterscheidet Groß/Kleinschreibung Viele Dateibefehle erlauben sog. Wildcards * vertritt beliebige Anzahl beliebiger Zeichen? vertritt genau ein beliebiges Zeichen BSP. ls *.ps zeigt Dateien mit Endung.ps 21 Kopieren von Dateien zwischen UNIX-Rechnern Kopieren von Dateien/Verzeichnissen cp quelle ziel quelle = Name der Ausgangsdatei ziel = Name der Zieldatei Existiert ziel nicht, so wird Datei angelegt Existente ziel wird berschrieben Ist ziel ein Verzeichnisname, so wird Datei quelle in dieses Verzeichnis kopiert quelle darf Wildcards enthalten Option -r zum Kopieren von Verzeichnissen nötig z.b. cp -r quelle ziel Abkürzungen bei Verzeichnissen.,.., ~ erlaubt Beispiel cp /tmp/*. kopiert alle Dateien (aber keine Unter-Verz.) aus Verzeichnis /tmp ins aktuelle Verzeichnis Mittels scp (secure copy) analog zu cp scp quelle user@rechner:ziel kopiert Datei quelle von lokal nach rechner, wo Benutzer user Account haben muss Vor Kopieren wird Passwort abgefragt Falls ziel fehlt, wird ins Home-Verz. kopiert Falls : fehlt, gilt scp = cp Wildcards sind erlaubt Kopieren von Verzeichnissen mit Option -r scp user@rechner:quelle ziel kopiert Datei quelle von rechner nach lokal Kopieren von Windows nach UNIX und umgekehrt Nur mit Zusatzsoftware möglich, z.b. http://gd.tuwien.ac.at/utils/shells/ssh /SSHSecureShellClient-3.2.9.exe installiert SFTP-Programm, das wie Windows-Explorer aussieht und bedient wird 22 23