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

Grundlagen der Programmierung

Das CIP der Mathematik

Vorsemesterkurs Informatik

Linux-Camp: Remote-Zugriff

Arbeiten mit der Shell Teil 1

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

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

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

Das CIP der Mathematik

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

Eprog Starthilfe. 5. Oktober Einleitung 2

Vorlesung Unix-Praktikum

UNIX Die wichtigsten Befehle

Arbeiten in der Unix-Kommandozeile

Einführung ins Praktikum Wissenschaftliches Rechnen I

Arbeiten mit der Shell Teil 1

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

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

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>

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

Objektorientiertes Programmieren mit Suse Linux

Benutzer und Rechte Teil 1, Paketverwaltung, SSH

Arbeiten in der Unix-Kommandozeile

Linux eine Einführung

Benutzer und Rechte Teil 1, Paketverwaltung

Linux Kurs Vorlesung 2 - Terminal

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

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

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

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

Ergänzende Praxistipps. Skript erzeugt mit Targeteam

Einführung in die Angewandte Bioinformatik

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

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

Einführung in das Arbeiten an Unix-Rechnern

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

Vorlesung Unix-Praktikum

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

Linux-Einführung Übung

Systemverwaltung mittels Skripts

Der Novell Open Enterprise Server

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

Technische Praxis der Computersysteme. Technische Praxis der Computersysteme

BASIC Tutorial für Anfänger

Computergestützte Mathematik zur Analysis. Informationen zur Vorlesung

Vorlesung Unix-Praktikum

Kurzanleitung: GCC mit CYGWIN unter WINDOWS

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

Vorlesung Unix-Praktikum

Computer & GNU/Linux Einführung Teil 3

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

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

Ruby Die bebilderte Anleitung

Einführung in die Kommandozeile

Grundlagen Rechnernetze und Verteilte Systeme IN0010, SoSe 2018

Betriebssysteme Ein Überblick

Vorkurs Unix Grundlagen

Dateien und Verzeichnisse

C-Programme erstellen und ausführen

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

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

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

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

Interaktive Whiteboards Software Easiteach unter Apple OS X El Capitan

SelfLinux Dateien unter Linux

Übungsblatt 1. (Stapel- bzw. Batchbetrieb)

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

Shell-Scripting Linux-Kurs der Unix-AG

Dateisystem 2, RegEx, Manpages

SelfLinux Dateien unter Linux

Shell-Scripting Linux-Kurs der Unix-AG

Filetransfer via SecureCoPy

Grundbefehle. LPI Zertifizierung. Auf dem Weg: Certified Linux

KVN-Portal. das Onlineportal der KVN. Dokumentation für Microsoft Windows. Version 5.1 vom Kassenärztliche Vereinigung Niedersachsen

Wiederholung und Vertiefung. Programmieren in C. Pointer und so... thoto. /dev/tal e.v. 6. April 2013 (Version vom 11. April 2013) Programmieren in C

Transkript:

Einführung in das Programmieren für Technische Mathematiker Dirk Praetorius Christoph Überhuber Samuel Ferraz-Leite Stephan Krenn Isabella Roth Florian Rudolf Vorlesung (Fr. 11.30-13.00, EI 3 Sahulka HS) + Übung Wichtige Namen Dirk Praetorius dirk.praetorius@tuwien.ac.at Büro: 4. Stock (grün) Sprechstunde: Di. 11:00-12:00 Christoph Überhuber c.ueberhuber@tuwien.ac.at Büro: 4. Stock (grün) Sprechstunde nach Vereinbarung Samuel Ferraz-Leite sfl@aurora.anum.tuwien.ac.at Stephan Krenn sk@aurora.anum.tuwien.ac.at Isabella Roth ir@aurora.anum.tuwien.ac.at Florian Rudolf fr@aurora.anum.tuwien.ac.at Wichtige URLs http://www.anum.tuwien.ac.at/eprog/ Institut für Analysis und Scientific Computing 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 konrekte 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. 02.03. - Mo. 05.03.2007 für eine konkrete Übungsgruppe anmelden Abmeldung auf TUWIS (bis So. 15.04.2007) Vorlesungstermine (11:30-13:00) 02.03.07, Vorbesprechung (Praetorius) 09.03.07, C 1 (Praetorius) 16.03.07, C 2 (Praetorius) 23.03.07, Hardware (Überhuber) 30.03.07, Zahldarstellungen (Überhuber) 20.04.07, C 3 (Praetorius) 27.04.07, C 4 (Praetorius) 04.05.07, Schriftlicher Test zu C 11.05.07, Matlab 1 (Überhuber) 25.05.07, Matlab 2 (Überhuber) 01.06.07, Matlab 3 (Überhuber) 15.06.07, 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 07.03.2007 Übungsgruppen Gruppe A: Mi. 10:15-11:15 (Roth) Gruppe B: Mi. 11:30-12:30 (Roth) Gruppe C: Mi. 12:45-13:45 (Roth) Gruppe D: Mi. 14:00-15:00 (Ferraz-Leite) Gruppe E: Mi. 15:15-16:15 (Ferraz-Leite) Gruppe F: Mi. 16:30-17:30 (Ferraz-Leite) Gruppe G: Do. 10:15-11:15 (Rudolf) Gruppe H: Do. 11:30-12:30 (Rudolf) Gruppe I: Do. 12:45-13:45 (Krenn) Gruppe J: Do. 14:00-15:00 (Krenn) 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. 10:00-11: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 / Praetorius Eintrag ins TUWIS-Forum TUWIS (Ver-) Stimmungszettel (auch für VO) Tests Beide Tests basieren auf Übungsaufgaben Übungen/Tests von 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 erste Woche des Wintersemesters (Oktober 2007) Kriterien für Zulassung zum Wiederholungstest Anwesenheit bei den Übungen maximal ein negativer Test persönliche Anmeldung über TUWIS 6 7

Literatur zu C 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 Vorlesungsfolien werden ausgegeben zum Selbstkostenpreis (3 Euro) 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 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, Sekretärin Fr. Kovalj (4. Stock, grün) 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 Octave (Matlab-ähnliche Programmiersprache) kostenlos & frei verfügbar http://www.tu-harburg.de/~matjz/work/octave/ http://www.octave.org/ Literatur zu UNIX Harlander: Einführung 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, Sekretärin Fr. Kovalj (4. Stock, grün) 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.org 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 xemacs = guter Texteditor Wichtiges zum Start: cygwin startet im Textmodus Eingabe von startx eröffnet Möglichkeit, weitere Fenster zu öffnen (sog. graphisches Arbeiten) 14 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 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 Der Texteditor XEmacs xemacs & startet Editor parallel im eigenen Fenster 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 xemacs file & öffnet die Datei file im Editor bzw. legt diese Datei neu an xemacs -nw startet XEmacs in der aktuellen Shell im Textmodus Man darf kein & verwenden! analog zu oben xemacs -nw file Wichtige Tastenkombinationen für XEmacs C- = Ctrl-/Strg-Taste C-x C-f = Datei öffnen bzw. neu anlegen C-x C-s = Datei speichern C-x C-c = XEmacs 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/dirk/eprog/vo Nach Login bin ich in /home/dirk/ cd eprog wechselt nach /home/dirk/eprog cd vo wechselt dann nach /home/dirk/eprog/vo cd.. wechselt dann nach /home/dirk/eprog cd.., cd, cd ~ wechselt dann nach /home/dirk 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 Rücksicht, 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 Mittel 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