fdai4796
2 years ago
1 changed files with 66 additions and 0 deletions
@ -1 +1,67 @@ |
|||||
|
# Lerntagebuch Programmieren & -werkzeuge, 1. Woche |
||||
|
## Lernziele/Takeaway |
||||
|
Zu erst haben wir die organisatorischen Sachen besprochen. Somit haben wir einen kleinen Einblick auf unsere Aufgaben bekommen. |
||||
|
Im zweiten Teil haben wir die wesentlichen Eigenschaften eines Softwareentlickler*innen beschprochen. Als nächstes haben wir geklärt wo |
||||
|
der Unterschied zwischen einem Laien & Profi liegt. Der Laie macht ausversehen etwas richtig, der Profi gewollt. Der Profi hat Fachwissen den |
||||
|
er mitbringt, er hat das Richtige Werkzeug und vor allem Prinzipien an die er sich hält. Z.B. was ich nicht brauche kommt weg, dies bedeutet |
||||
|
Codes die nicht mehr gebraucht werden, werden gelöscht. |
||||
|
Zu dem haben wir die Begriffe Künstler & Handwerker geklärt und in welche Kategorie Softwareentwickler*innen rein fallen. |
||||
|
Künstler schaffen Produkte um Emotionen aus zu lösen. Handwerker um Kunden etwas nützliches zu schaffen. Softwareentlickler*innen |
||||
|
können beides sein, fallen aber mehr in die Kategorie Handwerker. |
||||
|
### Erkenntnis/preception |
||||
|
Ich habe gelernt, dass ich mich an die Prinzipien halten muss. Das ich unnötige Sachen aus meinem Code lösche und mich mit meinen Werkzeugen |
||||
|
auskennen sollte, um so vieles wie möglich gewollt zu erledigen. |
||||
|
#### Wiederholung/repetition |
||||
|
Die Prinzipien sind essenziell für einen guten Handweker (Softwareentwickler*innen). Es muss sich dran gehalten werden um so viel wie möglich |
||||
|
richtig zu machen und um Fehler zu minimieren. Es gibt mehrere Prinzipien. Wie z.B. immer einen Unitest aus zu führen, um Fehler früh zu |
||||
|
erkennen und zu beheben. |
||||
|
|
||||
|
|
||||
|
# Programmierparadigmen, 2. Woche |
||||
|
## Lernziele/Takeaway |
||||
|
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. |
||||
|
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. |
||||
|
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 |
||||
|
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. |
||||
|
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). |
||||
|
|
||||
|
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. |
||||
|
### 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. |
||||
|
#### 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. |
Write
Preview
Loading…
Cancel
Save
Reference in new issue