Propädeutikum - uni-leipzig.de · 2016. 9. 19. · An der Kirschallee 4 04159 Leipzig...

Preview:

Citation preview

Dipl.-Inf. Frank Güttler

M. Sc. Stephan Fischer

Propädeutikum

2016

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Vorbereitungskurs Informatikstudium

• Programmieren (C-Kurs)

• Erfolgreich Studieren

Dipl.-Inf. Frank Güttler

f.guettler@quapona.com /

guettler@informatik.uni-leipzig.de

M. Sc. Stephan Fischer

s.fischer@quapona.com

quapona technologies GmbH

An der Kirschallee 4

04159 Leipzig

Propädeutikum 2016

2

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Folien und Übungsaufgaben sind unter

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

Studienbüro

Propädeutikum

Programmierkurs C

zu finden

Propädeutikum 2016

3

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Kapitel 0

• Inhaltsübersicht des Vorbereitungskurses

Kapitel 1

• Programmiersprachen und ihre Anwendung

Kapitel 2

• Von C zum ausführbaren Programm

Kapitel 3

• Die Symbole in C

Überblick

4

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer5

Kapitel 0

Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

(1) Montag, 19.09.

• Programmiersprachen und Ihre Anwendung

• Von C zum ausführbaren Programm

• Die Symbole in C

(2) Dienstag, 20.09.

• Modellierung von Programmen und Daten

• Variablen und Datentypen

(3) Mittwoch, 21.09.

• Anweisungen und Blöcke

• Steuerung des Programmflusses

Inhaltsübersicht (vorläufig)

6

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

(4) Donnerstag, 22.09.

• Funktionen

• Bibliotheken (Funktionssammlungen)

(5) Freitag, 23.09.

• Was erwartet Dich im Studium?

• Wie bewältige ich die Informationsflut?

Inhaltsübersicht (vorläufig)

7

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

(6) Montag, 26.09.

• Module und Kompilierung

(7) Dienstag, 27.09.

• Präprozessoranweisungen

• Gültigkeit und Speicherklassen

Inhaltsübersicht (vorläufig)

8

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

(8) Mittwoch, 28.09.

• Arrays (Felder)

• Strukturen

(9) Donnerstag, 29.09.

• Zeiger (Pointer)

(10) Freitag, 29.09.

• Zeitmanagement

• Effektiv und effizient arbeiten

Inhaltsübersicht (vorläufig)

9

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Was erwartet Dich?

10

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Student sein –eine Dauerparty?

Was ist beim Studium anders?

Wie, Selbststudium?

Was ist Informatik?

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Auf der Informationswelle reiten,

statt sich von ihr überfluten zu lassen!

Wie bewältige ich die Informationsflut?

11

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

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?

13

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Wie nutze ich meine Zeit?

Zeitmanagement und Persönlichkeit

14

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

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

15

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Effektiv und effizient arbeiten

• Ziele klar definieren

• Pareto-Prinzip

• Zeitdiebe

Arbeitsmethoden

• Pomodoro-Technik

• Pausen

Motivation

• Prokastination

• Salami-Taktik

Zeitmanagement und Persönlichkeit

16

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Welcher Lerntyp bist Du?

Wie lerne ich am Besten?

17

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Was ist Lernen? Lerntheorien

• Kognitivismus

• Konstruktivismus

• Neurobiologische Perspektive

Lerntechniken

• Stukturierung

• Mind Mapping

• Problemerkennung

• Gruppenarbeit

• Weitere Techniken

Wie lerne ich am Besten?

18

Kapitel 0 – Inhaltsübersicht des Vorbereitungskurses

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer19

Kapitel 1

Programmiersprachen und ihreAnwendung

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

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

20

Kapitel 1 – Programmiersprachen und ihre Anwendung

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Programmiersprachen: Popularitätsindex

21

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Wozu Programmieren?

22

Kapitel 1 – Programmiersprachen und ihre Anwendung

LowLevel-Programmierung

Eingebettete Systeme

Automotive

Kernel-, System-,

Anwendungs-Programmierung

Spiele (Desktop, App, Konsolen)

C/C++-Programmierung

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Was werde ich im Studium lernen?

23

Kapitel 1 – Programmiersprachen und ihre Anwendung

• Syntax

• Sprachelemente

• KonzepteTheorie

• Umgang

• Moderne Anwendung

• Erprobte MethodenPraxis

• Verständnis

• ZusammenhängeHintergründe

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Was kann ich noch lernen?

24

Kapitel 1 – Programmiersprachen und ihre Anwendung

C/C++, C#, Java

Technische Informatik

Enterprise Systems

Visualisierung

DatenbankenVerteilte Systeme

