Grundlagen der Informatik 1&2 (MEC 1/2)

Aktuelles

  • Bitte den MSP430 in die Vorlesung am 7.6. mitbringen.
  • Bitte an Evaluation teilnehmen: http://www.fh-rosenheim.de/evaluation (TAN wird in der Vorlesung bekanntgegeben!)
  • Bitte bringen Sie Ihren Laptop in das Praktikum und die Vorlesung. (Akku aufladen, da nur wenige Steckdosen da sind, oder Mehrfachstecker mitnehmen)
  • Bitte installieren Sie die benötigte Software auf Ihrem Laptop: Installation-Compiler-und-IDE. Es gibt Installations-Support, s.u. unter Praktikum
  • Bitte in Praktikumsgruppe eintragen, s.u. unter Praktikum
  • Sonst nix. Bitte vorbereiten ;-) Danke!



Vorlesung - Inhalt und Termine

Organisatorisches... und InstallationDi 4.10.
Erste Schritte
1. Was ist ein Computer? Erste Schritte.V1: 11.10.
2. Operatoren, Programmiersprachen, AblaufdiagrammeV2: 18.10.
Programmierung in C
3. for-Schleife, Unterprogramme, FunktionenV3: 25.10.
4. Präprozessor, Compiler, LinkerV4: 1.11. 8.11.
5. Zahlentypen, mathematische FunktionenV5: 15.11.
6. ArraysV6: 22.11.
7. ZeichenkettenV7: 29.11.
8. Strukturen, AufzählungenV8: 6.12.
9. Zeiger, dynamischer SpeicherV9: 13.12.
Probeklausur & Weihnachten20.12.
Semesterferien: für GDI2 brauchen wir unbedingt C :-)
Organisatorisches... Mi 15.3.
10. Zusammenfassung: die Sprache CV10: 22.3.
Etwas Theorie
11. Was ist Informatik?V11: 29.3.
12. Datenstrukturen und AlgorithmenV12: 5.4., 
weiterführend (optional):
A. Automaten und formale Sprachen
B. Fehler vermeiden, Fehler finden
weiterführend
C und Microcontroller: MSP430 LaunchPad
13. Getting started... LEDs P1.0, P1.6V13: 12.4., 19.4. Ostern
14. Button P1.3 Interrupt, TemperaturmessungV14: 26.4.
Crashkurs MATLAB
15. Installation, Basic Concepts & PlottingV15: 3.5. & 10.5.
16. Scripts & Functions, If/Else & LoopsV16:  17.5. & 24.5.
Probeklausur31.5. & 7.6., R: 14.6.


Praktikum

  • Raum S1.30
  • Einschreibung in die Praktikumsgruppen: http://doodle.com/poll/np6x7pkxtu7rnx8z (bitte nicht mehrfach eintragen und keine Anderen überschreiben - ich sehe jede Bearbeitung ;-) )
    • Gruppe 1: Fr 8-9:30, Start 31.3.
    • Gruppe 2: Di 11:45-13:15, Start 21.3.
    • Gruppe 3: Fr 8-9:30, Start 24.3.
  • Installations-Support: Falls Sie Probleme bei der Installation haben kommen Sie bei Bedarf unabhängig Ihrer Gruppenzugehörigkeit vorbei (Wichtig: Sie sollten vorher schon versucht haben, die Software auf Ihrem Laptop zu installieren!):
    • Mi 5.10. 11:45-13:15
PGr 1Gr 2Gr 3Gr 4Thema
119.10.19.10.12.10.12.10.Hello World: Kompilieren auf Konsole und in Eclipse
Bitte machen Sie vor dem Praktikum:
22.11.2.11.26.10.26.10.Konsolen-Programm Clara und Fluss-/Struktogramm
316.11.16.11.9.11.9.11.Präprozessor und Header-Dateien: AirConditioner: Regelung Klimaanlage mittels Temperaturmessung
430.11.30.11.23.11.23.11.Zahlentypen und -darstellung
514.12.14.12.7.12.7.12.Arrays, Strings: Messdaten und CSV-Datei
621.12.21.12.21.12.21.12.Structures, Enums, Pointer
731.3.21.3.24.3.--Spiel in C: Ich packe meinen Koffer und nehme mit...
8Ostern > 7.4.4.4.7.4.--Algorithmus: Sortieren mit Bubblesort
Gruppe 1 bitte am 7.4. kommen!
928.4.2.5.21.4.(V MSP430),
5.5.
--MSP430: Temperaturmessung
1012.5.16.5.19.5.--MATLAB
119.6.30.5.
--MATLAB


