Skip to content
Snippets Groups Projects
Commit ee86582a authored by daryasivak's avatar daryasivak
Browse files

Basis

parents
No related branches found
No related tags found
No related merge requests found
.DS_Store 0 → 100644
File added
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
/home/anna/.virtualenvs/ProPra/bin/python /mnt/c/Users/Anna/Desktop/ProPra/IDE-First-Steps.py
['FUB', 'FBU', 'UFB', 'UBF', 'BUF', 'BFU']
HelloWorld
Process finished with exit code 0
def get_permutations(string, i=0):
res = []
if i == len(string):
res.append(string)
for j in range(i, len(string)):
chars = list(string)
chars[i], chars[j] = chars[j], chars[i]
res.extend(get_permutations("".join(chars), i + 1))
return res
res = get_permutations('FUB')
print(res, end="\nHelloWorld\n")
anna@LAPTOP-MJPHSC89:~$ ls
ProPra
anna@LAPTOP-MJPHSC89:~$ uptime
12:44:15 up 0 min, 1 user, load average: 0.00, 0.00, 0.00
anna@LAPTOP-MJPHSC89:~$ whoami
anna
anna@LAPTOP-MJPHSC89:~$ uname -a
Linux LAPTOP-MJPHSC89 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 GNU/Linux
anna@LAPTOP-MJPHSC89:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
anna@LAPTOP-MJPHSC89:~$ python -V; pip -V
Python 3.11.2
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
# 1. Text Decoration
This is **bold** text and this is *italic* text.
# 2. Headings
# Heading Level 1
## Heading Level 2
### Heading Level 3
#### Heading Level 4
##### Heading Level 5
# 3. Lists
## Unordered List
- First item
- Second item
- Sub-item
- Sub-sub-item
## Ordered List
1. Step one
2. Step two
1. Sub-step
2. Another sub-step
# 4. Code Block (bash)
```bash
echo "Hello, world"
```
# 5. Blockquote
> "Es ist nichts beständiger als die Unbeständigkeit."
> — *Immanuel Kant*
^O # Programmierpraktikum
Name: Anna Vegera, Darya Sivak
Semester: 4. Semester
# Programmierpraktikum – Aufgabenübersicht
**1. Welche drei einfachen Aufgaben haben Sie sich angesehen?**
- PEP8
- py-Function-Arguments-Basic
- py-List-Comprehensions
**2. Welche drei mittelschwierigen?**
- mlh-lsnew
- linkcheck-getlinks
- mlh-columnpercentage
**3. Welche drei schwierigen?**
- m_subprocess2
- refactor-Movierental-Planung
- refactor-Movierental-Umsetzung
**4. Welche Schwierigkeitsstufe ist die, in der Sie anfangs vor allem arbeiten möchten? Warum?**
Einfache und mittlere. Obwohl ich schon Erfahrung mit Programmieren habe, mit python habe ich noch nie viel gearbeitet.
**5. Was vermuten Sie, wieviel Prozent einfache und wieviel Prozent mittlere Aufgaben werden Sie in der ersten Hälfte Ihres Programmierpraktikums machen wollen?**
- 80% einfache
- 20% mittlere
**6. Wieviel in der zweiten Hälfte?**
- 50% einfache
- 50% mittlere
## Sprachen
- Sprachen bilden das Fundament jeder Programmierarbeit. Wenn man sich hier eine solide Basis erarbeitet, kann man später neue Technologien leichter verstehen und einsetzen.
- Wer bereits 1–2 Sprachen sicher beherrscht, könnte sich dieses Kapitel aber auch zunächst sparen.
## Bibliotheken
- Bibliotheken sind in der Praxis unverzichtbar, da kaum ein Programm heute noch ohne externe Bibliotheken geschrieben wird.
- Als Einstieg kann das Thema allerdings überfordern, wenn man noch nicht sicher programmieren kann oder die Sprache nicht gut kennt.
## Testen
- Testen hilft von Anfang an, guten und stabilen Code zu schreiben. Es schärft auch das Verständnis für Anforderungen an Software.
- Für Anfänger kann es jedoch ungewohnt und abstrakt sein, bevor sie sich mit grundlegender Programmierung auskennen.
## Defektlokalisierung
- Fehler im Code zu finden und zu beheben ist eine zentrale Tätigkeit beim Programmieren. Dieses Kapitel ist enorm praxisrelevant.
- Sollte aber erst nach den Grundlagen angegangen werden, da es eine gewisse Erfahrung im Lesen und Verstehen von Code erfordert.
## Bestandscode
- Der Umgang mit bestehender Software spiegelt den Alltag in der Softwareentwicklung wider. Gerade wenn man schon erste praktische Erfahrungen gesammelt hat, ist es sinnvoll.
- Zu Beginn kann das Kapitel jedoch frustrieren, da man sich im fremden Code schnell verliert.
## Web
- Das Kapitel Web bietet einen Einstieg in moderne Oberflächengestaltung mit HTML, CSS und JavaScript. Es ist motivierend, schnell sichtbare Ergebnisse zu erzeugen.
- Gleichzeitig ist es aber sehr tool- und technologieintensiv und daher eher nach den Grundlagen zu bearbeiten.
## Refactoring
- Refactoring erfordert ein tiefes Verständnis des vorhandenen Codes und der dahinterstehenden Architektur.
- Es macht deshalb Sinn, dieses Kapitel erst nach Debugging und Testen zu bearbeiten. Früh im Kurs fehlt dafür oft noch die nötige Übersicht und Erfahrung.
## Mein Plan
- **Ich starte mit:** *Sprachen*, da ich hier die Grundlagen festigen und mein Verständnis für spätere Kapitel verbessern möchte.
- **Am Ende werde ich bearbeiten:** *Refactoring*, da es tiefes Verständnis und Erfahrung mit bestehendem Code voraussetzt.
\ No newline at end of file
# Time Tracking Reflection
1. **Have you ever done systematic time tracking before? Was it easy? Was it helpful?**
- Yes, I have done it at work. It was not easy, yet helpful.
2. **Do you feel hesitant about recording your work hours? Why?**
- I don't feel hesitant because I have done it multiple times.
3. **Do you feel hesitant about your tutors being able to see your recorded times? Why, if they are there to provide help and feedback?**
- I don’t mind that my tutors can see the times. They're there to help me and provide feedback.
4. **Will you implement time tracking in ProPra? If yes, how often do you think you'll forget to follow the entry format?**
- I will probably do the time tracking in ProPra. I think I may forget to format the entries correctly sometimes.
# ProPra – Aufgabenbeziehungen
**1. Geben Sie den Namen einer Aufgabe an, die zwei oder mehr "assumes"-Beziehungen hat:**
- `mlh-columnpercentage` (assumes: Shell-Grundlagen2, regex_einfuehrung)
**2. Geben Sie den Namen einer Aufgabe an, die drei oder mehr "assumed by"-Beziehungen hat:**
- `Markdown` (assumed by: Einreichungen, propra-Mängel-bei-Kommandoprotokollen, propra-Mängel-bei-Markdownabgaben)
**3. Geben Sie den Namen dreier Aufgaben an, die miteinander eine "required"-Kette bilden, die man also in genau dieser Reihenfolge bearbeiten muss, wenn man die letzte davon bearbeiten will:**
- `mlh-lsnew``mlh-pseudonymize``mlh-pseudonymize2`
# Shell Prompt Anpassung
Ich habe den Prompt verändert, um ihn übersichtlicher zu machen:
- **Benutzername, Hostname** (`\u@\h`)
- **Verzeichnis** (`\w`)
- **Uhrzeit** (`\t`)
- **Kommandomummer** (`\!`)
Farben zur besseren Lesbarkeit hinzugefügt. Keine weiteren Änderungen vorgenommen.
course_url: https://www.inf.fu-berlin.de/inst/ag-se/teaching/K-ProPra-2025-04
partner_gituser: sivad05
student_gituser: vegea04
student_id: '5589313'
student_name: Anna Vegera
Zeiterfassung: CHECK
Linux LAPTOP-MJPHSC89 5.15.167.4-microsoft-standard-WSL2 #1 SMP Tue Nov 5 00:21:55 UTC 2024 x86_64 GNU/Linux
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
Python 3.11.2
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment