# Informatik-Facharbeit: Welches Thema?



## xTheChosen0ne (13. April 2016)

Hallo Leute! Im Internet gibt es ja einige Fragen zu Facharbeitsthemen in der Informatik.
Ich habe nun lange recherchiert und folgende Themen als interessant eingestuft:
 - Viren & Würmer
 - SQL
 - Datenkompression
 - PHP
 - Pascal
 - Lua

Ich bin mir nicht sicher welche Themen ich wirklich in die Wahl mit einbeziehen sollte, von wegen Komplexität etc. Vor längerer Zeit habe ich ihm gesagt, dass ich gerne Lua machen möchte. Nach längeren Überlegungen schien mir das Thema jedoch "trocken" zu sein, da es ja "nur" eine Skriptsprache ist, und mir die Möglichkeiten wie ich das Thema behandeln kann, nicht soo zusagen.
Mein Lehrer möchte, dass ich bei meiner Facharbeit meine "individuelle Note" hinzufügen muss. Als Beispiel nannte er, dass man z.B. bei einer Facharbeit über eine bestimmte Programmiermethode ein eigenes Programm hinzufügen soll.
Die Facharbeit muss 10-15 Seiten lang sein. 

Worüber kann ich denn am Besten etwas zu schreiben? Ich werde je nach eurem Rat Themen hinzufügen/entfernen und die Liste dann meinem Lehrer morgen vorlegen.
MfG


----------



## Olstyle (13. April 2016)

Gegenfrage: Was interessiert dich denn? Das was dich wirklich interessiert solltest du dir vornehmen.
Nach der Prämisse habe ich in Schule und Studium nie weniger als eine 1,3 bei frei wählbaren Themen gehabt.


----------



## Laudian (14. April 2016)

Lua ist natürlich sehr weit verbreitet, vor allem weil die Sprache so simpel ist. World of Warcraft unterstützt Lua als Addonsprache, in Minecraft kann man verschiedene Sensoren der Computercraft-Mod mit Lua ansteuern und sich schön austoben.
Und soweit ich weiß, wird Lua auch in einigen Engines unterstützt...
Bei Lua würde ich den Fokus dann eher auf das selbst entwickelte Programm setzen, der Anspruch ist eher niedrig.


Datenkompression dagegen wäre ein sehr mathematisches Thema, hier müsste man sich wohl 1-2 Algorithmen genauer ansehen und versuchen zu erklären. Wenn dein Lehrer von dir sogar ein selbstgeschriebenes Programm erwartet, kommst du wohl auch an einer Implementierung nicht vorbei. Auf jeden Fall ein eher anspruchsvolles Thema.

PHP spielt im Prinzip nur bei Webservern wirklich eine Rolle. Und selbst da nur, weil es einfach verbreitet ist, nicht weil es sich besser eignet als andere Sprachen. Wenn du nicht planst, in der Webentwicklung aktiv zu werden, dann würde ich mich mit PHP garnicht erst beschäftigen.

Viren als Thema stelle ich mir sehr sehr trocken vor, zu Pascal und SQL kann ich nichts sagen.


----------



## Ap0ll0XT (14. April 2016)

Ganz ehrlich? Die gefallen mir alle nicht. Wenn ich das ganze so spezifisch abkauen muss, dann kaufe ich mir ein Buch zum jeweiligen Thema. 

Viren und Würmer? Haut keinem mehr vom Hocker. Interessanter ist es, wie die Dinger auf die Systeme kommen.
SQL? Jedes Buch zum Thema Webentwicklung hat ein großes Kapitel darüber. Außerdem gibt es auch Bücher, die sich nur damit beschäftigen.  Da wird man einige Köpfe auf den Tisch knallen sehen.
Datenkompression? Für den einen oder andere vielleicht interessant. Aber trockener als 2 Wochen alter Marmorkuchen.
PHP? Wenn du dich ausgiebig acuh mit PHP 7 beschäftigst und auch einmal alternative Stile einfließen lässt, könnte das durchaus interessant werden. Aber wenn du nur bis PHP 5.6.X und nur starres OOP machst, werden die Köpfe noch lauter auf den Tisch knallen als bei SQL.
Pascal? Ihhh du Leichenschänder  
Lua? Hatte ich ja schon etwas in deiner Anfrage vom Januar zu gesagt.

