Informatik-Facharbeit: Welches Thema?

Hmmm enttäuschend finde ich. Man spricht von Informatik und landet am Ende bei einem UI-Clickdummy, welcher per Drag & Drag zusammengezogen wird.

Persönlich kann ich hier keine Vorschläge machen, da mich die Basis schon total abturnt. Ich würde den Oberstufen-Planer verfolgen, da man dort wenigstens die Zeit gut ausschmücken kann, z.B. mit Berechnungen von Noten, "Was muss ich schreiben um am Ende ein Xer Schnitt zu bekommen", bla bla. Mehr fällt mir bei dem Thema aber auch nicht ein.

Naja, eine Idee hätte ich noch, diese wird dich aber ggf. bissl fordern: Mach ne UI wo diverse Elemente drauf sind (Checkboxen, Input, Textarea, usw. usw). Oben hast du ein "Recording" Button. Klickst du diesen zeichnet das Programm alle Interaktionen auf, welche du mit der Maske machst. Eingaben, Auswahlen, usw.

Am Ende hast du ein "Stop" Button und dann kann diese Aufnahme abgespielt, gespeichert und geladen werden. Damit muss dein Programm zum einen mit den Benutzereingaben zurecht kommen, auf der anderen Seite aber auch mit einem Event-System arbeiten, wo es alle Interaktionen mitbekommt, aufzeichnet und auch am Ende wieder abfeuern kann.

Entscheidend sind dabei natürlich die realen Zeitabstände. Wenn ich z.B. in die Textarea "Ich bin ein Gott!" eingebe, dann soll dies in der gleichen Geschwindigkeit auftauchen und nicht instant hingeklatscht werden. Wenn man nur den Monitor sieht soll man, mal abgesehen von der fehlenden Maus, nicht erkennen können, ob dies ein Mensch direkt tut oder ob dies eine alte Aufnahme ist.

Mit diesem Thema hast du dann viele Elemente Dinge in der Programmierung angefasst: Du brauchst deine UI, ein Event-System zum belauschen der Eingaben, eine Möglichkeit das Event-System auch aktiv für simulierte Eingaben zu nutzen, Timer, eine Sprache zur Darstellung als Text-Datei, ein Parser und Writer, Stack, usw.

Das fände ich, abgesehen von VB, interessanter. Legt die Latte jedoch auch mächtig hoch, zumindest vermute ich das, da ich nicht deine Kenntnisse kenne.

Wenn du aber schon ausreichend auf dem Kasten hast, dann versuchs mal damit. Taufen könnte man das Kind dann vielleicht so: "Verknüpfung von Programmier-Paradigmen zur Aufzeichnung, Speicherung und Wiedergabe von UI-Interaktionen"
 
Da die Möglichkeiten / Art und Weise des Programmierens mit Visual Basic .NET (zumindest mit Visual Studio) sehr auf "grafische Ebene" verläuft,
Hoffentlich kommt diese Einschätzung von Dir und nicht von Deinem Lehrer. Nur, weil man viele Dinge noch so realisieren kann wie zu Zeiten von VB6, muss man das ja nicht auch so nutzen.

Nach längeren Überlegungen hat mein Lehrer mir vorgeschlagen, eine Art Oberstufenplaner anzufertigen, wo man Noten eintragen kann und mit allem nötigen Schnick Schnack der für einen Schüler hilfreich sein könnte.
Das ist doch wenigstens ein Thema, mit den Du etwas anfangen kannst und dessen Grundlagen Du sowieso kennen musst/solltest.

Neu ist die Idee aber mit Sicherheit nicht, zumindest gibt es eine passende App dazu :rollen:
"Oberstufenplaner ist eine App, mit der Schüler der gymnasialen Oberstufe ihre Noten, (Haus)Aufgaben und ihren Stundenplan verwalten können....."
Zumindest kannst Du Dir dort ein paar Ideen abschauen, was man so alles planen und verwalten könnte und welche Ereignisse dort Aktionen auslösen. Ob die App bei nicht erledigten Hausaufgaben eine Warnung ausgibt, passende Tips zur Suche im Netz anzeigen kann oder gleich per SMS den "paasenden" Freund um Rat fragen kann, weiss ich nicht. Zusätzlich würde ich dann eine Notenprognose erwarten (u.U. abhängig vom Lehrer), wenn die Aufgaben in einem Fach zu oft nicht erledigt wurden.

