Eine Liste praktischer Wissensbildungsprojekte. Da die Projekte darauf abzielen, Ihre Wissensbasis zu erhöhen, sind sie etwas schwierig. Es gibt jedoch auch einige einfache. Viele von ihnen sind sogar würdig genug, um Ihr Portfolio zu präsentieren.
Die Projekte sind in mehrere Kategorien unterteilt und mit einigen vorgeschlagenen Sprachen und Frameworks/Tools (ich arbeite immer noch an diesem Teil), um Ihnen den Einstieg zu erleichtern.
Um mit den Projektideen zu beginnen:
Allgemeine Webprojekte, vom Erstellen einer einfachen Website bis zum Erstellen von Tools für komplexe und schwierige Netzwerkaufgaben wie Paketschnüffeln.
Das Aufbau von automatisierten Bots ist etwas, das Sie irgendwann in Ihrer Karriere/Ihrem Leben ausprobieren möchten.
Richtige Software- oder Anwendungsvorschläge, die Sie möglicherweise sogar in Ihrem täglichen Leben verwenden, wie ein einfacher Texteditor oder einen benutzerdefinierten Musikplayer.
Projekte, die sich hauptsächlich mit künstlicher Intelligenz oder maschinellem Lernen befassen. Ideal zu präsentieren in Ihrem Portfolio, wenn Sie sich für KI -bezogene Jobs oder Programme bewerben möchten.
Projekte, die einen tieferen Einblick in die inneren Funktionsweise vieler CS -verwandter Dinge bieten, die Sie in Ihrem täglichen Leben möglicherweise wissentlich oder unwissentlich verwenden.
Projekte, die mit Verschlüsselung/Entschlüsselung oder allgemeiner Computersicherheit umgehen.
Alle Arbeit und kein Spiel macht Jack zu einem langweiligen Jungen! Spiele sind ein Muss, um viele der Programme zu genießen und zu lernen, einschließlich OOPS.
Diese waren allein in ihren eigenen Kategorien und ich wollte nicht, dass sie sich allein fühlen, also habe ich sie zusammen gepoolt.
Einige empfohlene Kanäle, um an mehr Problemen zu arbeiten und Ihre Codierungsfähigkeiten zu schärfen.
Ein einfacher Dateiübertragungs -Client, der das FTP (Dateiübertragungsprotokoll) verwendet. Fügen Sie als Bonus -Herausforderung Unterstützung für die sichere Dateiübertragung hinzu. Es kann sich um ein Web-, Desktop- oder CLI -App handeln.
Sie können versuchen, zuerst TFTP (triviales Dateitransferprotokoll) zu implementieren, da es einfacher ist.
Vorgeschlagene Sprache : C/C ++
Vorgeschlagene Frameworks/Tools : Verwenden Sie Wireshark, um Pakete zu beobachten und sie zu debuggen
Beispiel Implementierung : Filezilla ist äußerst vollständig. Hier ist eine einfache GO -Implementierung
Um HTTP besser zu verstehen, müssen Sie einen HTTP -Server erstellen. Es ist jetzt nicht viel schwierig (mit der Fülle von Informationen um uns herum).
Vorgeschlagene Sprache : Python (oder eine andere Sprache, die Sie beherrschen möchten)
Vorgeschlagene Frameworks/Tools : Socket (Python Library)
Beispiel Implementierung : Blog -Beitrag von Ruslan
Erstellen Sie einen Web -Schaber, der ein URL/Keyword als Eingabe aufnimmt und die entsprechenden Ergebnisse aus dem Web zurückgibt, das sich auf die Eingabe bezieht. Sie können auch einen Produktsucher oder ähnliches erstellen.
Vorgeschlagene Sprache : Python (oder eine andere Sprache, die Sie beherrschen möchten)
Vorgeschlagene Frameworks/Tools : BeautifulSoup (Python Library)
Beispielimplementierung :
Erstellen Sie eine Port -Scanner -Anwendung, mit der ein Server oder Host nach geöffneten Ports untersucht werden kann. Sie benötigen einige technische Kenntnisse darüber, wie Netzwerke funktionieren und wie Sie nach Ports scannen oder klassifizieren können.
Vorgeschlagene Sprache : Java, C ++, Python
Vorgeschlagene Frameworks/Tools : Socket Python Library
Beispiel Implementierung : Piescan ist eine Python -Implementierung
Ein Paket -Sniffer wird verwendet, um den Netzwerkverkehr zu überwachen, indem Datenpakete untersucht werden, die zwischen Computern in einem Netzwerk fließen. Zu Beginn des Projekts studieren Sie Netzwerkprotokolle ordnungsgemäß. Tauchen Sie dann in die Implementierung einer Anwendung ein, die Netzwerkpakete aufspürt und ihre Inhalte in einer menschlichen lesbaren Form analysiert.
Vorgeschlagene Sprache : Java, C ++
Vorgeschlagene Frameworks/Tools :
Beispiel Implementierung : Wireshark ist ein äußerst vollständiger Paket -Sniffer. Herbivore ist eine einfachere Implementierung.
Erstellen Sie eine App, mit der die Peer-to-Peer-Dateien sicher über das Internet freigegeben werden können. Auf diese Weise können Sie Dateien sicher von einem Ort an einen anderen übertragen oder etwas an Ihren Freund senden.
Vorgeschlagene Sprache : Java, C ++
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Web -Suchmaschine wie Google oder Bing. Kopieren Sie jedoch nicht von ihnen
Vorgeschlagene Sprache : Websprachen. Die eigentliche Arbeit wird auf der Backend -Seite mit Sprachen wie Python, PHP, SQL, Knoten ... Verwenden Sie alles, was Sie wollen, für das Frontend: HTML, CSS, JavaScript ...
Vorgeschlagene Frameworks/Tools : Django Wenn Sie Python, MySQL für die Datenbanken verwenden, wenn Sie einen benötigen
Beispiel Implementierung : Searx ist eine Open-Source-Suchmaschine, die hauptsächlich in Python und JavaScript codiert ist
Erstellen Sie ein Tool, um zu verfolgen, wie viele Daten Sie heruntergeladen oder in das Internet hochgeladen haben. Senden Sie es Ihnen eine E -Mail an wöchentliche Berichte über Ihre Verwendung (oder benachrichtigen Sie Sie, wenn Sie über ein bestimmtes Nutzungslimit stehen). Als Bonus -Herausforderung sagen die Spitzennutzungszeiten vor.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie die ideale Produkt -Landingpage nach Ihnen. Wählen Sie ein Produkt aus, erstellen Sie eine Seite und präsentieren Sie diese in Ihrem Portfolio.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Ein Blog ist ein Muss für alle (meiner Meinung nach). Kombinieren Sie diese Tatsache mit der Tatsache, dass Sie viele Dinge lernen, während Sie Ihren eigenen Blog von Grund auf neu erstellen, und voila!
Vorgeschlagene Sprache : JavaScript, Python, Ruby
Vorgeschlagene Frameworks/Tools : Jekyll (für Ruby), Django/Flask (Python)
Beispielimplementierung :
Wenn Sie jemals daran interessiert sind, die Dinge zu präsentieren, die Sie aufgebaut haben, erstellen Sie eine Portfolio -Website! Erstellen einer Website, um alle Dinge anzuzeigen, die Ihnen im Allgemeinen viel über das Website -Design beibringen (wenn Sie noch nie zuvor eine Website erstellt haben).
Vorgeschlagene Sprache : JavaScript, HTML, CSS
Vorgeschlagene Frameworks/Tools : Gatsbyjs
Beispielimplementierung :
Obwohl es wie eine kleine Aufgabe erscheinen mag, lehrt Sie viel über die Webentwicklung. Erforschen Sie alle Ideen, mit denen Sie spielen können, und sehen Sie, ob Sie etwas wirklich Faszinierendes aufbauen können!
Vorgeschlagene Sprache : JavaScript, CSS
Vorgeschlagene Frameworks/Tools : -
Beispielimplementierung :
Können Sie das Land aus einer bereitgestellten IP -Adresse finden? Schreiben Sie ein Skript, das Ihnen dabei helfen kann. Versuchen Sie, einen lokalen Standort aus der IP -Adresse zu finden, um Bonuspunkte zu finden.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie einen Chatbot, mit dem Sie sich bei gelangweiltem Chatbot sprechen können. Für Bonuspunkte verwenden Sie maschinelles Lernen/KI, um es intelligent zu machen. Ich empfehle Ihnen, es als einfache CLI -Anwendung zu implementieren.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Beschreibung
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie einen Bot, der entweder wird
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie einen Bot für Messenger, der auch einige einfache Aufgaben erledigen kann, wie eine Münze umdrehen, einen Würfel rollen, die Nachrichten präsentieren und mit Ihnen unterhalten.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie einen Bot für WhatsApp, der Informationen aus dem Internet wie Nachrichten, Wikipedia -Einträge und andere Dinge kratzen kann. Machen Sie es in der Lage, einige Ereignisse wie den Geburtstag Ihres/anderen anderen im Auge zu behalten, und senden Sie eine automatische Nachricht, die Ihnen/der anderen Person wünscht.
Vorgeschlagene Sprache : Vorgeschlagene Frameworks/Tools : Beispiel Implementierung :
Der Benutzer wählt eine Kategorie aus und erhält eine zufällige Reihe von Fragen aus der angegebenen Kategorie. Implementieren Sie eine Multiple -Choice -Quiz -App, um mehr Komplikationen zu vermeiden.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Firewall -Software, mit der die Netzwerkverbindungen für den Benutzer regulieren und auch über verdächtige Aktionen von jeder Website/internen Software/externen Agenten blockieren/benachrichtigt werden können.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App für eine App, die die verschiedenen Phasen eines bestimmten Werks verfolgen kann (Todo, laufend, abgeschlossen). Für Bonuspunkte funktionieren Sie es mit wiederkehrenden Aufgaben und integrieren Sie die Aufgabenplanung (wann/eine Frist für Aufgaben).
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie einen einfachen Texteditor, der Ihnen helfen kann, Textdateien zu öffnen, aus zu lesen und sie zu schreiben. Für Bonuspunkte enthalten Funktionen wie die Suche und die Regex -Suche und das Ersetzen von Regex.
Vorgeschlagene Sprache : JavaScript, Java
Vorgeschlagene Frameworks/Tools : Elektronen (JavaScript -Framework)
Beispielimplementierung : Atom Editor, Notepad ++
Dies ist wahrscheinlich die schwierigste auf der Liste und auch die vage. Entwerfen Sie ein System, das die Texteingabe annimmt und Anwendungen (oder zumindest Anwendungsschnittstellen) basierend auf der Textbeschreibung generiert. Sie können auch eine Drag-and-Drop-Funktion verwenden, damit Benutzer die App erstellen können.
Vorgeschlagene Sprache : -
Vorgeschlagene Frameworks/Tools : -
Beispiel Implementierung : Appgyver ist ein gutes Beispiel für keinen Code -App -Builder
Erstellen Sie eine App, mit der der Benutzer alles zeichnen und als Bild speichern kann. Fügen Sie für zusätzliche Punkte Färben und andere coole Dinge wie Animationen hinzu.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App/Web -App, mit der jeder Umfragenfragen erstellen und per E -Mail über E -Mails zirkulieren kann, um Antworten aufzuzeichnen, und analysieren Sie dann die gesammelten Daten.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die Ihnen hilft, jede HTML -Seite zu durchsuchen. Fügen Sie für Bonuspunkte zusätzliche Funktionen wie Chrome und Firefox hinzu.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, die das Wetter in der aktuellen Zeit an Ihrem Standort erhält. Sie können entweder einen Web -Schaber im Hintergrund verwenden, um die Daten zu sammeln oder eine Wetter -API zu verwenden.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, die die Gleichungen, die ein Benutzer eingibt, ordnungsgemäß formatiert. Ich persönlich finde es wirklich unpraktisch, mit einer speziellen Software zu arbeiten, um nur Gleichungen wie Latex zu schreiben und anzuzeigen. Wenn Sie also etwas erstellen, das einfachen englischen Text in ordnungsgemäß formatierte Gleichungen umwandeln kann, ping mich!
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Musik -Player -App, die Musik aus MP3 -Dateien abspielt und auch Funktionen für weiterleiten, zurückspulen, pausieren und abspielen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Stopwatch -App/Web -App. Es sollte auch in der Lage sein, Zeit zu verfolgen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Web -App, die jede URL verkürzen kann, die der Benutzer bereitstellt. Sie können entweder einen Algorithmus codieren, der den Benutzer verkürzt und speichert, und die URL bereitstellt oder eine API verwenden.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Zahlungsschnittstelle, die mit gefälschtem Bargeld umgehen kann (besser, wenn Sie mit echter Währung umgehen können, obwohl ich nicht weiß, ob Sie zusätzliche Schritte dafür unternehmen müssen). Benutzer sollten in der Lage sein, Geld zu empfangen und zu senden und auch ihren aktuellen Saldo zu überprüfen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App/Web -App, die den Text über ein Bild überlagert, damit Benutzer Meme erstellen können.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie einen Pomodoro -Timer, der Ihnen hilft, bei ordnungsgemäßen Zeiten Pausen einzulegen, während Sie eine Aufgabe erledigen. Für Bonuspunkte enthalten verschiedene Pomodoro -Timerformate.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, mit der Sie das Schreiben üben können. Erstellen Sie zufällige Sätze und sehen Sie, wie schnell Sie die Sätze eingeben können. Tippen ist etwas, das viele Entwickler völlig ignorieren, aber es ist eine der wichtigsten Fähigkeiten, die jemand mit Computern haben sollte.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die einfache grammatikalische Fehler in jedem von Ihnen geschriebenen Text überprüft und überprüft. Für zusätzliche Punkte/Komplexität versuchen Sie, die Stimmung (glücklicher Text, formaler Buchstaben usw.) des Textes zu erraten und angemessene Änderungen vorzuschlagen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, die Ihnen tägliche Nachrichten aus glaubwürdigen Quellen präsentiert. Stellen Sie sicher, dass Sie einzigartige Informationen über eine bestimmte Nachrichtenüberschrift von verschiedenen Websites bündeln, um jegliche Verzerrungen zu entfernen, die möglicherweise in einer bestimmten Quelle vorhanden sein können.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, die die Menge an Kalorien verfolgt, die Sie jeden Tag essen. Versuchen Sie auch, Informationen zu anderen Makro- und Mikro -Nährstoffen einzubeziehen, um ein vollständigeres Bild zu bieten.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App (Telefon -App wird besser sein), die feststellt, wie überlastet eine Route ist, und schlägt Ihnen dann eine bessere Route vor, die Sie an Ihr Ziel bringen können.
Vorgeschlagene Sprache : Java, Kotlin, Swift
Vorgeschlagene Frameworks/Tools : Android Studio
Beispielimplementierung :
Erstellen Sie einen virtuellen Assistenten, der Ihnen hilft, Aufgaben wie das Anruf von Personen, die Planung von Aufgaben, das Erstellen von Todo -Listen, das Nehmen von Notizen, ... Sie erhalten den Punkt.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Antivirus -Software, die Sie vor Viren und anderen Computerwürmern und Dingen schützt. Stellen Sie sicher, dass Sie es häufig aktualisieren, um mit den neueren Viren umzugehen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, mit der Sie Video überall über das Internet auf Video aufrufen können.
Vorgeschlagene Sprache : Python, Java, C ++ für eine Desktop -App
Vorgeschlagene Frameworks/Tools :
Beispiel Implementierung : Nextcloud Talk und Jitsi sind Open-Source-Videoanrufsoftware
Erstellen Sie eine App für eine hypothetische (oder bessere, echte) Bibliothek, die im Management hilft. Sie müssen Bücher, die Sie haben, im Auge behalten, Bücher zu bestellen, Personen mit Zugriff auf die Bibliothek, Bücher ausgeliehen, zurückgegeben und andere verwandte Aufgaben.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie Ihr eigenes Datenbankverwaltungssystem wie MySQL oder PostgreSQL. Es muss nicht mit ihnen kompatibel sein, aber es muss den Benutzern helfen, ihre Daten effizient zu verwalten und relationale Tabellen zu erstellen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die Bilder (oder besser Live -Cam -Feed) analysiert und Gesichter in den Bildern als Gesicht oder mit einer Schachtel markieren.
Vorgeschlagene Sprache : Python (oder eine andere Sprache, die Sie lernen möchten)
Vorgeschlagene Frameworks/Tools : openCV
Beispielimplementierung :
Erstellen Sie einen Spam -Klassifizierer, der Anzeigen und andere unerwünschte E -Mails von Personen filtert, die Sie sich nicht wirklich ansehen möchten.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Browser -Erweiterung, die Filmspoiler auf Websites blockiert. Ich habe es in KI gesteckt, da Sie sich einen sich ändernden Algorithmus vorstellen müssen, der klug genug sein sollte, um Spoiler aus einem Textstück zu identifizieren.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Gelangweilt von den gleichen Songs, aber nicht wissen, was ich als nächstes versuchen soll? Erstellen Sie eine KI, um Ihnen Musik zu schlägt, die auf Ihrem Geschmack basiert, den Sie eher mögen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine App, um Text von einer Sprache in eine andere zu übersetzen. Für Bonuspunkte enthalten ein Bildübersetzer, der Text aus dem Bild abrufen und übersetzen kann.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die Gesten aus einem Kamera -Video erkennen und dann bestimmte Aufgaben basierend auf der Geste ausführen kann.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Geben Sie ein Video ein und holen Sie sich einen Untertitel! Erstellen Sie eine Software, die automatisch Untertitel aus einem bereitgestellten Video erstellt. Am Anfang mag es schwierig erscheinen, aber suchen Sie nach der Verarbeitung der natürlichen Sprache, um zu sehen, wie weit Maschinen im Hinblick auf das Verständnis der menschlichen Sprache sind.
Vorgeschlagene Sprache : Python (da es mit verfügbaren Bibliotheken wirklich einfach zu implementieren wäre)
Vorgeschlagene Frameworks/Tools : Autosub
Beispiel Implementierung : Sie können die Dokumentation hier verweisen oder die hier angegebenen Schritte überprüfen.
Erstellen Sie eine Software, die einen Firmennamen und einige verwandte Schlüsselwörter aufnimmt, um ein brandneues Logo für den Benutzer zu generieren. Machen Sie das Logo bearbeitbar, damit der Benutzer Änderungen vornehmen kann, wenn er die generierte Ausgabe nicht mag.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie ein Empfehlungssystem, mit dem Sie oder Benutzer den nächsten Film auswählen können, den Sie sehen möchten. Versuchen Sie, Ihren eigenen Algorithmus zu entwickeln und ihn zu testen, anstatt einen vorhandenen Filmempfehlungssender mit einem gut untersuchten Algorithmus zu kopieren.
Vorgeschlagene Sprache : Python (oder eine andere Sprache, mit der Sie sich wohl fühlen)
Vorgeschlagene Frameworks/Tools : -
Beispiel Implementierung : Es gibt viele, Netflix -Empfehlungssystem, Filmobjektiv usw.
Ähnlich wie der Videoübersetzer, aber jetzt müssen Sie ein Audio in die Gebärdensprache übersetzen. Der Gebärdensprache kann in Form einer Reihe von Bildern oder einem Video sein.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Dieses Projekt wird technisch herausfordernd sein und Ihr Verständnis dafür vertiefen, wie Computer und Betriebssysteme funktionieren. Das Aufbau eines Betriebssystems von Grund auf ist eine wirklich entmutigende Aufgabe, aber Sie werden sicherlich einen Weg finden, dies zu tun.
Vorgeschlagene Sprache : Sprachen auf niedriger Ebene wie C/C ++.
Vorgeschlagene Frameworks/Tools : -
Beispielimplementierung : LFS ist ein Projekt, das jeden Schritt zum Erstellen eines Linux -Betriebssystems erläutert
Erstellen Sie eine Web -App, um die verschiedenen Mischungsalgorithmen zu visualisieren, mit denen ein Standard -Kartenspiel mischt werden kann.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Webseite/ein Video, auf dem die verschiedenen Sortieralgorithmen visualisieren. Sie können verschiedene Arten von Visualisierungen verwenden: Punkte, Balken, Farbstangen, zirkulell verstreute Punkte usw.
Vorgeschlagene Sprache : Verarbeitung, JavaScript
Vorgeschlagene Frameworks/Tools : P5.js (JavaScript)
Beispielimplementierung :
Erstellen Sie eine Software, die Ihren Code durchläuft (ohne ihn auszuführen) und nach Inkonsistenzen oder Fehlern (Syntaxfehler, Eindrückung usw.), die während der Ausführung Probleme verursachen können.
Vorgeschlagene Sprache : Jede Sprache, die Sie mit vorgeschlagenen Frameworks/Tools wohl fühlen:
Beispielimplementierung :
Wenn Sie das Betriebssystem erstellen, benötigen Sie sicherlich ein Befehlszeilenterminal. Versuchen Sie, die Bash -Shell oder Windows PowerShell als unabhängiges Projekt zu klonen, um es einfacher zu machen, während Sie Ihr eigenes Betriebssystem erstellen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Schreiben Sie ein Skript, das Ihren OOPS-Code durchläuft und ein gut formatiertes UML-Diagramm für Ihren Code erstellt.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Machen Sie einen Visualizer für die verschiedenen Pfadfindungsalgorithmen. Fügen Sie dies zu einem Labyrinthhersteller hinzu und Sie haben ein Programm, mit dem Labyrinthe erzeugt und lösen können.
Vorgeschlagene Sprache : Verarbeitung, JavaScript
Vorgeschlagene Frameworks/Tools : P5.js (JavaScript)
Beispielimplementierung :
Erstellen Sie ein richtiges Versionskontrollsystem wie Git, mit dem Sie alle Änderungen, die Sie an Ihrem Projekt vornehmen, im Auge behalten können.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Codieren Sie eine Programmiersprache von Grund auf neu. Dieses Projekt gibt Ihnen großartige Einblicke in die Frage, warum Sprachen so strukturiert sind, wie sie sind und welche Sprachen, die besser auf Aufgaben sind. Es gibt einige Programmiersprachen und beinhalten daher einige wirklich seltsame (oder hilfreiche) Funktionen, um Ihre Sprache hervorzuheben (z. B. Brainfuck).
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die Text für Sie verschlüsselt und entschlüsselt. Integrieren Sie einige Algorithmen, um dem Benutzer Flexibilität zu bieten.
Vorgeschlagene Sprache : C, C ++, Java, Python
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, mit der die verschiedenen Kennwörter verwaltet werden können, die Sie auf verschiedenen Websites verwenden. Für Bonuspunkte enthalten einen zufälligen Passwortgenerator.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Software, die einen ausgewählten Ordner verschlüsseln und sperren kann. Der Inhalt des Ordners sollte nicht ohne das richtige Passwort zugegriffen/kopiert/verschoben werden.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Website/App, die überprüft, wie stark ein bestimmtes Passwort ist. Um es schicker zu machen, integrieren Sie eine gute Metrik, wie stark ein Passwort ist (siehe Beispiel).
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispiel Implementierung : Wie sicher ist mein Passwort?
Codieren Sie das Pong -Spiel. Machen Sie es Multiplayer und visuell ansprechend.
Vorgeschlagene Sprache : Python (oder eine andere Sprache der Wahl)
Vorgeschlagene Frameworks/Tools : Pygame (Python)
Beispielimplementierung :
Fügen Sie dem oben erstellten Pong -Programm hinzu. Erstellen Sie einen KI -Gegner, gegen den Sie in einem einzelnen Spielermodus spielen können.
Vorgeschlagene Sprache : Python (oder eine andere Sprache der Wahl)
Vorgeschlagene Frameworks/Tools : Tensorflow, Pytorch, Openai/Fitnessstudio
Beispielimplementierung :
Versuchen Sie, das klassische Brettspiel des Risikos zu kodieren. Stellen Sie sicher, dass Sie alle Regeln kennen und das Spiel richtig verstehen, bevor Sie es codieren.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Codieren Sie das Schachspiel von Grund auf. Erstellen Sie ein Brett, die Teile (Sie können Bilder für diesen Teil verwenden). Code in den Regeln und stellen Sie sicher, dass Sie keine ungültigen Züge zulassen.
Vorgeschlagene Sprache : JavaScript, Python, jede andere Sprache, die Sie beherrschen möchten
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung : chessboard.js
Dies ist eines der einfachsten Elemente auf der Liste. Um eine zusätzliche Herausforderung zu erhalten, generieren Sie für eine zusätzliche Herausforderung verschiedene Karten zum Spielen.
Vorgeschlagene Sprache : Jede Sprache, mit der Sie sich wohl fühlen
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Codieren Sie das Tetrisspiel von den Tetrominos bis zur Spielschnittstelle. Eine Web -App ist besser, da Sie von überall aus spielen können. Für eine zusätzliche Herausforderung versuchen Sie, eine einfache HTML- und JavaScript -Version zu implementieren, ohne dass zusätzliche Frameworks oder Bibliotheken helfen.
Vorgeschlagene Sprache : JavaScript, HTML
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Nachdem Sie das Schachspiel höchstwahrscheinlich gebaut haben, bauen Sie eine KI auf, gegen die Sie spielen können. Inspiration untersuchen Sie die angegebenen Beispiele. Die Herausforderung hier besteht darin, eine KI zu machen, die schnell genug ist, um gegen sie zu spielen. Die meisten einfachen AIs für Schach sind einfach sehr langsam (dauern Sie ungefähr eine Minute oder mehr für einen Zug). Machen Sie Ihre Schachmotorschnittstelle mit anderen Programmen über die Universal -Chess -Schnittstelle. Dann können Sie es online gegen andere Bots/Spieler testen.
Vorgeschlagene Sprache : Python, JavaScript
Vorgeschlagene Frameworks/Tools : Chessboard.js (JavaScript) Beispiel Implementierung : Stockfish AI, Leela Chess Zero
Bauen Sie eine einfache Schlange KI, die Schlange spielt. Generieren Sie für eine zusätzliche Herausforderung zufällige Karten und trainieren Sie dann Ihre KI, um in einer zufälligen Karte zu spielen, die Sie generieren.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie ein einfaches Programm, das durch prozedurale Erzeugung mit einem vom Benutzer gelieferten Saatgut zufällige Geländekarten erzeugt.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie das klassische Schlachtschiff auf. Sie können eine CLI -App oder eine viel bessere App mit Grafiken mit jedem 2D -Grafikmodul erstellen.
Vorgeschlagene Sprache : Python (oder jede Sprache, die Sie lernen möchten)
Vorgeschlagene Frameworks/Tools : Pygame (Python)
Beispielimplementierung :
Dies ist eines der einfachsten schwierigen Spiele, die Sie aufbauen können. Sie können Bilder für Rohre und den Vogel verwenden oder Ihren eigenen benutzerdefinierten Vogel und Ihre eigenen Rohre für das Projekt erzeugen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine CLI-App für Tic-Tac-Toe oder eine grafische Schnittstelle. Eine der interessanten Ideen besteht darin, den Benutzer XS und Betriebssystem zeichnen zu lassen und die Maschine dann automatisch zu ermitteln, wenn Sie ein X oder ein O gezeichnet haben.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Implementieren Sie ein klassisches Speicherpuzzle, bei dem der Benutzer auf zwei ähnliche Karten klicken muss, um sie zu beseitigen. Mischen Sie die Karten am Anfang zufällig und geben Sie dem Benutzer eine feste Anzahl von Chancen oder eine feste Zeit, um die Platine zu löschen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Videospiele arbeiten auf Physik -Engines. Bauen Sie Ihre eigenen. Sie können diese Motor später verwenden, um Spiele zu bauen oder Simulationen durchzuführen. Versuchen Sie, eine 2D- oder 3D -Physik -Engine zu bauen, die Kollision, Bewegung, Beschleunigung, Schwerkraft und andere Kräfte im System bewältigen kann. Möglicherweise müssen Sie zuerst ein bisschen Physik verstehen, um etwas aufzubauen. Nehmen Sie sich also Zeit für diesen.
Vorgeschlagene Sprache : Verarbeitung (jede andere Sprache, die Sie sich auch mit Werken wohl fühlen)
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Entwerfen Sie eine KI für das Flappy Bird -Spiel. Probieren Sie ein paar Lernalgorithmen aus, um Ihr Netzwerk zu trainieren - q -Learning, ordentlich usw. Erstellen Sie die perfekte KI, die Flappy Bird besser spielt als Sie (oder irgendjemand anderes) jemals.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie in Tic-Tac-Toe eine KI, die unschlagbar ist (entweder gewinnt immer oder zumindest zumindest). Anstatt sich nur zu bemühen, was zu spielen ist, bauen Sie eine KI, die lernt, wie man spielt, und entwickelt dann Strategien, um zu gewinnen.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie eine Simulation für einen Aufzug. Dies mag wie eine zufällige Simulation erscheinen, aber Sie müssen viel nachdenken, bevor Sie etwas in diesem Bereich implementieren, zu welchem Boden Sie gehen müssen, wenn zwei Tasten gedrückt werden? Gibt es eine Änderung, wenn Sie eine Präferenz für das Steigen oder Herunterfahren hinzufügen? und so weiter.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Bauen Sie eine Simulation der ganzen Welt auf. Versuchen Sie, so detailliert wie möglich zu sein. Halten Sie es einfach, wenn Sie sich festgefahren fühlen und sich langsam verbessern. Behandle es als ein selbsttragendes Spiel, wenn es die Dinge einfacher macht. Fügen Sie für Bonuspunkte eine KI zum System hinzu, um es selbst funktionieren zu lassen.
Vorgeschlagene Sprache : C ++ (oder C - Sie benötigen eine schnelle Sprache für die Simulation)
Vorgeschlagene Frameworks/Tools : Einheit (gut für Visualisierungen)
Beispiel Implementierung : Die Bibiten, Simulation des Ökosystems von Sebastian Lague
Erstellen Sie ein Tool, mit dem zufällige Zeichen für Spiele generiert werden, die Sie wie Pathfinder oder Göttlichkeit spielen: Original -Sünde. Implementieren Sie zuerst einen zufälligen Charaktergenerator und optimieren Sie ihn dann, um Zeichen zu erstellen, die Ihnen gefallen werden (fügen Sie eine KI hinzu).
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Conways Lebensspiel simuliert das Leben einfacher Zellen, die algorithmischen Gesetzen gehorchen. Sie können die algorithmischen Regeln von der Wikipedia -Seite lesen und sie implementieren. Machen Sie das Programm in der Lage, grafisch zu rendern, um das Endprodukt anzuzeigen.
Vorgeschlagene Sprache : Verarbeitung, JavaScript
Vorgeschlagene Frameworks/Tools : P5.js (JavaScript)
Beispielimplementierung :
Erstellen Sie eine einfache Web -App, um Sie zu benachrichtigen, wenn ein Artikel, den Sie begehren, zu einem guten Preis verkauft werden. Sie können einen Web -Schaber verwenden, um die Produktseite des Artikels zu ziehen und Sie über Preisänderungen zu informieren.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine einfache Schnittstelle (Web -App/Telefon -App), mit der Sie Ihre Kosten hinzufügen und kategorisieren können. Erstellen Sie monatliche Berichte, die auf den Eingaben basieren, und schreiben Sie benutzerdefinierte Warnungen für Dinge wie "zu viel für Kaffee ... wie immer".
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Die App (oder Dienst) sollte neue Rezepte/Kratzerrezepte aus dem Web generieren. Wenn Sie also nach seinem Rezept kochen, bewerten Sie es, um ihm zu sagen, wie gut das Rezept war.
Vorgeschlagene Sprache :
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie eine Browsererweiterung, die einen beliebigen Satz in eine Kombination von Emojis übersetzt. Sie können mit der Erweiterung automatisch Texte ändern, die ein Benutzer per Messaging oder E -Mail sendet, oder sie sogar zum Schreiben von Blog -Beiträgen zu unterstützen.
Vorgeschlagene Sprache : JavaScript
Vorgeschlagene Frameworks/Tools :
Beispielimplementierung :
Erstellen Sie ein Suchwerkzeug, das regelmäßige Ausdrücke implementiert. Damit können Sie problemlos nach Text suchen, die ein Muster in Websites oder Dokumenten entsprechen, die Sie möglicherweise schreiben oder durchsuchen.
Vorgeschlagene Sprache : JavaScript
Suggested Frameworks/Tools :
Example Implementation :
Code a script that scrapes the currency conversion rate and then converts from a given currency to another suing the current market rate.
Suggested Language : Python, JavaScript
Suggested Frameworks/Tools :
Example Implementation :
Code a script that takes in a picture and then creates the Pixel Art from the image. You can achieve this by downsizing the image. You should also be able to generate random art using this script.
Suggested Language :
Suggested Frameworks/Tools :
Example Implementation :
Generate a tree like structure using the directories present in a given path by the user. This allows you to see the positioning of files and directories. We are visual animals and thus, visual depictions of directories are more understandable.
Suggested Language :
Suggested Frameworks/Tools :
Example Implementation :
Write a script to generate random usernames that you can use in games or various other places.
Suggested Language : Python or any other language
Suggested Frameworks/Tools : Random (Python Library)
Example Implementation :
Write a script that converts decimal numbers to roman numerals and vice versa. This may seem like an easy task but I assure you its not that easy. Give it a try.
Suggested Language : Python or any other language
Suggested Frameworks/Tools :
Example Implementation :
Project Euler contains mathematical challenges that require programming tools to be solved. There are over 700 problems that you can solve, I urge you to document each solution in a properly organized way (probably build a repo for the solutions) so that you can showcase them online.
Suggested Language : Any language you want to practice
Advent of Code challenges occur every year in the days leading up to Christmas. They include lots of fun programming challenges that can help you develop your chops in a programming language that you want to master.
Suggested Language : Any language you want to master
Kaggle offers fascinating challenges to introduce you to the basics of machine learning with Python or R: Use a real dataset from the Titanic passenger log to predict which passengers were most likely to survive the disaster.
Suggested Language : Python or R