Wenn euer Dozent eines dieser Staubtrockenen Themen unbedingt haben will, kannste Würfeln. Alles öde und trocken. Weißt du, wie du jemanden am besten zeigen kannst, das du etwas verstanden und gelernt hast? Das geht am besten, indem du ein komplexes System theoretisch entwickelst und dieses erklärst. Dabei kann es dir sogar passieren, das 2 oder 3 Elemente deiner Liste darin wieder auftauchen. Wenn du keine konkreten Ideen für komplexere Systeme hast, kannste mir ja mal ne PN schreiben. Aber deine Liste da oben enthält Sachen, die euer Dozent wahrscheinlich spätestens nach dem zehnten Vortrag nicht mehr hören kann.


----------



## fotoman (14. April 2016)

Also wenn Google nicht völligen Müll zu "Informatik-Facharbeit" liefert und/oder  ich den "Lehrer" oben falsch interpretiere, dann ist der "Dozent" wohl  schlicht der Informatiklehrer in der Oberstufe? Wieviel Zeit habt ihr denn für die Facharbeit?



xTheChosen0ne schrieb:


> Worüber kann ich denn am Besten etwas zu schreiben?


Im Zweifel zu dem Thema, das Dich irgendwie interessiert. Habt ihr keine Beispiele aus vergangenen Jahren, wie sowas aufgebaut sein soll? Daran lässt sich meist schon erahnen, ob reine Theorie oder eher Praxis gewünscht ist.

Für mich ist das eher die Farge, was am Ende bei raus kommen soll. Eine rein theoretische Abhandlung (auch sowas kann eine "individuelle Note" haben). Oder wird die Facharbeit vor dem Kurs vorgetragen und das Thema vieleicht sogar diskutiert? Spätestens da wären aus meiner Sicht (und dem vermuteten Alter der "Zuhörer"), "Viren & Würmer" hoch interessant. Man muss ja nicht gleich einen Virus selber programmieren. Obwohl die Recherche dazu schon "gefährlich" genug sein kann....

Wenn es ein lauffähiges Beispiel inkl. ein paar Grundlagen zum Thema geben soll und Du ein "passendes" Spiel sowieso schon spielst, dann muss auch Lua (oder allgemein eine Scriptsprache) kein trockenes Theam sein. Eine kurze Einführung, was Lua überhaupt ist und wie es sich gegen die sicherlich schon bekannt "normale" Programmiersprache abgrenzt, und dann wird ein gut dukumentiertes AddOn für das Spiel implentiert und daran die Leistungsfähigkeit oder die Grenzen gezeigt.

Pascal, nun ja, je nach Ausrichtung des Kurses und des Lehrers hätte ich da genauso wenige etwas gegen die historicshe Entwicklung (von UCSD Pascal über Turbo, Borland usw. zu Delphi und Pascal auf Android) wie z.B. zum Thema .NET,  falls ihr damit schon in Berührung gekommen seit. Von der Idee über die diversen Versionen (inkl. Mono, und Xamarin) bis zu den zukünftig schon absehbaren Spaltung der 4er und 5er "Version".

Von Datenkompression würde ich genauso die Finger lassen wie von Verschlüsselung. Mir wäre das zu theoretisch, falls es nicht genügt, die vorhandenen Algorithmen für die Nutzung mit verschiedenen Datentypen zu vergleichen. Selbiges gilt für Grafik- oder Videoformate oder Compotergrafik insgesamt. Obwohl ich mich da persönlcih freiwillig dem Thema "Raw-Format" annehmen würde 

