Informatik-Facharbeit: Welches Thema?

xTheChosen0ne

Komplett-PC-Aufrüster(in)
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
 
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.
 
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.
 
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 :lol: :P
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. ;)
 
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?

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 :P

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.
 
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.
 
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,..).
 
Jop, es kommt wirklich auf die Stufe an. Braucht man dafür Literatur, wenn ja, wieviel usw.

Gesendet von meinem D5803 mit Tapatalk
 
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 :D

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.

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"

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.

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

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.
 
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."
 
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? :D Meine Kreativität lässt einfach zu Wünschen übrig.
 
Zuletzt bearbeitet:
Zurück