Hat jemand dennoch andere Ideen?
Wie wäre es mit einer Erfassung und Auswertung aller Klassen-/Jahrgangsstufenfahrten der vergangnen Jahre (Ziel, Kosten, Länge, Anzahl Schüler und Lehrer, Anzahl Refarate, Anzahl "fachfremder" Schüler usw.). Jeder neue Eintrag führt automatisch zu einer (grafischen) Auswertung. Das ließe sich auch noch schön mit dem Mathe-Stoff der vergangenen Jahre (Wahrscheinlichkeitsrechnung, Statistik) kombinieren oder mittels Elementen einer Kurvendiskussion auswerten (falls Du zufällig im Mathe LK bist).
 
Visual Basic .NET ist um einiges praktikabler als LUA. Das ist schonmal gut. Die Oberstufen-Software finde ich an sich auch gut. Wird aber nicht die Anforderungen bzgl. der UI-Interaktionen erfüllen. Denn du hast nicht wirklich viele UI-Elemente, die du dafür benötigst. Es sei denn du versuchst krampfhaft, so viele verschiedene wie möglich zu integrieren.

Interessanter ist an diesem Projekt eher das speichern, lesen und verarbeiten der Daten. Wenn du schlau bist, verwendest du dazu eine dateibasierte relationale Datenbank. Damit hast du auch direkt das Thema mit drin. SQLite würde sich da hervorragend eignen ( GitHub - praeclarum/sqlite-net: Simple, powerful, cross-platform SQLite client and ORM oder System.Data.SQLite: Home ). Vielleicht (wenn die Zeit reicht) kannst du ja auch einen Lehrer-Kontext einfügen, mit dem der Lehrer die Daten seiner Schüler verwalten, für jeden einzelnen exportieren und verteilen kann. Für eine serverbasierte Lösung (z.B. über Webservices wie REST oder SOAP) dürfte die Zeit dann doch zu knapp sein. Aber zusammen mit dem Lehrer-Kontext ist auch das Thema Datenbank, Relationen und vor allem Redundanz mit dabei. Wenn du das schaffst, wird dein Lehrer sich da definitiv beeindruckt zeigen. ;)

Und lass dich wegen den nagativen Kommentaren zu Visual Basic .NET nicht verunsichern. Die Sprache hat seinen Stellenwert und wird in den verschiedensten Bereichen immernoch gern angewendet. Du verschwendest damit weder Zeit noch lernste was schlechtes ;)
 
a
Und lass dich wegen den nagativen Kommentaren zu Visual Basic .NET nicht verunsichern. Die Sprache hat seinen Stellenwert und wird in den verschiedensten Bereichen immernoch gern angewendet. Du verschwendest damit weder Zeit noch lernste was schlechtes ;)

Will das nun nicht eskalieren lassen aber klar wird die Sprache irgendwo noch verwendet. Ich kenne z.B. Software zur Visualisierung von Industrieanlagen, welche teilweise in VB.NET geschrieben sind. Optimal find ich diese Sprache dennoch nicht. Für das spätere Berufsleben ist es einfach ein selten genutzte Sprache gegenüber den bekannten Größen. Man könnte genau so gut Delphi verwenden ;)

Letztendlich geht es ja auch nur um die Vermittlung von grundlegenden Konzepten in der Programmierung und da ist die Sprache fast egal für.

Was ich jedoch an VB .NET unangenehm finde ist die Tatsache der möglichen schwachen Typisierung. So etwas verleitet gerade Anfänger zum schlampen und wenn das einmal dran ist, dann bekommt man das nur schwer wieder raus.
 
@Ap0ll0XT: Lua ist also nicht praktikabel und VB hat einen hohen Stellenwert. :D

[VB] wird in den verschiedensten Bereichen immernoch gern angewendet
Ja. Bei Hobby-Entwicklern, und Firmen, die den Schuss noch nicht gehört haben.

Wie wärs denn mit MS Access + VBA als Grundlage? Da hättest du die "DB" gleich mit dabei. :lol:
 
@Ap0ll0XT: Lua ist also nicht praktikabel ...
Das habe ich nicht gesagt!

Ja. Bei Hobby-Entwicklern, und Firmen, die den Schuss noch nicht gehört haben.
Oha da haben aber viele Firmen den Schuss nicht gehört. Wir sind vollkommmen überschwemmt von Programmiersprachen, die alle angeblich besser sein sollen als VB.NET. Komisch, das sich die Sprache seit Ewigkeiten unter den Top-Ten des Tiobe-Index befindet.
Wie wärs denn mit MS Access + VBA als Grundlage? Da hättest du die "DB" gleich mit dabei. :lol:
Und alle müssten sich MS Office kaufen, um es zu nutzen. Eine sehr gute Idee. Danke für den Microsoft-Support. :lol:

