You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
6.1 KiB

  1. # Lerntagebuch
  2. ## SU 01 (2022-10-26)
  3. ### Lernziele
  4. - Organiesatorisches
  5. - Einführung
  6. - Softwarefehler der Geschichte
  7. ### Erkenntnis
  8. - Ich habe gelernt mit einem Gitsyste umzugehen
  9. ### Wiederholung
  10. - Commit: Ein Commit beschreibt die bestätigende Freischaltung einer Änderung. Er bezeichnet den Vorgang des Einspielens von neuen oder geänderten Quelltexten und anderen Datein.
  11. ## SU 02 (2022-11-02)
  12. ### Lernziele
  13. - Imperative Programmierung
  14. - Declarative Programmierung
  15. - Prozedurale Programmierung
  16. - Objektorientierte Programmierung
  17. - Funktionale Programmierung
  18. - typisierte und typenlose Programmierung
  19. - Prinzipien der Programmierung
  20. ### Erkenntnis
  21. - Ich habe die verschiedenen Arten der Programmierung gelernt und welche Programmiersprachen dazu gehören, sowie die do's und dont's.
  22. ### Wiederholung
  23. - fail fast: Fail fast ist eine Eigenschaft eines Systems, welche Fehler frühzeitig erkennt. Ein solches Fail-Fast-System erkennt Fehler oder Zustände, die zu Fehlern führen, an seinen Schnittstellen und zeigt sie auf.
  24. ### Kritik
  25. - Ich fand es ein wenig unvorteilhaft, dass der Professor keine Beispiele vorbereitet hatte, sondern spontan versucht hat sich an eines zu erinnern und letzten endes keines nennen konnte.
  26. - Die Folien hätten, meiner Meinung nach, auch hochgestellt werden sollen, damit man während der Vorlesung ordentlich und strukturiert mitschreiben hätte können.
  27. ## SU 03 (2022-11-09 )
  28. ### Lernziele
  29. - Geschichte der Programmierwerkzeuge
  30. - Integrated Development Environment
  31. - Entwurfsmuster
  32. ### Erkenntnis
  33. - Ich habe Erzeugungs-, Struktur- und Verhaltensmuster kennengelern. Außerdem habe ich gelernt, etwas mit Eclipse umzugehen.
  34. ### Wiederholung
  35. - Singleton: Ein Singleton ist ein Entwurfsmuster, welches sicher stellt, dass von einer Klasse genau ein Objekt exestiert.
  36. ### Kritik
  37. - Die Folien hätten, meiner Meinung nach, auch hochgestellt werden sollen, damit man während der Vorlesung ordentlich und strukturiert mitschreiben hätte können.
  38. - Die Folien der Präsentation Integrated Development Environment wären meiner Meinungen nach eine bessere Anfangspräsentation gewesen, um als Anfänger die Grundlagen und die nachfolgenden Präsentation besser zu verstehen.
  39. ## SU 04 (2022-11-16)
  40. ### Lernziele
  41. - Warum git
  42. - Branching
  43. - Merge or Rebase
  44. ### Erkenntnis
  45. - Ich habe etwas über das Konzept von git gelernt. Ebenso über das etwas größere Thema Branching.
  46. ### Wiederholung
  47. - Ein Branching-hotfix hat eine kurze Lebensdauer, jeder Entwickler kann commiten und der "build server" sollte Verzweigungen wieder zusammenführen können, um zu entwickeln und zu veröffentlichen.
  48. ### Kritik
  49. - Ich fand es gut, dass sie diesmal die Folien vorher hochgelanden haben. Es war jedoch ein weinig umständlich das es auf englisch war, jedoch haben Sie ja dies vorher erwähnt und auch gesagt warum dies so ist.
  50. ## SU 05 (2022-11-23)
  51. ### Lernziele
  52. - Kooperationene im Softwareentwicklungsprozess
  53. - Softwareentwicklungsprozess
  54. - Rolle von automatisierten Tests
  55. - Vorgehensmodelle
  56. ### Erkenntnis
  57. - Ich habe gelernt was Softwareentwicklungsprozesse sind und welche Rolle automatisierte Tests haben
  58. ### Wiederholung
  59. - Automatisierte test : sie führen Programme aus und dokumentieren gewünschtegewünschtes Verhalten. Sie können Laufzeitfehler erkennen mit Ausnahmen der Unit Tests.
  60. ## SU 06 (2022-11-30)
  61. ### Lernziele
  62. - Grundlagen Projektmanagement
  63. - Rollen im Projektmanagement
  64. - Projektmanagement
  65. - Aufwandsschätzung
  66. ### Erkenntnis
  67. - Ich habe gelernt worum es beim Projektmanagement geht und auf was ich beachten muss, auc wie wichtig die Aufwandsschätzung ist.
  68. ### Wiederholung
  69. - Wasserfall Modell: Es ist ein lineares Vorgehensmodell, welches in aufeinanderfolgenden Projektphasen organiesiert ist und insbesondere für die Softwareentwicklung verwenfet wird.
  70. ## SU 07 (2022-12-07)
  71. ### Lernziele
  72. - Motivation
  73. - Grundlagen
  74. - Testmethodologie
  75. - Testprozess
  76. - Psychologische Aspekte
  77. ### Erkenntnis
  78. - Menschen machen Fehler was okay ist.
  79. ### Wiederholung
  80. - Maskierte Fehler: Sie werden von anderen Fehlern überdeckt meistens von latenten Fehlern. Sie sind erst auffindbar, wenn der maskierte Fehler beseitigt wird. Er hat kein Einfluss auf Funktionalität ddes Produnkts.
  81. ## SU 8 (2022-12-14)
  82. ### Lernziele
  83. - Motivation
  84. - Grundlagen
  85. - UnitTests
  86. - Anforderungen an zu testenden Code
  87. ### Erkenntnis
  88. - Ich habe den Unterschied zwischen Application/Module-Tests und UnitTests gelernt. Außerdem habe ich gelernt, was UnitTests machen.
  89. ### Wiederholung
  90. - Applications und Module Test werden erst spät im Entwicklungsprozess ausgeführt, haben komplexe Testwerkzeuge und sind aufwendig zu warten. Sie zeigen zwar das ein Fehler existiert, aber zeigen nicht wo.
  91. ## SU 9 (2022-12-21)
  92. ### Lernziele
  93. - Relevante Literatur
  94. - Motivation
  95. - Grundlagen
  96. - Beispiel Skart-Spiel
  97. ### Erkenntnis
  98. - Ich habe die Grundlagen von Test Driven Development gelernt.
  99. ### Wiederholung
  100. - Testabdeckung: sie wird oft als key performance indicator (KPI) missbracht und ist wichtig für die Beurteilung der Vertrauenswürdigkeit des Testhareness. TDD führt zu hoher Testabdeckung, aber nicht zu 100%, jedoch führt TDD zu 100% Anforderungsabdeckung.
  101. ## SU 10 (2023-01-11)
  102. ### Lernziele
  103. - Bedeutung von CI im Softwareentwicklungsprozess
  104. - Aufbau eines CI/CD-Systems
  105. - Ablauf des CI-Prozesses
  106. - Rolle von automatisierten Tests
  107. ### Erkenntnis
  108. - Ich habe etwas über die Bedeutung von Continous Integration im Softwareentwicklungsprozess gelernt sowei deren Aufbau und Ablauf.
  109. ### Wiederholung
  110. - Abhänigkeitenverwaltung: Sie ist nicht selbst im Build-Lauf erzeugt und wird zentral Bereitgestellt innerhalb der Organisation. Außerdem hat man Zugriff auf einzelne Versionen.
  111. ## SU 11 (2023-01-18)
  112. ### Lernziele
  113. - Motivation
  114. - Klassen
  115. - Vererbung
  116. - OOP Algorithmen
  117. ### Erkenntnis
  118. - Ich habe etwas über die Klassen, die Vererbung und die Algorithmen der Objektorientierten Programme gelernt. Außerdem, dass OOP ein eigenständiger Ansatz der Problemlösung ist, welche eine andere Denkweise erfordert.
  119. ### Wiederholung
  120. - Vererbung: abgeleitete Klassen erweitern Basisklassen und modellieren eine "ist ein" Beziehung. Sie zeigen geändertes Verhalten.