Parallel-verarbeitung

Betriebliche Informations-

systeme

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

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

25

Kapitel 1 – Programmiersprachen und ihre Anwendung

Programmier-Ass

Selbst-studium

Praktikum

Vorlesung

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer27

Kapitel 2

Von C zum ausführbaren Programm

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Programmiersprache C

29

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Merkmale

• Imperative bzw. Prozedurale Sprache

• Strukturierte Programmierung

• Vollständig Typisiert

Besonderheiten

• Wenige Schlüsselwörter

• Direkte Speicherzugriffe

• Einfache Portierbarkeit der Programme

Programmiersprache C

30

Kapitel 2 - von C zum ausführbaren Programm

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Module

• Quelldatei.c

• Headerdatei.h

Funktionen

• Deklaration u. Definition

• Block

Programmaufbau(informativ)

31

Kapitel 2 - von C zum ausführbaren Programm

// main.c#include <stdio.h>

int main(){

}

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Anweisungen

• Ausdruck

• Kontrollstrukturen

• Zuweisungen

Typen

• Basis-Datentypen

• Abgeleitete Datentypen

Programmaufbau(informativ)

32

Kapitel 2 - von C zum ausführbaren Programm

// main.c#include <stdio.h>

int main(){

printf(“Hello World!“);return 0;

}

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Präprozessor-DirektivenGlobale DeklarationenTyp funktion_1( . . . );...Typ funktion_n( . . . );

int main( . . . ) {

Lokale Deklarationen Anweisungsfolge

}

Typ funktion_1( . . . ) {

Lokale Deklarationen Anweisungsfolge

}...

Programmaufbau(formell)

33

Kapitel 2 - von C zum ausführbaren Programm

Funktionsdeklaration(nur was, nicht wie)

Funktion main(erste Programmroutine)

Funktionsdefinition(konkrete Anweisungen)

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

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

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

hallo.c

$ gedit hallo.c & I . Editieren

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

$ ./hallo IV. Ausführen

Befehle

35

Kapitel 2 - von C zum ausführbaren Programm

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer36

Kapitel 3

Die Symbole in C

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Zeichensatz von C

• 92 druckbare Zeichen

• 7 Steuerzeichen

• Unterscheidung Groß- und Kleinbuchstaben

Druckbare Zeichen

• 26 Großbuchstaben des englischen Alphabets [A..Z]

• 26 Kleinbuchstaben des englischen Alphabets [a..z]

• 10 Ziffern [0..9]

• 30 Sonderzeichen

• ! “ # % & ` ( ) * + - ' . / : ; < = > ? [ \ ] ^ _ { | }

~

• Leerzeichen

• Keine Umlaute (ß, ö, …)

Alphabet

37

Kapitel 3 – Die Symbole in C

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

• Steuerung von Ausgabegeräten (Bildschirm, Drucker, ...)

• Verwendbar für Eingabegeräte (teilweise)

• Definition als sog. Escape-Sequenzen

• z.B. printf(“Hallo Welt!\t<-- Toll!\n“);

• Ausgabe:Hallo Welt! <-- Toll!

Steuerzeichen

38

Kapitel 3 – Die Symbole in C

\a alert Laut

\b backspace Position nach links

\f formfeed Seitenvorschub

\n new line Zeilenvorschub

\r carriage return Positionierung am Zeilenanfang

\t horizontal tab Horizontaler Abstand

\v vertical tab Vertikaler Abstand

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

• Entwertung von C-Metazeichen

• z.B.

• printf(“Hallo \“Max\““);

• Ausgabe:Hallo “Max“

Entwerter

39

Kapitel 3 – Die Symbole in C

\\ Entwertung von Backslash als Escapesequenz

\“ Entwerter für Zeichenkettenkonstante

\‘ Entwerter für Zeichenkonstante

Propädeutikum 2016

Dipl.-Inf. Frank Güttler / M.Sc. Stephan Fischer

Namen

• Bezeichnung von Objekten (Variablen, Konstanten,

Funktionen)

• Bezeichnung von Operationen (Arithm. Ausdrücke, etc.)

Konvention

• Frei wählbar

• Beschreibend

• Variablen- und Funktionen beginnen mit Kleinbuchstaben

• Konstanten bestehen nur aus GROSSBUCHSTABEN

• Keine Schlüsselwörter (if, else, return etc.)

Beispiele

• z.B. int geburtsJahr, speichereListe()

• z.B. MAX_PERSONS

Folie 40

Kapitel 3 – Die Symbole in C

C-Kurs

Dipl.-Inf. Frank Güttler

M. Sc. Stephan Fischer

Propädeutikum

2016

Viel Erfolg!

Bis morgen!

Recommended