Zum Thema SQL fällt mir nicht wirklcih viel sinnvolles ein. Ein Vergleich diverser DB-Engines wird wohl nicht Ziel der Facharbeit sein. Wenn das Theam aber im Unterricht schonmal angeschnitten wurde und die Facharbeit nicht nur Privatlektüre für den Lehrer ist, dann könnten deer Vergleich zu anderen Datenbankkonzepte durchaus ein interessates Theama sein.


----------



## Ap0ll0XT (14. April 2016)

Das Problem an Pascal ist einfach, das die Sprache regelrecht von Alternativen überrollt wurde. Delphi und Object-Pascal sind nahezu identisch und sind daher auch mit dem Freepascal-Compiler kompatibel. Allerdings sind diese Programme meist langsamer als C++ oder D. Es sollte aber ein Thema sein, das auch in Zukunft einen praktischen Nutzen hat. Pascal ist streng genommen davon weit entfernt. Da wäre BASIC als Thema deutlich interessanter. Neben Visual Basic .NET und VBA gibt es da noch PureBasic, FreeBasic, NSBasic (vor allem für Mobile Entwicklung) etc.


----------



## Pladdaah (14. April 2016)

xTheChosen0ne schrieb:


> Worüber kann ich denn am Besten etwas zu schreiben?




Ich weiß zwar nicht ob das zu Thema passt, aber wie wärs mit Cyber-Kriminaltät/Krieg/Terrorismus etc.?
Da gibts mMn. einiges Interessantes und vor allem Aktuelles 

Gruß,
Plad


----------



## taks (14. April 2016)

Die Frage ist halt noch auf was für einer Stufe die Arbeit ist. 

Vllt. Verschlüsselungstechnik mit Beispielen aus verbreiteten Anwendungen (WhatsApp, HTTPS, GoogleDrive,..).


----------



## Leob12 (14. April 2016)

Jop, es kommt wirklich auf die Stufe an. Braucht man dafür Literatur, wenn ja, wieviel usw.

Gesendet von meinem D5803 mit Tapatalk


----------



## xTheChosen0ne (14. April 2016)

Olstyle schrieb:


> Gegenfrage: Was interessiert dich denn? Das was dich wirklich interessiert solltest du dir vornehmen.
> Nach der Prämisse habe ich in Schule und Studium nie weniger als eine 1,3 bei frei wählbaren Themen gehabt.


Von diesen Themen erscheinen mir alle interessant, sonst hätte ich diese nicht mit in die Liste eingefügt 



Laudian schrieb:


> Lua ist natürlich sehr weit verbreitet, vor allem weil die Sprache so simpel ist. World of Warcraft unterstützt Lua als Addonsprache, in Minecraft kann man verschiedene Sensoren der Computercraft-Mod mit Lua ansteuern und sich schön austoben.
> Und soweit ich weiß, wird Lua auch in einigen Engines unterstützt...
> Bei Lua würde ich den Fokus dann eher auf das selbst entwickelte Programm setzen, der Anspruch ist eher niedrig.


Das wäre dann halt die Sache. Ich muss ja Lua dann im Zusammenhang mit meinem entwickelten Programm erklären. Nur da besteht die Gefahr, dass ich lediglich die "Schreibweise" mit der von Java vergleiche, weil dies unsere einziger bisher vorgenommene Programmiersprache ist. Das meinte ich mit "trocken". Die Sache mit Minecraft weiß ich, damit habe ich erstmals "Programmiererfahrungen" gemacht. Das ist mir aber zu bezogen auf das Interne des Spiels.



Ap0ll0XT schrieb:


