Projektideen für Programmier- Anfänger?
Hallo, ich absolviere für 4 Monate mein Praktikum im Bereich Informatik. In meiner Abteilung geht es um Websiteentwicklung und ich soll demnächst selbst eine Website programmieren (mit C#, JavaScript, HTML, Ajax und CSS).
Meine Frage ist, ob ihr so Ideen habt, was man als Anfänger (wirklich Anfänger mit 1% Grundkenntnis🥲) programmieren kann für 3 Monate ungefähr? Bin so 30 Stunden der Woche bei dem Unternehmen.
Eine weitere Frage ist, ob ihr gute Tutorials, Websites, YT- Videos, etc. zum Thema kennt? Ich soll nämlich selbst recherchieren und mir das selber beibringen.
Danke im Voraus für eure Antworten
5 Antworten
Frag mal den Goat der für dich Zuständig ist was ein nices Projekt ist, immerhin muss er dir bei dem Projekt zeigen wie es geht. Ansonsten lern mal die Grundkenntnisse deiner Programmiersprachen.
Bei C# gehe ich mal davon aus, dass ihr ASP.Net für das Backend verwendet (ist ein Framework für C#).
Und dann frag ich ich: Ich verwendet HTML, CSS und JavaScript für Frontend und C# für Backend??? Ist eigentlich ein sehr ungewöhnlicher Stack, normalerweise benutzt man dann ein Frontend Framework wie React, Angular, Vue, Svelte etc. Frag da lieber nochmal nach ob es sich nicht um ein Frontend Framework handelt und lern dann dieses.
Wenn du das wirklich selbst machen muss (warum nehmen die dich dann überhaupt an, wenn denen egal ist was du machst und die dich nicht unterstützen??), dann frag nochmal wegen dem genauen Frontend und Backendstack nach, also nach dem Frameworks.
Dann stellt sich halt die Frage: Warum brauchst du denn ein Projekt in den 4 Monaten? Schule, Uni? Was fordern denn die? Und richte dich halt etwas nach den Anforderungen. Es gibt halt tausende Projekte die du machen kannst, aber richte dich halt etwas nach den Vorgaben um besser zu Punkten
Ich würde einfach die Ressourcen vom Unternehmen ausnutzen, wo du das Praktikum machst.
Die haben Interesse an dir gezeigt und bezahlen dich eventuell sogar. Die wollen von dir bestimmt auch einen Nutzen haben.
Bei einem Schülerpraktikum von wenigen Wochen wäre es die Rückkehr nach der Schule. Bei deinen 3/4 Monaten haben sie eventuell auch kleine Tools im Kopf, wo die Arbeit intern etwas erleichtert wird.
Damit kann die freie Projekt Wahl auch hin sein. Vielleicht gab es schon Absprachen, dass du ein freies Projekt umsetzen darfst, aber diese hast du hier nicht genannt.
Falls dein Unternehmen auch eine Fachinformatiker Ausbildung im Bereich Anwendungsentwicklung anbietet, wird es bestimmt auch Konzepte geben, wie das Programmieren mit kaum/keiner Vorerfahrungen beigebracht werden kann.
Auch wenn du als Praktikant wahrscheinlich keine Vollzeitbetreuung bekommst, wirst du wohl Anregungen bekommen können.
Wenn du schon ein Unternehmen an deiner Seite hast, musst du auch nicht alles Alleine machen.
Danke für deine ausführliche Antwort. Ehrlich gesagt fühle ich hier wirklich alleine gelassen. Ich bin seit 1,5 Monaten hier und habe bisher nur Websites von den Azubis hier vorgeschlagen bekommen, mit den ich C# lernen soll. Eine wirkliche Aufgabe oder Einführung hier habe ich noch nicht bekommen. Die Kollegen hier arbeiten 80% im Homeoffice und ihre Tätigkeiten sind halt bugs fixen und ich, als Anfängerin kann natürlich fast nichts verstehen und es ist auch schwierig für sie, mich alles von Anfang zu erklären. Letztens habe ich die „Aufgabe“ bekommen, kreativ zu werden und selbst recherchieren, was ich oben schon erwähnt habe. Ich glaube nicht, dass sie viel von mir erwarten. Ich als Praktikantin und Programmieranfängerin wurde einfach in einer Abteilung geschoben, die sonst nur Studenten oder Azubis aufnehmen, also schon mit viel Erfahrungen😅 also wissen die Kollegen gar nicht was sie tun sollen.
Ein gutes Beispielprojekt könnte es seine eine Art Datenbank für etwas zu programmieren. Da es ein Beispiel ist, ist es auch egal, was du darin abspeicherst, am besten natürlich etwas, was du selbst spannend findest, z.B. eine Datenbank mit Filmen oder Spielen.
Da könntest du dann ein Frontend mit HTML, CSS und JS bauen, in dem die Daten optisch ansprechend dargestellt werden. Dabei könntest du es so aufbauen, dass die Daten dynamisch über AJAX* abgerufen werden, sodass man dann auch Filter- und Suchfunktionen einbauen kann, die über das Backend laufen.
So ein Backend kann man in vielen verschiedenen Sprachen schreiben. C# sehe ich nicht so oft, kann aber in bestimmten Bereichen durchaus Sinn machen. Häufige Sprachen sind JavaScript oder TypeScript (Node.js), Python, Go, oder das gute alte PHP. Java wird (oder wurde?) auch oft verwendet, aber hier habe ich das Gefühl, dass es etwas aus der Mode gekommen ist. Mit Node.js hättest du den Vorteil, dass du keine weitere Sprache lernen musst, und direkt mit JS arbeiten kannst. Wenn aber C# Pflicht ist, nimmst du natürlich das.
Zusätzlich wirst du vermutlich noch ein Datenbanksystem brauchen. Würde auch Sinn machen, da man das für fast jede Webanwendung braucht, selbst normale Websites nutzen fast immer ein CMS, das die Webseiteninhalte aus einer Datenbank zieht.
Der Klassiker wäre hier MySQL oder MariaDB, die gut geeignet sind für Daten, die sich einfach in Tabellen abbilden lassen.
Meist macht es Sinn, Frontend und Backend zu entkoppeln, wofür auch der Einsatz von AJAX spricht. Mit PHP beispielsweise kann man Front- und Backend auch kombinieren, das macht meiner Meinung nach für kleine Anwendungen oft Sinn, aber für größere Anwendungen ist eine Entkopplung sinnvoll, das heißt, Frontend und Backend kommunizieren eben nur über API-Calls. Ein beliebtes Schema, um so eine Kommunikation systematisch zu gestalten, nennt sich RESTful API.
Du könntest also einfach erst nach Tutorials schauen, wie man eine REST-API mit C# baut, und dann wie man ein Frontend baut, das eine solche REST-API konsumiert. Dabei müssen die Tutorials auch nicht zusammengehören, da eine REST-API eben universell ist.
*Meiner Erfahrung nach wird der Begriff AJAX heutzutage eher weniger verwendet, meist ist eher von Backend- oder API-Calls/Requests die Rede. Dafür wird meist die fetch-API oder die Axios-Library in JavaScript verwendet.
Danke für die Ergänzungen!
Hatte ich auch so im Kopf, dass C# eher im Enterprise-Bereich zum Einsatz kommt.
Bei AJAX ging es mir wirklich nur um den Begriff. Er bedeutet ja eigentlich "Asynchronous JavaScript and XML", und das ist heutzutage ja eher selten der Fall, da man ja fast nur noch JSON benutzt. Daher bevorzuge ich eben Begriffe wie "API-Call" oder einfach nur "Request", da die auch unabhängig vom Datenformat sind. Ist zwar wie gesagt nur ein Unterschied in den Begrifflichkeiten, aber zumindest ich persönlich benutze den Begriff AJAX aus diesen Gründen fast nicht mehr.
wir haben schon eine Datenbank, wo zum Beispiel schon Daten von Mitarbeiterinnen und Mitarbeitern gespeichert sind. Ich weiß nicht, ob ich die bereits vorhandene Datenbank miteinzubinden, damit mein Projekt auch was mit der Abteilung zu tun hat, oder wie du vorschlägst, Datenbank für etwas zu programmieren.
Wenn dann solltest du sowieso nur mit einer Kopie der Datenbank arbeiten, und nicht mit dem Original. So eine Datenbank ist schnell zerschossen.
Da kannst du etliches durchprobieren.
Login, Dynamisches Nachladen von Inhalten, Coole Animationen, Irgendwelche Spiele (mit Mehrspielermodus via Server), ...
Fang bei Youtube an. Es gibt genug. Der Rest ist dir nicht ohne Grund überlassen.
Und, ja, es ist Absicht, dass sie dich so alleine lassen.
kannst du mir ein paar Stichwörter auf youtube empfehlen? Und kannst du näher erläutern, warum sie mich alleine lassen? =)
(C# /JavaScript / HTML / Ajax / CSS / Webseite selber programmieren - "Tutorial".
Es geht darum zu lernen wie man eigenständig komplexere Aufgaben lösen kann.
Das macht man im Studium/Hochschule/Ausbildung/Schule auch, aber da Hast du fast immer wie beim Fahrrad fahren, aber eigene Projekte zum Laufen bringen, gibt dir oftmals mehr Kompetenzen und Fähigkeiten, weil dir da keiner was vorschreibt und du meist auf dich alleine gestellt bist - quasi selber Fahrrad fahren lernen, ohne Stützen.
Beide Sprachen werden heutzutage noch oft in der Webentwicklung genutzt, sind aber mehr auf bestimmte Sparten/Anwendungsfälle fokussiert (z.B. Web Services oder E-Commerce- und Enterprise-Anwendungen). Für kleine bis mittelgroße Seiten oder Hobbyprojekte macht es aufgrund verschiedener Gründe (Komplexität, Webhosting, ...) oft weniger Sinn.
AJAX ist das Konzept hinter der Art, wie die Daten übertragen werden. Ein API-Request kann also eine AJAX-Technologie (XHR/Fetch/Axios) nutzen, könnte aber ebenso mittels anderer Technik (z.B. via WebSocket oder integriertem Form-Request seitens des Browsers) verschickt werden.