Aber lassen wir diese langweiligen Grundsatzdiskussionen. Da kommen wir nie auf einen Nenner. Hatten wir alles schon X-fach. Das langweilt mich.
 
Oha da haben aber viele Firmen den Schuss nicht gehört.
Da will ich nicht widersprechen.

Komisch, das sich die Sprache seit Ewigkeiten unter den Top-Ten des Tiobe-Index befindet.
Die Aussagekraft des TIOBE-Index ist fragwürdig. Nichtsdestotrotz gibt es tatsächlich noch zahlreiche VB-Leichen in den Kellern einiger Firmen, die Tag für Tag geschändet werden. Liegt häufig daran, dass die Firmen nicht die finanziellen Mittel haben bzw. bereitstellen wollen um den alten Mist abzulösen, einfach zu ignorant sind oder auch vor einer Veränderung/Umstellung Angst haben.

Und alle müssten sich MS Office kaufen, um es zu nutzen. Eine sehr gute Idee. Danke für den Microsoft-Support. :lol:
War die Ironie zu subtil oder verstehe ich einfach nur deinen Humor nicht?

Aber lassen wir diese langweiligen Grundsatzdiskussionen. Da kommen wir nie auf einen Nenner. Hatten wir alles schon X-fach. Das langweilt mich.
So lange der Mist von irgendwelchen Hobby-Fricklern empfohlen wird, werden die Diskussionen weiter gehen.
 
Zuletzt bearbeitet:
Ich hab selbst mal vor zwei Jahre eine Facharbeit in Informatik geschrieben.
Ob Visual Basic.NET oder ein beliebiges anderes Framework jetzt so die richtige Wahl ist, muss jedem selbst überlassen sein.
Viel Potential für eigene Ansätze und Ideen sehe ich da nicht.
Mein Thema damals war: "Die Entstehung von Mobile-First und Responsive Design im Internet, vor dem Hintergrund des Wandels bei den bevorzugten Endnutzer-Geräten"
Im Nachhinein auch nicht ganz optimal, weil doch recht theoretisch gehalten.
 
Der Titel meiner Facharbeit steht nun auch fest: "Programmierung in Visual Basic .NET am Beispiel der Implementation einer Anwendung zur Laufbahnplanung für die gymnasiale Oberstufe"

Naja, eine Idee hätte ich noch, diese wird dich aber ggf. bissl fordern: Mach ne UI wo diverse Elemente drauf sind (Checkboxen, Input, Textarea, usw. usw). Oben hast du ein "Recording" Button. Klickst du diesen zeichnet das Programm alle Interaktionen auf, welche du mit der Maske machst. Eingaben, Auswahlen, usw.

Am Ende hast du ein "Stop" Button und dann kann diese Aufnahme abgespielt, gespeichert und geladen werden. Damit muss dein Programm zum einen mit den Benutzereingaben zurecht kommen, auf der anderen Seite aber auch mit einem Event-System arbeiten, wo es alle Interaktionen mitbekommt, aufzeichnet und auch am Ende wieder abfeuern kann.

Entscheidend sind dabei natürlich die realen Zeitabstände. Wenn ich z.B. in die Textarea "Ich bin ein Gott!" eingebe, dann soll dies in der gleichen Geschwindigkeit auftauchen und nicht instant hingeklatscht werden. Wenn man nur den Monitor sieht soll man, mal abgesehen von der fehlenden Maus, nicht erkennen können, ob dies ein Mensch direkt tut oder ob dies eine alte Aufnahme ist.

Mit diesem Thema hast du dann viele Elemente Dinge in der Programmierung angefasst: Du brauchst deine UI, ein Event-System zum belauschen der Eingaben, eine Möglichkeit das Event-System auch aktiv für simulierte Eingaben zu nutzen, Timer, eine Sprache zur Darstellung als Text-Datei, ein Parser und Writer, Stack, usw.

Das fände ich, abgesehen von VB, interessanter. Legt die Latte jedoch auch mächtig hoch, zumindest vermute ich das, da ich nicht deine Kenntnisse kenne.
Schon eine sehr gute Idee! Allerdings sehe ich nicht die Notwendigkeit für so einen "Recorder" in diesem Programm. Ich möchte nicht einfach zwanghaft etwas reinbringen, nur "um es drin zu haben".

