34
Dipl.-Inf. Frank Güttler Propädeutikum 2015

Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Embed Size (px)

Citation preview

Page 1: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Dipl.-Inf. Frank Güttler

Propädeutikum

2015

Page 2: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Vorbereitungskurs Informatikstudium

• Erfolgreich Studieren

• Programmieren (C-Kurs)

Dipl.-Inf. Frank Güttler

[email protected]

Universität Leipzig

Institut für Informatik

Technische Informatik

Propädeutikum 2015

2

Page 3: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Folien und Übungsaufgaben sind unter

• https://www.informatik.uni-leipzig.de

Studienbüro

Propädeutikum

Programmierkurs C

zu finden

Propädeutikum 2015

3

Page 4: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Kapitel 0

• Inhaltsübersicht des Vorbereitungskurses

Kapitel 1

• Programmiersprachen und ihre Anwendung

Kapitel 2

• Von C zum ausführbaren Programm

Überblick

4

Page 5: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler5

Kapitel 0

Inhaltsübersicht des Vorbereitungskurses

Page 6: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Was erwartet Dich?

6

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Student sein –eine Dauerparty?

Was ist beim Studium anders?

Wie, Selbststudium?

Was ist Informatik?

Page 7: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Auf der Informationswelle reiten,

statt sich von ihr überfluten zu lassen!

Wie bewältige ich die Informationsflut?

7

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Quelle: iStockfoto, http://www.istockphoto.com/

Page 8: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Exkurs in die Lernpsychologie

• Wissen, Emotionen

Mitschriften gestalten

• Vorlesungsmitschriften

Lesetechniken

• Komponenten des Leseprozesses

• Umgang bei Verständnisschwierigkeiten

Exzerpte erstellen

• Arten von Exzerpten

• Exzerpte verwalten

Wie bewältige ich die Informationsflut?

9

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 9: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Wie nutze ich meine Zeit?

Zeitmanagement und Persönlichkeit

10

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 10: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Zeitplanung – Studium und Alltag

• Was tue ich wann und wie?

• Prioritäten setzen

Zeitplanungssysteme

• Kanban-Listen

• Mindmaps

Planungen für

• Den Tag

• Die Woche

• Das Semester

Zeitmanagement und Persönlichkeit

11

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 11: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Effektiv und effizient arbeiten

• Ziele klar definieren

• Pareto-Prinzip

• Zeitdiebe

Arbeitsmethoden

• Pomodoro-Technik

• Pausen

Motivation

• Prokastination

• Salami-Taktik

Zeitmanagement und Persönlichkeit

12

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 12: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Welcher Lerntyp bist Du?

Wie lerne ich am Besten?

13

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Quelle: Tanja Föhr, http://tanjafoehr.com

Page 13: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Was ist Lernen? Lerntheorien

• Kognitivismus

• Konstruktivismus

• Neurobiologische Perspektive

Lerntechniken

• Stukturierung

• Mind Mapping

• Problemerkennung

• Gruppenarbeit

• Weitere Techniken

Wie lerne ich am Besten?

14

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Quelle: Tanja Föhr, http://tanjafoehr.com

Page 14: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

(1) Montag, 14.09.

• Programmiersprachen und Ihre Anwendung

• Von C zum ausführbaren Programm

(2) Dienstag, 15.09.

• Die Symbole in C

• Modellierung von Programmen und Daten

• Variablen und Datentypen

(3) Mittwoch, 16.09.

• Rechnen in C

• Ausdrücke

• Operatoren

Programmierkurs C

15

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 15: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

(4) Donnerstag, 17.09.

• Anweisungen

• Schleifen

• Sprünge

• Bedingungen

• Auswahllisten

(5) Freitag, 18.09.

• Funktionen

• Call-by-value, Call-by-Reference

• Unterprogrammaufrufe

• Bibliotheken

Programmierkurs C

16

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 16: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

(6) Montag, 21.09.

• Verwendung von Modulen

• Übersetzung

• Bindung

• Make und das Makefíle

(7) Dienstag, 22.09.

• Präprozessoranweisungen

• Gültigkeit von Objekten

• Speicherbindung von Objekten

Programmierkurs C

17

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 17: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

(8) Mittwoch, 23.09.

• Höhere Datentypen

• Felder

• Strukturen

• Aufzählungen

(9) Donnerstag, 24.09.

• Zeiger

• Referenzen

• Zeigerarithmetik

• Speicherverwaltung

Programmierkurs C

18

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 18: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

(10) Freitag, 25.09.

• Dynamische Datenstrukturen

• Funktionszeiger

• Dynamische Listen

• Bäume

Programmierkurs C

19

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Page 19: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler20

Kapitel 1

Programmiersprachen und ihreAnwendung

Page 20: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Was ist eine Programmiersprache?

• Formale Sprache

• Formulierung von Datenstrukturen und Algorithmen

• Syntax und Semantik

Computer

• Verarbeitung von Daten

• Abarbeitung einer endlichen Rechenvorschrift

• EVA-Prinzip

• Eingabe

• Verarbeitung