Literatur


Weitere Infos

Studienstart
Programmierung in dieser Vorlesung
Tipps zu den Lernmaterialien
Inverted Classroom
Weiterführende Empfehlungen



Vorlesung 1 - Was ist ein Computer? Erste Schritte.

Vorlesung:
Ergänzungen (optional zum Üben und Vertiefen):
Lcd
Schalldarstellung static
  • Microcontroller MSP430 auf dem LaunchPad (von Texas Instruments):
  • Mainboard eines PC:
ASRock K7VT4A Pro Mainboard Labeled German
  • Intel Chipsatz: 
Typical intel chipset
     z.B. Addition aller Werte vom Stack (angelehnt an Intel-x86-Assembler):

PUSH 3      ; Lege den Wert 3 auf den Stack
PUSH 2      ; Lege den Wert 2 auf den Stack
PUSH 1      ; Lege den Wert 1 auf den Stack
MOV $3, 0   ; Speicherstelle 3 zurücksetzen
LBL start   ; Sprungmarke setzen
POP B       ; Wert vom Stack in B
JR  ende    ; Ende, wenn Stack leer
ADD $3, B   ; Inhalt von B zu $3 addieren
JMP start   ; Schleife: nächsten Wert verarbeiten
LBL ende    ; Sprungmarke setzen
HLT         ; Programm beenden



Vorlesung 2 - Operatoren, Programmiersprachen, Ablaufdiagramme

Vorlesung:
  1. Zahlensysteme in C 8:51 
  2. Operatoren in C 10:13 
  3. Operatoren in C, Short Circuit, Präzedenz 10:12 
  4. Inkrement, Dekrement, Compound Assignment 4:57 
  5. Zoo der Programmiersprachen 8:42 
  6. JavaScript, PHP, BASIC, Assembler, MATLAB(R) 9:50 
  7. grafische Programmierung, Simulink, Datenflussdiagramm 3:33 
  8. Pseudocode 1:48 
  9. imperative Programmiersprachen, Skriptsprachen, dynamische Typisierung 9:26 
  10. Flussdiagramm, Struktogramm 9:56
Flowchart de
Zählschleife: Die Zählvariable i wird vor Beginn der Schleife auf ihren Startwert i=1 gesetzt. Danach wird die erste Anweisung der Schleife, das Ausgeben der Variable i, ausgeführt. Die nachfolgende zweite Anweisung ist eine Auswahl, die prüft, ob i den Wert 39 besitzt. Falls dies der Fall ist, wird i auf den Wert 61 gesetzt und die Schleife beginnt mit dem nächsten Durchlauf. Falls i nicht 39 ist, wird i in der nachfolgenden Anweisung um eins erhöht und anschließend geprüft, ob die Schleifenfortsetzungsbedingung i≤100 gültig ist. Falls ja, erfolgt ein nochmaliger Schleifendurchlauf. Ausgegeben würden alle natürlichen Zahlen von 1 bis 39 sowie 61 bis 100 (jeweils einschließlich).


Ergänzungen (optional zum Üben und Vertiefen):



Vorlesung 3 - for-Schleife, Unterprogramme, Funktionen

Vorlesung:
  1. while-, do...while-, for-Schleifen 12:11 
  2. Schleifen, Sichtbarkeit, break, continue 3:41 
  3. Unterprogramme, prozedurale Programmierung 12:32 
  4. Code Recycling, API 10:11 
  5. Funktionen in C, return 11:37 
  6. Funktionen, void, main 12:23 
  7. mehrere Parameter, return als GOTO 7:05 
  8. Call by Value, statische Variablen 6:01 
  9. Deklaration, Definition 3:18
Ergänzungen (optional zum Üben und Vertiefen):



Vorlesung 4 - Präprozessor, Compiler, Linker


Vorlesung 5 - Zahlentypen, mathematische Funktionen


IEEE-754-single
Bei einem 32-bit Float werden die Bits wie folgt aufgeteilt: 1 Bit Vorzeichen + 8 Bit Exponent + 23 Bit Mantisse, z.B. 0 10000011 00100110011001100110011 ist die Dezimalzahl +1,00100110011001100110011 * 2^(131-127) = 18,39999961853