> Wenn euer Dozent eines dieser Staubtrockenen Themen unbedingt haben will, kannste Würfeln. Alles öde und trocken. Weißt du, wie du jemanden am besten zeigen kannst, das du etwas verstanden und gelernt hast? Das geht am besten, indem du ein komplexes System theoretisch entwickelst und dieses erklärst. Dabei kann es dir sogar passieren, das 2 oder 3 Elemente deiner Liste darin wieder auftauchen. Wenn du keine konkreten Ideen für komplexere Systeme hast, kannste mir ja mal ne PN schreiben. Aber deine Liste da oben enthält Sachen, die euer Dozent wahrscheinlich spätestens nach dem zehnten Vortrag nicht mehr hören kann.


Zum Thema Programmiersprache wäre mein Vorschlag ebenfalls ein Projekt gewesen. Nur was soll ich da erklären? Ich würde alles in dem Programm mit allen bisher im Unterricht genannten "Sachen" bzgl. Java erklären/vergleichen, da wir nix anderes im Unterricht machen, als Strukturen,Algorithmen etc. zu Java. Das meinte ich mit "trocken"



fotoman schrieb:


> Also wenn Google nicht völligen Müll zu "Informatik-Facharbeit" liefert und/oder  ich den "Lehrer" oben falsch interpretiere, dann ist der "Dozent" wohl  schlicht der Informatiklehrer in der Oberstufe? Wieviel Zeit habt ihr denn für die Facharbeit?
> 
> Im Zweifel zu dem Thema, das Dich irgendwie interessiert. Habt ihr keine Beispiele aus vergangenen Jahren, wie sowas aufgebaut sein soll? Daran lässt sich meist schon erahnen, ob reine Theorie oder eher Praxis gewünscht ist.
> 
> ...


Ja, ich besuche den Informatik-Leistungskurs. Leider haben wir bisher noch keine anderen Facharbeiten vorgelegt bekommen. Eine rein theoretische Abhandlung sollte es mit Sicherheit nicht sein; ich denke mit der individuellen Note meinte er tatsächlich ein Projekt. Bzgl. Vortragen der Facharbeit wurde bisher nichts gesagt, ich denke jedoch, dass dies nicht der Fall sein wird.


taks schrieb:


> Die Frage ist halt noch auf was für einer Stufe die Arbeit ist.
> 
> Vllt. Verschlüsselungstechnik mit Beispielen aus verbreiteten Anwendungen (WhatsApp, HTTPS, GoogleDrive,..).


Was meinst du mit Stufe? Also ich muss jetzt keine Facharbeit fürs Studium schreiben, sondern für den Informatik-Leistungskurs eines Gymnasiums. Im Unterricht besprechen wir alles Mögliche zu Java: Bisher haben wir Datenstrukturen gemacht, Laufzeit-Analyse, Sortierverfahren, (linäre/binäre) (Such-)Bäume uvm.
Das Thema Kryptographie ist bereits vergeben, aber das Thema fand ich persönlich eh nicht so schön


----------



## xTheChosen0ne (14. April 2016)

Ap0ll0XT schrieb:


> Das Problem an Pascal ist einfach, das die Sprache regelrecht von Alternativen überrollt wurde. Delphi und Object-Pascal sind nahezu identisch und sind daher auch mit dem Freepascal-Compiler kompatibel. Allerdings sind diese Programme meist langsamer als C++ oder D. Es sollte aber ein Thema sein, das auch in Zukunft einen praktischen Nutzen hat. Pascal ist streng genommen davon weit entfernt. Da wäre BASIC als Thema deutlich interessanter. Neben Visual Basic .NET und VBA gibt es da noch PureBasic, FreeBasic, NSBasic (vor allem für Mobile Entwicklung) etc.



Habe mir mal BASIC angeschaut, sieht sehr interessant aus! Dankesehr. .NET und SmallBasic wären da sicher gute Optionen.


----------



## Ap0ll0XT (14. April 2016)

So wie ich das bisher verstanden habe, wäre das .NET ein interessantes Fach. Vor allem zusammen mit Mono und Portabilität zwischen verschiedenen Betriebssystemen. Gerade als Kontrast zu Java ist das ganze top, da die beiden direkt miteinander konkurrieren.