• Ausgabe

Grundlagen

21

Kapitel 1 – Programmiersprachen und ihre Anwendung

Page 21: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Programmiersprachen: Popularitätsindex

22

Kapitel 1 – Programmiersprachen und ihre Anwendung

09/2015 Sprache Rating (%) Einsatz

1. Java 19,6 Desktop, Web, Android

2. C 15,6 LowLevel-Hardware, Kernel, Eingebettete Systeme, Auto-motive, Desktop, Spiele, PS43. C++ 6,8

4. C# 4,9 Desktop, Web, App, Xbox

5. Python 3,6 Web, Spiele

6. PHP 2,5 Web

7. JavaScript 2,3 Web

8. VisualBasic .NET 2,1 Desktop, Web, App, Xbox

9. Perl 1,9 Konsole, Web

10. Objective-C 1,8 iOS, MacOS

Quelle: Tiobe Programming Index, http://www.tiobe.com

Page 22: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Wozu Programmieren?

23

Kapitel 1 – Programmiersprachen und ihre Anwendung

LowLevel-Programmierung

Eingebettete Systeme

Automotive

Kernel-, System-,

Anwendungs-Programmierung

Spiele (Desktop, App, Konsolen)

C/C++-Programmierung

Page 23: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Was werde ich im Studium lernen?

24

Kapitel 1 – Programmiersprachen und ihre Anwendung

• Syntax

• Sprachelemente

• KonzepteTheorie

•Umgang

•Moderne Anwendung

• Erprobte MethodenPraxis

• Verständnis

• ZusammenhängeHintergründe

Page 24: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Was kann ich noch lernen?

25

Kapitel 1 – Programmiersprachen und ihre Anwendung

C/C++, C#, Java

Technische Informatik

Enterprise Systems

Visualisierung

DatenbankenVerteilte Systeme

Parallel-verarbeitung

Betriebliche Informations-

systeme

Page 25: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Programmieren: Wah, das werde ich nie können!

26

Kapitel 1 – Programmiersprachen und ihre Anwendung

Programmier-Ass

Selbst-studium

Praktikum

Vorlesung

Page 26: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler28

Kapitel 2

Von C zum ausführbaren Programm

Page 27: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Programmiersprache C

30

Kapitel 2 - von C zum ausführbaren Programm

Sprache der Programmierer

Vereint Vorteile höherer Sprachen mit Vorzügen der maschinennahen Programmierung

Anwendungsprogramme und

Systemprogrammierung

Page 28: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Merkmale

• Imperative bzw. Prozedurale Sprache

• Strukturierte Programmierung

• Vollständig Typisiert

Besonderheiten

• Wenige Schlüsselwörter

• Direkte Speicherzugriffe

• Einfache Portierbarkeit der Programme

Programmiersprache C

31

Kapitel 2 - von C zum ausführbaren Programm

Page 29: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Module

• Quelldatei.c

• Headerdatei.h

Funktionen

• Deklaration u. Definition

• Block

Programmaufbau(informativ)

32

Kapitel 2 - von C zum ausführbaren Programm

// main.c

#include <stdio.h>

int main(){

}

Page 30: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Anweisungen

• Ausdruck

• Kontrollstrukturen

• Zuweisungen

Typen

• Basis-Datentypen

• Abgeleitete Datentypen

Programmaufbau(informativ)

33

Kapitel 2 - von C zum ausführbaren Programm

// main.c

#include <stdio.h>

int main(){

printf(“Hello World!“);

return 0;}

Page 31: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Präprozessor-Direktiven

Globale Deklarationen

Typ funktion_1( . . . );

...

Typ funktion_n( . . . );

int main( . . . )

{

Lokale Deklarationen

Anweisungsfolge

}

Typ funktion_1( . . . )

{

Lokale Deklarationen

Anweisungsfolge

}

...

Programmaufbau(formell)

34

Kapitel 2 - von C zum ausführbaren Programm

Page 32: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

Vom Programtext zum ausführbaren Programm

19

Kapitel 2 - von C zum ausführbaren Programm

Quelldateimodul.c

Objektdateimodul.o

Programma.out

Bibliotheklib1.soBibliothek

lib1.soBibliotheklib1.so

II. Übersetzen- Präprozessor- Compiler- Assembler

I. Editieren

III. Binden

IV. Ausführen Komandozeile$ ./a.out

Page 33: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Propädeutikum 2015

Dipl.-Inf. Frank Güttler

hallo.c

$ gedit hallo.c & I . Editieren

$ gcc –Wall hallo.c -o hallo II. Übersetzen

$ ./hallo IV. Ausführen

Befehle

36

Kapitel 2 - von C zum ausführbaren Programm

Page 34: Propädeutikum - IfI: Startseite · PDF file2. Propädeutikum 2015 ... Android 2. C 15,6 LowLevel-Hardware, Kernel, ... modul.c Objektdatei modul.o Programm a.out Bibliothek Bibliothek

Dipl.-Inf. Frank Güttler

Propädeutikum

2015

Viel Erfolg!

Bis morgen!