fdai4796
2 years ago
1 changed files with 56 additions and 50 deletions
-
104Lerntagebuch.md
@ -1,70 +1,76 @@ |
|||
# Lerntagebuch Programmieren & -werkzeuge, 1. Woche |
|||
## Lernziele/Takeaway |
|||
Am Anfang wurden überwiegend nur organisatorische Sachen geklärt, um einen Einblick auf die uns davorstehenden Aufgaben zu bekommen. |
|||
Daraufhin wurde besprochen welche Eigenschaften ein Softwareentwickler/in mitbringend sollte. |
|||
Unterschiede zwischen Laien und einem Profi, ist wie im Fußball. Der eine kann es, der andere hat mehr Glück als Verstand 😉 |
|||
Wie in allen Berufen wie wir wissen, bringt ein Profi ein erheblich wichtiges Fachwissen mit, die Kombination aus seinem Fachwissen |
|||
und richtigen Werkzeugen, hinzu noch die Logik und Prinzipien, machen einen Profi zum Profi. Zu den Prinzipien gehören z.B. Vorab planen, |
|||
was wird benötigt oder was kann weg. In unserem Fall hat es zu heißen, Codes die nicht mehr benötigt werden sollten weg. |
|||
Auch wurde geklärt, ob ein Softwareentwickler eher ein Künstler oder Handwerker ist. |
|||
Beschlossen haben wir, dass ein Entwickler in beide Kategorien gehören, da wie ein Künstler Emotionen mit ins Geschehen gebracht werden und |
|||
wie bei den Handwerken nützliches für den Kunden oder Nutzern zu schaffen. |
|||
Daraufhin wurde besprochen welche Eigenschaften ein Softwareentwickler/in mitbringend sollte. |
|||
Unterschiede zwischen Laien und einem Profi, ist wie im Fußball. Der eine kann es, der andere hat mehr Glück als Verstand 😉 |
|||
Wie in allen Berufen wie wir wissen, bringt ein Profi ein erheblich wichtiges Fachwissen mit, die Kombination aus seinem Fachwissen |
|||
und richtigen Werkzeugen, hinzu noch die Logik und Prinzipien, machen einen Profi zum Profi. Zu den Prinzipien gehören z.B. Vorab planen, |
|||
was wird benötigt oder was kann weg. In unserem Fall hat es zu heißen, Codes die nicht mehr benötigt werden sollten weg. |
|||
Auch wurde geklärt, ob ein Softwareentwickler eher ein Künstler oder Handwerker ist. |
|||
Beschlossen haben wir, dass ein Entwickler in beide Kategorien gehören, da wie ein Künstler Emotionen mit ins Geschehen gebracht werden und |
|||
wie bei den Handwerken nützliches für den Kunden oder Nutzern zu schaffen. |
|||
|
|||
### Erkenntnis |
|||
An den Prinzipien und Planung halten ist sehr wichtig. Codes die nicht benötigt werden kommen weg. Mit den richtigen Werkzeugen |
|||
und den Richtigen Vorbereitungen ist vieles leichter zu erledigen. Man sollte viel mitdenken und nicht gut auf Glück handeln. |
|||
An den Prinzipien und Planung halten ist sehr wichtig. Codes die nicht benötigt werden kommen weg. Mit den richtigen Werkzeugen |
|||
und den Richtigen Vorbereitungen ist vieles leichter zu erledigen. Man sollte viel mitdenken und nicht gut auf Glück handeln. |
|||
|
|||
#### Wiederholung |
|||
Prinzipien sind sehr wichtig für den Entwickler. Dadurch kann die Quote für anfällige Fehler minimiert werden. Regelmäßige Tests |
|||
sollten ebenfalls zu den Prinzipien eines Entwicklers gehören, dadurch kann ein Frühzeitiges erkennen von Problemen angeregt werden, und |
|||
diese können sofort behoben werden. |
|||
Prinzipien sind sehr wichtig für den Entwickler. Dadurch kann die Quote für anfällige Fehler minimiert werden. Regelmäßige Tests |
|||
sollten ebenfalls zu den Prinzipien eines Entwicklers gehören, dadurch kann ein Frühzeitiges erkennen von Problemen angeregt werden, und |
|||
diese können sofort behoben werden. |
|||
|
|||
|
|||
# Programmierparadigmen, 2. Woche |
|||
## Lernziele/Takeaway |
|||
Wir haben dieses Woche 5 Programmierparadigmen kennen gelernt. |
|||
Wir haben dieses Woche 5 Programmierparadigmen kennen gelernt. |
|||
1. Imperative Programmierung |
|||
Imperative Programmierung gibt dem Computer eine Schritt für Schritt Anweisung, in welcher Reihenfolge was getan werden muss. |
|||
Imperative Programmierung gibt dem Computer eine Schritt für Schritt Anweisung, in welcher Reihenfolge was getan werden muss. |
|||
Die imperative Programmierungssprachen waren sehr Hardware nah. |
|||
|
|||
2. Declarative Programmierung |
|||
Bei der declarativen Programmierung wird das Problem beschrieben, im Anschluss wird das Problem automatisch ermittelt. |
|||
Die bekanntesten declarativen Programmierungssprachen sind Haskell, Lisp, Prolog, Xaml & im weiteren Sinne auch SQL & XSLT. |
|||
Declarative Programmierung ist in vergleichbaren Programmen kürzer als Imperative Programmierung. |
|||
Bei der declarativen Programmierung wird das Problem beschrieben, im Anschluss wird das Problem automatisch ermittelt. |
|||
Die bekanntesten declarativen Programmierungssprachen sind Haskell, Lisp, Prolog, Xaml & im weiteren Sinne auch SQL & XSLT. |
|||
Declarative Programmierung ist in vergleichbaren Programmen kürzer als Imperative Programmierung. |
|||
|
|||
3. Prozedurale Programmierung |
|||
Prozedurale Programmierung ist so zu sagen der vorgänger der Objektorientierten Programmierung. Prozedurale Programmierung |
|||
ist eine erweiterung vom imperativen Programmierung. Diese Programmierparadigma folgt dem System mit aufeinander folgenden Befehlen, |
|||
teilt diese jedoch in überschaubere Teile. |
|||
Bekannte Bespiele wären Fortran, COBOL, ALGOL, C & Pascal |
|||
Prozedurale Programmierung ist so zu sagen der vorgänger der Objektorientierten Programmierung. Prozedurale Programmierung |
|||
ist eine erweiterung vom imperativen Programmierung. Diese Programmierparadigma folgt dem System mit aufeinander folgenden Befehlen, |
|||
teilt diese jedoch in überschaubere Teile. |
|||
Bekannte Bespiele wären Fortran, COBOL, ALGOL, C & Pascal |
|||
|
|||
4. Objektorientierte Programmierung |
|||
Objektorientierte Programmierung ist ein Modell der Computerprogrammierung, bei dem das Softwaredesign auf Daten |
|||
oder Objekten basiert und nicht auf Funktionen und Logik. Ein Objekt kann als ein Datenfeld definiert werden, |
|||
das eindeutige Attribute und Verhaltensweisen aufweist. |
|||
Diese Art der Programmierung weißt eine bessere Strucktur auf & Teile des Programms können wieder verwendet werden. Ein weiterer |
|||
Vorteil ist, dass die Programme besser testbar sind. |
|||
Bekannte Objektorientierte Programmierungssprachen sind C#, C++ & Java. |
|||
Objektorientierte Programmierung ist ein Modell der Computerprogrammierung, bei dem das Softwaredesign auf Daten |
|||
oder Objekten basiert und nicht auf Funktionen und Logik. Ein Objekt kann als ein Datenfeld definiert werden, |
|||
das eindeutige Attribute und Verhaltensweisen aufweist. |
|||
Diese Art der Programmierung weißt eine bessere Strucktur auf & Teile des Programms können wieder verwendet werden. Ein weiterer |
|||
Vorteil ist, dass die Programme besser testbar sind. |
|||
Bekannte Objektorientierte Programmierungssprachen sind C#, C++ & Java. |
|||
|
|||
5. Funktionale Programmierung |
|||
Die Funktionale Programmierung ist eine erweiterung von der declarative Programmierung. Hier können Funktionen |
|||
nicht nur definiert und angewendet werden können, sondern auch wie Daten miteinander verknüpft werden. |
|||
Ein Vorteile der Funktionale Programmierung wäre, dass Berechnungen effizient & übersichtlich dargestellt werden, jedoch |
|||
kann die Funktionale Programmierung nur für Berechnungen verwendet werden. |
|||
Bekannte Funktionale Programmierungssprachen sind C++ (ab Version 11) & Java (ab Version 8). |
|||
Die Funktionale Programmierung ist eine erweiterung von der declarative Programmierung. Hier können Funktionen |
|||
nicht nur definiert und angewendet werden können, sondern auch wie Daten miteinander verknüpft werden. |
|||
Ein Vorteile der Funktionale Programmierung wäre, dass Berechnungen effizient & übersichtlich dargestellt werden, jedoch |
|||
kann die Funktionale Programmierung nur für Berechnungen verwendet werden. |
|||
Bekannte Funktionale Programmierungssprachen sind C++ (ab Version 11) & Java (ab Version 8). |
|||
|
|||
Zu dem haben wir 2 Arten der Programmiersprachen kennen gelernt. |
|||
Die erste wäre die typisierte Programmiersprachen. Mit der Typisierung werden Variablen oder Konstanten in Programmiersprachen |
|||
bestimmte Type-Eigenschaften innerhalb des Computer-Systems zugewiesen. In der Informatik verstehen Programmierung unter |
|||
Typisierung die Zuweisung eines Objekts zu einem Datentyp. Datentypen könne implizit oder explizit festgelegt werden. |
|||
Ein Vorteil der typisierte Programmiersprache ist, dass man Vervollständigungsvorschläge durch die IDE bekommt. |
|||
Bekannte typisierte Programmiersprachen wären z.B.: C, C++, C#, Java usw.. |
|||
Die zweite Programmiersprache ist die typenlose. Hier werden die Variablen, Parameter & Rückgabewerte, im gegensatz zur |
|||
typisierte Programmiersprachen, nicht festgelegt. |
|||
Bekannte typenlose Programmiersprachen wären z.B. cmd & JavaScript. |
|||
|
|||
Zu dem haben wir 2 Arten der Programmiersprachen kennen gelernt. |
|||
Die erste wäre die typisierte Programmiersprachen. Mit der Typisierung werden Variablen oder Konstanten in Programmiersprachen |
|||
bestimmte Type-Eigenschaften innerhalb des Computer-Systems zugewiesen. In der Informatik verstehen Programmierung unter |
|||
Typisierung die Zuweisung eines Objekts zu einem Datentyp. Datentypen könne implizit oder explizit festgelegt werden. |
|||
Ein Vorteil der typisierte Programmiersprache ist, dass man Vervollständigungsvorschläge durch die IDE bekommt. |
|||
Bekannte typisierte Programmiersprachen wären z.B.: C, C++, C#, Java usw.. |
|||
Die zweite Programmiersprache ist die typenlose. Hier werden die Variablen, Parameter & Rückgabewerte, im gegensatz zur |
|||
typisierte Programmiersprachen, nicht festgelegt. |
|||
Bekannte typenlose Programmiersprachen wären z.B. cmd & JavaScript. |
|||
Zu letzt haben wir do's & dont's vorgestellt bekommen, um gute & übersichtliche Programme zu schreiben. |
|||
Die zwei Stichwört sind SOLID & STUPID. |
|||
Hier steht jeder Buchstabe für einen Punkt den man beachten soll. |
|||
|
|||
Zu letzt haben wir do's & dont's vorgestellt bekommen, um gute & übersichtliche Programme zu schreiben. |
|||
Die zwei Stichwört sind SOLID & STUPID. |
|||
Hier steht jeder Buchstabe für einen Punkt den man beachten soll. |
|||
### Erkenntnis/preception |
|||
Ich habe in dieser Vorlesung gelernt, welche Art von Programmiersprachen wann am Sinnvollsten wäre. |
|||
Zu dem habe ich mitgenommen auf was ich achten muss um ein gutes Programm zu schreiben. |
|||
Ich habe in dieser Vorlesung gelernt, welche Art von Programmiersprachen wann am Sinnvollsten wäre. |
|||
Zu dem habe ich mitgenommen auf was ich achten muss um ein gutes Programm zu schreiben. |
|||
|
|||
#### Wiederholung/repetition |
|||
Separations of Concern ist ein Prinzip von SOLID. Diese besagt, dass man ein Programm in verschiedene Abschnitte unterteilt, die jeweils |
|||
ein Problem behandeln. Um eine gute Übersicht über das Programm zu erhalten. |
|||
Separations of Concern ist ein Prinzip von SOLID. Diese besagt, dass man ein Programm in verschiedene Abschnitte unterteilt, die jeweils |
|||
ein Problem behandeln. Um eine gute Übersicht über das Programm zu erhalten. |
Write
Preview
Loading…
Cancel
Save
Reference in new issue