Im großen und ganzen kannst du alles auf 15 A4 Seiten strecken, wenn du detailliert genug bist. Du musst dich aber auch vom Gedankengang lösen, alles mit Java zu vergleichen oder in Relation zu setzen. Denn vieles ist einfach nicht mit Java zu erklären, obwohl diese Themen vllt. sogar deutlich interessanter sind.


----------



## xTheChosen0ne (14. April 2016)

Ap0ll0XT schrieb:


> So wie ich das bisher verstanden habe, wäre das .NET ein interessantes Fach. Vor allem zusammen mit Mono und Portabilität zwischen verschiedenen Betriebssystemen. Gerade als Kontrast zu Java ist das ganze top, da die beiden direkt miteinander konkurrieren.
> 
> Im großen und ganzen kannst du alles auf 15 A4 Seiten strecken, wenn du detailliert genug bist. Du musst dich aber auch vom Gedankengang lösen, alles mit Java zu vergleichen oder in Relation zu setzen. Denn vieles ist einfach nicht mit Java zu erklären, obwohl diese Themen vllt. sogar deutlich interessanter sind.



Mit .NET lässt sich dann warscheinlich auch mehr anstellen von wegen GUI undso. Ist ja auch nicht nur eine Skriptsprache. Bei .NET wäre dann die Frage welchen "Dialekt" ich verwende.
Habe dir bzgl. Lua eine PN geschrieben.


----------



## Ap0ll0XT (14. April 2016)

Ist egal. Das ist das schöne beim .NET. Am Ende kommt eh das selbe raus.


----------



## fotoman (14. April 2016)

xTheChosen0ne schrieb:


> Mit .NET lässt sich dann warscheinlich auch mehr anstellen von wegen GUI undso. Ist ja auch nicht nur eine Skriptsprache. Bei .NET wäre dann die Frage welchen "Dialekt" ich verwende.


Für mich wäre das erst mal die Frage, ob es um das .NET Framework oder um eine darauf aufsetzende Programmiersprache geht. Oder gar am Ende um die Aussage, dass die Sprache ansich zu mind. 95% egal ist, da man Quelltexte (bis auf einige Ausnahmen) problemlos automatisiert z.B. von C# nach VB.NET konvertieren kann.

Wichtiger (im Bezug auf die Einarbeitungszeit) ist aber, ob Du für eine GUI Forms oder WPF nutzt. Oder ob das ganze gar in Richtung Betriebssystemunabhängigkeit gehen soll.


----------



## xTheChosen0ne (15. April 2016)

fotoman schrieb:


> Für mich wäre das erst mal die Frage, ob es um das .NET Framework oder um eine darauf aufsetzende Programmiersprache geht. Oder gar am Ende um die Aussage, dass die Sprache ansich zu mind. 95% egal ist, da man Quelltexte (bis auf einige Ausnahmen) problemlos automatisiert z.B. von C# nach VB.NET konvertieren kann.
> 
> Wichtiger (im Bezug auf die Einarbeitungszeit) ist aber, ob Du für eine GUI Forms oder WPF nutzt. Oder ob das ganze gar in Richtung Betriebssystemunabhängigkeit gehen soll.



Ist das nicht ein bisschen zu kompliziert? Ich muss das Ganze ja auch irgendwie umsetzen.


----------



## Ap0ll0XT (15. April 2016)

Im Grunde ist WPF oder Forms ersteinmal egal. WPF ist zumindest meiner Meinung nach kein all zu großes Alleinstellungsmerkmal. Code übersetzen ist zwar ein nettes Feature des .NET. Aber in den meisten Fällen geht es dabei auch eher um die Zusammenarbeit unterschiedlicher Programmierer. Man kann es ansprechen. Umzusetzen ist da aber garnichts.

Wenn du .NET in Relation zu Java setzen willst, dann wäre interessant, was das .NET schon kann, wo du bei Java ne Third-Party Lib brauchst. NuGet wäre auch ein Thema.