Hoffentlich kommt diese Einschätzung von Dir und nicht von Deinem Lehrer. Nur, weil man viele Dinge noch so realisieren kann wie zu Zeiten von VB6, muss man das ja nicht auch so nutzen.

Das ist doch wenigstens ein Thema, mit den Du etwas anfangen kannst und dessen Grundlagen Du sowieso kennen musst/solltest.

Neu ist die Idee aber mit Sicherheit nicht, zumindest gibt es eine passende App dazu :rollen:
"Oberstufenplaner ist eine App, mit der Schüler der gymnasialen Oberstufe ihre Noten, (Haus)Aufgaben und ihren Stundenplan verwalten können....."
Zumindest kannst Du Dir dort ein paar Ideen abschauen, was man so alles planen und verwalten könnte und welche Ereignisse dort Aktionen auslösen. Ob die App bei nicht erledigten Hausaufgaben eine Warnung ausgibt, passende Tips zur Suche im Netz anzeigen kann oder gleich per SMS den "paasenden" Freund um Rat fragen kann, weiss ich nicht. Zusätzlich würde ich dann eine Notenprognose erwarten (u.U. abhängig vom Lehrer), wenn die Aufgaben in einem Fach zu oft nicht erledigt wurden.
Das die Idee nicht so ganz neu ist, war mir klar. Aber man hat viele Möglichkeiten bei der Individualität. Werde mir auch sicher Features von ähnlichen Programmen abschauen, danke für den Rat.
Wie wäre es mit einer Erfassung und Auswertung aller Klassen-/Jahrgangsstufenfahrten der vergangnen Jahre (Ziel, Kosten, Länge, Anzahl Schüler und Lehrer, Anzahl Refarate, Anzahl "fachfremder" Schüler usw.). Jeder neue Eintrag führt automatisch zu einer (grafischen) Auswertung. Das ließe sich auch noch schön mit dem Mathe-Stoff der vergangenen Jahre (Wahrscheinlichkeitsrechnung, Statistik) kombinieren oder mittels Elementen einer Kurvendiskussion auswerten (falls Du zufällig im Mathe LK bist).
Tatsächlich belege ich neben dem Informatik-LK den Mathe-LK. :D Tatsächlich habe ich schon mit einem Kollegen vor längerer Zeit eine schon etwas tiefergehende Exceltabelle mit vielen Features rund um die gymnasiale Schullaufbahn gemacht. Die Formeln sind also schon gegeben.

Visual Basic .NET ist um einiges praktikabler als LUA. Das ist schonmal gut. Die Oberstufen-Software finde ich an sich auch gut. Wird aber nicht die Anforderungen bzgl. der UI-Interaktionen erfüllen. Denn du hast nicht wirklich viele UI-Elemente, die du dafür benötigst. Es sei denn du versuchst krampfhaft, so viele verschiedene wie möglich zu integrieren.
Über dieses Problem habe ich auch schon nachgedacht. Ich will auf keinen Fall krampfhaft unnötige Sachen implementieren. Aber mal schauen. Sobald es ans Programm geht, wird sich da sicher was machen lassen

Interessanter ist an diesem Projekt eher das speichern, lesen und verarbeiten der Daten. Wenn du schlau bist, verwendest du dazu eine dateibasierte relationale Datenbank. Damit hast du auch direkt das Thema mit drin. SQLite würde sich da hervorragend eignen ( GitHub - praeclarum/sqlite-net: Simple, powerful, cross-platform SQLite client and ORM oder System.Data.SQLite: Home ). Vielleicht (wenn die Zeit reicht) kannst du ja auch einen Lehrer-Kontext einfügen, mit dem der Lehrer die Daten seiner Schüler verwalten, für jeden einzelnen exportieren und verteilen kann. Für eine serverbasierte Lösung (z.B. über Webservices wie REST oder SOAP) dürfte die Zeit dann doch zu knapp sein. Aber zusammen mit dem Lehrer-Kontext ist auch das Thema Datenbank, Relationen und vor allem Redundanz mit dabei. Wenn du das schaffst, wird dein Lehrer sich da definitiv beeindruckt zeigen. ;)
Ich möchte natürlich nicht zu stark in eine andere Richtung abdriften. Irgendwo ist jedoch schon eine Art "Datenbank" notwendig, da das Programm mit den eingegebenen Werten ja nicht "zurückgesetzt" werden soll. Es sollten möglichst viele Anwenderprofile erstellt werden können.