Vorlesung:
  1. Ganzzahlige Typen, Zweierkomplement 14:10 
  2. weiter Zweierkomplement 6:11 
  3. signed und unsigned char, short, int, long, long long 13:39 
  4. Überlauf, Teilen durch Null 5:05 
  5. automatische Umwandlungen bei Ganzzahlen 11:50 
  6. weiter automatische Umwandlungen bei Ganzzahlen 4:42 
  7. Festkomma und Gleitkomma 13:59 
  8. float und double 13:01 
  9. keine FPU 4:09 
  10. eingebaute mathematische Funktionen 11:07 
  11. Division Gleitkomma und Integer, Casting 7:40 
  12. Rundungsfehler, Infinity (INF), Not a Number (NaN) 7:53
Ergänzungen (optional zum Üben und Vertiefen):



Vorlesung 6 - Arrays


Vorlesung 7 - Zeichenketten


Vorlesung 8 - Strukturen, Aufzählungen


Vorlesung 9 - Zeiger, dynamischer Speicher


Vorlesung 10 - Zusammenfassung: die Sprache C


Vorlesung 11 - Was ist Informatik?


Vorlesung 12 - Datenstrukturen und Algorithmen

Vorlesung:
  1. Datenstrukturen, Array, Queue, Stack 15:46 
  2. Baum als Datenstruktur 12:47 
  3. Algorithmen 12:27 
  4. Bubblesort, Quicksort, Laufzeit 29:23 
  5. Iteration und Rekursion 6:27 
  6. Komplexität, P und NP 6:45 
  7. Optimierung, Profiler 5:02
  8. Wir programmieren in der Vorlesung die Datenstruktur "einfach verkettete Liste". Lesen Sie bitte dazu vorab [C, Kap. 21.1].
Bubble-sort-example-300px
Ergänzungen (optional zum Üben und Vertiefen):



Weiterführend (optional): 

A. Automaten und formale Sprachen

Vorlesung:
  1. Endliche Automaten 35:16 
  2. Formale Sprachen, Syntaxdiagramm, akzeptierende Automaten 33:41 
  3. HTML, XML, JSON 14:31
Ergänzungen (optional zum Üben und Vertiefen):

B. Fehler vermeiden, Fehler finden



Vorlesung 13 - MSP430 LaunchPad: Getting started... LEDs P1.0, P1.6

Als Anwendung unserer C-Kenntnise beschäftigen wir uns kurz mit dem Microcontroller MSP430 auf dem LaunchPad. Mit diesem werden Sie später in der Vorlesung "Mikrocomputertechnik" arbeiten.
Herzlichen Dank an Texas Instruments für das Sponsoring der LaunchPads für diese Vorlesung!

CCS installieren




  • Nach dem ersten Öffnen des CCS: Allen Updates und Installation von Erweiterungen zustimmen.
MSP430 LaunchPad
  • Unboxing: Was ist alles drin? http://youtu.be/RVHGjgkFPlU
  • Verbinden des LaunchPads per USB an Ihren Computer. Die Treiber installieren sich selbst.



  • Danach blinken die LEDs: Jetzt Button P1.3 drücken. Es wird die Demo "Internal Temparature Measurement" gestartet. Reiben Sie Ihren Finger an der Hose, bis dieser heiß wird und halten Sie Ihn dann an den Microcontroller: Rote LED leuchtet. Mit einem feuchten kalten Wattestäbchen auf den Microcontroller: Grüne LED leuchtet. Siehe https://www.youtube.com/watch?v=9zfIatWxkG8 oder mit Erklärung  http://youtu.be/U0mGoRtYbyg
Erstes Projekt mit CCS und MSP430 LaunchPad

  • Klicken Sie "Debug" (Käfer/Wanze): Die LED sollte beim Debuggen blinken!
Weiterführend



Vorlesung 14 - MSP430 LaunchPad: Button P1.3 Interrupt, Temperaturmessung



Vorlesung 15 - Matlab: Installation, Basic Concepts & Plotting

Matlab ist bei Ingenieuren ein weitverbreitetes Tool: Infos zu Matlab (HS Rosenheim)
Sie brauchen es auch später in der Vorlesung "Modellbildung und Simulation".

Bitte vor der Vorlesung machen:

Installation
Download Skript
Skript, Kapitel 1, und Videos


Vorlesung 16 - Matlab: Scripts & Functions, If/Else & Loops

Skript, Kapitel 3, und Videos
Skript, Kapitel 4&5, und Videos




No comments:

Post a Comment