----------



## fotoman (17. April 2016)

xTheChosen0ne schrieb:


> Ist das nicht ein bisschen zu kompliziert? Ich muss das Ganze ja auch irgendwie umsetzen.


Du (oder Dein Lehrer) musst Dir halt überlegen, was die Facharbeit beschreiben soll.  Alles geht nicht, das ist klar. Für mich gibt es da zwei Themenstränge, die vollkommen unabhängig von einander sind:
- die Theorie, also die Entwicklung von .NET (welche großen Änderungen/Ergänzungen gab es zwischen .NET 2, 3, 4 und 4.5 und vor allem, wohin soll .NET laut Microsoft in Zukunft gehen, inkl. Xamarin). Das könnte man dann, wenn noch Zeit vorhanden ist, auch (wieder nur theoretisch) mit Java vergleichen.
- der praktische Teil, wie auch von Ap0ll0XT angesprochen: Vergleich .NET zu Java inkl. einem Programm, das ein paar Punkte (nahezu identische und/oder unterschiedliche Toolkits) praktisch darstellt. Hier könnte man auch "einfach" ein schon vorhandenes kleines Java-Programm nehmen und nach .NET konvertieren.



Ap0ll0XT schrieb:


> WPF ist zumindest meiner Meinung nach kein all zu großes  Alleinstellungsmerkmal.


WPF ist aber nunmal (aus meiner Sicht leider) der einzige Weg den Microsoft einschlägt, um "einfach" und unterstützt durch MS auf High DPI Displays Anwendungen vernünftig skalierbar zu realisieren. Und wenn man gar noch Universal Apps (oder schon nur Store Apps) prgorammieren will/muss, dann komt man um WPF nicht herum.

Mag sein, dass Java mit den dort üblichen GUI-Toolkits das besser löst. davon hat man aber nichts, wenn es um .NET geht.

Für eine praktische Facharbeit würde ich aber auch nur Forms nehmen, das ist für den Einsteiger vermutlich intuitiver.


----------



## Shutterfly (18. April 2016)

Persönlich finde ich, dass Datenkompression noch das dankbarste Thema ist. Es gibt diverse Algorithmen, diverse Entwicklungen.

Bei dem Thema ist eigentlich alles drin: Von einer expliziten Analyse eines Algorithmus bis hin zu weiten Themen ala "Wie hat sich dies entwickelt?", "Wie arbeitet ein Algorithmus zur Datenkompression?", "Welche unterschiedlichen Algorithmen gibt es überhaupt? Video-Kompressionen, usw."


----------



## xTheChosen0ne (24. April 2016)

fotoman schrieb:


> Für mich wäre das erst mal die Frage, ob es um das .NET Framework oder um eine darauf aufsetzende Programmiersprache geht.


@Ap0ll0XT

*Mein Facharbeitsthema ist jetzt offiziell Visual Basic .NET*
Da die Möglichkeiten / Art und Weise des Programmierens mit Visual Basic .NET (zumindest mit Visual Studio) sehr auf "grafische Ebene" verläuft, wurde abgemacht, dass ich zu meiner Facharbeit ein Projekt machen soll, wo sehr viele "Ereignisse" (Mausklicks, etc.) zur Schau gestellt werden und verschiedene Steuerelemente die verschieden reagieren. Das Projekt sollte jedoch ein sinnvolles Programm werden, welches im Alltag hilfreich ist, es aber so in der Form noch nicht gibt. 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. Hat jemand dennoch andere Ideen?  Meine Kreativität lässt einfach zu Wünschen übrig.


----------



## lowskill (24. April 2016)

xTheChosen0ne schrieb:


> *Mein Facharbeitsthema ist jetzt offiziell Visual Basic .NET*


Mein Beileid.


----------



## Shutterfly (25. April 2016)

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"


----------



## fotoman (25. April 2016)