Und lass dich wegen den nagativen Kommentaren zu Visual Basic .NET nicht verunsichern. Die Sprache hat seinen Stellenwert und wird in den verschiedensten Bereichen immernoch gern angewendet. Du verschwendest damit weder Zeit noch lernste was schlechtes ;)
Vielen Dank für deine Mithilfe!

Ich hab selbst mal vor zwei Jahre eine Facharbeit in Informatik geschrieben.
Ob Visual Basic.NET oder ein beliebiges anderes Framework jetzt so die richtige Wahl ist, muss jedem selbst überlassen sein.
Viel Potential für eigene Ansätze und Ideen sehe ich da nicht.
Mein Thema damals war: "Die Entstehung von Mobile-First und Responsive Design im Internet, vor dem Hintergrund des Wandels bei den bevorzugten Endnutzer-Geräten"
Im Nachhinein auch nicht ganz optimal, weil doch recht theoretisch gehalten.
Der Schwerpunkt der Facharbeit liegt (nach Gespräch mit Lehrer) ganz klar auf das zu programmierende Projekt
 
Schon eine sehr gute Idee! Allerdings sehe ich nicht die Notwendigkeit für so einen "Recorder" in diesem Programm. Ich möchte nicht einfach zwanghaft etwas reinbringen, nur "um es drin zu haben".

Das war auch nicht für deinen Oberstufen-Planer gedacht sondern als alternative zu diesem. Es klang so, als wäre der noch nicht in Stein gemeißelt ;)

Tatsächlich belege ich neben dem Informatik-LK den Mathe-LK. :D

Na wenn du Mathe magst, hättest auch mehr in die Richtung gehen können - Stand leider nicht auf deiner Liste. Turingmaschinen, universelle Funktionen und Berechenbarkeit hätten da sicherlich allen den Kopf zum platzen gebracht ;)
 
Das war auch nicht für deinen Oberstufen-Planer gedacht sondern als alternative zu diesem. Es klang so, als wäre der noch nicht in Stein gemeißelt ;)
Achso :D

Na wenn du Mathe magst, hättest auch mehr in die Richtung gehen können - Stand leider nicht auf deiner Liste. Turingmaschinen, universelle Funktionen und Berechenbarkeit hätten da sicherlich allen den Kopf zum platzen gebracht ;)
Ich belege den Mathe-LK, ja, aber das heißt nicht dass ich Mathematik mag :D
 
Theoretische Informatik verstehe ich ja aber Logik? Finde nicht, dass Logik so viel mit Mathe zutun hat. Zumindest wenn man PL1 und Aussagenlogik ansieht, welche i.d.R. im Studium vorkommen :)
 
Nicht so viel mit Mathe? Entweder hast du eine falsche Vorstellung von Mathe oder das hast du nur ganz oberflächlich behandelt. Wenn man darauf einen Mathematiker loslässt, der sich damit auskennt... :fresse:
 
Nur ein KEY WORD "THEORETISCHE INFORMATIK & LOGIK" - viel spaß wenn man mathe genau nicht mag - ;)
Theoretische Informatik verstehe ich ja aber Logik? Finde nicht, dass Logik so viel mit Mathe zutun hat. Zumindest wenn man PL1 und Aussagenlogik ansieht, welche i.d.R. im Studium vorkommen :)
Nicht so viel mit Mathe? Entweder hast du eine falsche Vorstellung von Mathe oder das hast du nur ganz oberflächlich behandelt. Wenn man darauf einen Mathematiker loslässt, der sich damit auskennt... :fresse:


Shots fired. :D
 
Nicht so viel mit Mathe? Entweder hast du eine falsche Vorstellung von Mathe oder das hast du nur ganz oberflächlich behandelt. Wenn man darauf einen Mathematiker loslässt, der sich damit auskennt... :fresse:

Vielleicht ist das was hier auch "Mathe" bezeichnet wird, für mich schon kein Mathe mehr sondern allgemeines Handwerkszeug. welches natürlich der Mathematik entspringt.

An der Oberfläche hab ich da nicht wirklich gekratzt. Hab mich mit wissensbasierten Systemen ein Semester lang beschäftigt ;) Aber wahrscheinlich hab ich für mich Mathe immer anders definiert/gesehen. Mathematische Logik ist natürlich, wie der Name schon sagt, Mathematik. Unterscheidet sich aber echt extrem von Analysis, Algebra, Geometrie, Stochastik oder Zahlentheorie.

Das sind die Dinge, wo ich zuerst bei Mathe dran gedacht habe ;)
 
Zurück