xTheChosen0ne schrieb:


> 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.



xTheChosen0ne schrieb:


> 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 
"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.



xTheChosen0ne schrieb:


> 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).


----------



## Ap0ll0XT (25. April 2016)

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


----------



## Shutterfly (25. April 2016)

a





Ap0ll0XT schrieb:


> 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.


----------



## lowskill (25. April 2016)

@Ap0ll0XT: Lua ist also nicht praktikabel und VB hat  einen hohen Stellenwert.  



> [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.


----------



## Ap0ll0XT (25. April 2016)

lowskill schrieb:


> @Ap0ll0XT: Lua ist also nicht praktikabel ...


Das habe ich nicht gesagt!



lowskill schrieb:


> 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.


lowskill schrieb:


> Wie wärs denn mit MS Access + VBA als Grundlage? Da hättest du die "DB" gleich mit dabei.


Und alle müssten sich MS Office kaufen, um es zu nutzen. Eine sehr gute Idee. Danke für den Microsoft-Support. 

Aber lassen wir diese langweiligen Grundsatzdiskussionen. Da kommen wir nie auf einen Nenner. Hatten wir alles schon X-fach. Das langweilt mich.


----------



## lowskill (25. April 2016)

Ap0ll0XT schrieb:


> Oha da haben aber viele Firmen den Schuss nicht gehört.


Da will ich nicht widersprechen.



Ap0ll0XT schrieb:


> 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.



Ap0ll0XT schrieb:


> Und alle müssten sich MS Office kaufen, um es zu nutzen. Eine sehr gute Idee. Danke für den Microsoft-Support.


War die Ironie zu subtil oder verstehe ich einfach nur deinen Humor nicht?



Ap0ll0XT schrieb:


> 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.


----------



## dailydoseofgaming (25. April 2016)

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.


----------



## xTheChosen0ne (25. April 2016)

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*"



Shutterfly schrieb:


> 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.
> 
> ...


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".



fotoman schrieb:


> 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.
> 
> ...


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.


fotoman schrieb:


> 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.  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.



Ap0ll0XT schrieb:


> 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



Ap0ll0XT schrieb:


> 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.



Ap0ll0XT schrieb:


> 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!



dailydoseofgaming schrieb:


> 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


----------



## Shutterfly (26. April 2016)

xTheChosen0ne schrieb:


> 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 



xTheChosen0ne schrieb:


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



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


----------



## xTheChosen0ne (28. April 2016)

Shutterfly schrieb:


> 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 



Shutterfly schrieb:


> 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


----------



## Shutterfly (1. Mai 2016)

xTheChosen0ne schrieb:


> Ich belege den Mathe-LK, ja, aber das heißt nicht dass ich Mathematik mag



Mathematik ist in der Informatik dein bester Freund. Verscherze es dir lieber nicht mit ihm.


----------



## razzor1984 (5. Mai 2016)

xTheChosen0ne schrieb:


> Achso
> 
> 
> Ich belege den Mathe-LK, ja, aber das heißt nicht dass ich Mathematik mag



Nur ein KEY WORD "THEORETISCHE INFORMATIK & LOGIK" - viel spaß wenn man mathe genau nicht mag -


----------



## Shutterfly (6. Mai 2016)

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


----------



## Hansvonwurst (6. Mai 2016)

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...


----------



## xTheChosen0ne (6. Mai 2016)

razzor1984 schrieb:


> Nur ein KEY WORD "THEORETISCHE INFORMATIK & LOGIK" - viel spaß wenn man mathe genau nicht mag -





Shutterfly schrieb:


> 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





Hansvonwurst schrieb:


> 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...




Shots fired.


----------



## Shutterfly (6. Mai 2016)

Hansvonwurst schrieb:


> 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...



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


----------



## xTheChosen0ne (12. Juni 2016)

Meine Facharbeit ist nun fertig und abgegeben worden. Vielen Dank an alle, die geantwortet haben!


----------

