CS50, Harvards überzeichneter und einflussreicher Codierungskurs für die elitärsten Köpfe der Welt, ist nicht überraschend unglaublich schwer zu erreichen. Aus diesem Grund können Sie in Harvard kostenlos online oder als kostenpflichtiger Kurs auf die zahlreichen CS50-Ressourcen zugreifen, wenn Sie am Ende ein formelles Zertifikat Ihrer Fähigkeiten erhalten möchten.
Wenn Sie sich fragen, wie Sie online auf CS50-Inhalte zugreifen können, gibt es vier Möglichkeiten:
Nehmen Sie CS50 online: Harvard Extension School
Harvards eigene Fernlernabteilung, die Harvard Extension School, bietet verschiedene CS50-Varianten an. Der semesterlange CSCI E-50-Kurs „Intensive Introduction to Computer Science“ bietet vier Credits für einen Abschluss und kostet 2.400 USD. Der Platz ist auf 200 Studenten begrenzt und die Kurse sind jedoch stark überzeichnet. Habe ein Auge auf extension.harvard.edu wenn die Anmeldung für die Herbst- und Frühlingskurse des nächsten Jahres eröffnet wird.
Nehmen Sie CS50 online: edX
Alternativ wird der Kurs über die angeboten Online-Bildungsseite edX , wo Sie es in Ihrem eigenen Tempo angehen können. Laut der edX-Seite für CS50 erhalten Schüler, die mit neun Problemstellungen (d. H. Programmieraufgaben) und einem Abschlussprojekt eine zufriedenstellende Punktzahl erzielen, ein Zertifikat von HarvardX. Studenten können den Kurs kostenlos belegen, müssen jedoch 90 US-Dollar bezahlen, wenn sie ein vom Ausbilder signiertes Zertifikat mit dem Logo der Institution erhalten möchten, um Ihre Leistung zu überprüfen und Ihre beruflichen Aussichten zu verbessern.
Nehmen Sie CS50 online: iTunes U.
Der Kurs und alle seine Materialien sind - wie viele andere Harvard-Kurse - auch in Apples iTunes U verfügbar. Sie können die App kostenlos im App Store herunterladen (entweder auf iPhone, iPad oder Mac) und im Katalog nach CS50 suchen. Alle Videovorträge, Problemstellungen, Quizfragen und anderen Materialien sind im Paket enthalten, obwohl eine relativ neue Neugestaltung von iTunes U die Navigation dieser Materialmasse erheblich erschwert hat als früher.
Nehmen Sie CS50 online: YouTube
Der letzte Weg besteht darin, einfach alle Vorträge - was an sich schon eine lohnende Beschäftigung ist - auf YouTube anzusehen. Alle Vorlesungen des Kurses Informatik 50 2015 finden Sie auf der Harvard-Kanal . Es müssen mehr als 20 Stunden Filmmaterial bearbeitet werden, obwohl jede einzelne Vorlesung nicht länger als eine Stunde dauert.
WEITERLESEN: Lernen Sie, in Großbritannien kostenlos zu programmieren
So erstellen Sie eine Playlist auf YouTube ohne Account
Könnten Sie CS50 bestehen?
Sie haben Angst, dass Sie nicht die geistige Nerven haben, an Harvards Elitekurs teilzunehmen? Hier sind einige Beispielfragen direkt aus Harvards Kurs. Mach dir keine Sorgen, sie ergeben auch für mich keinen Sinn.
1: Die Vigenère-Chiffre
Ihre letzte Herausforderung in dieser Woche besteht darin, in vigenere.c ein Programm zu schreiben, das Nachrichten mithilfe der Vigenère-Chiffre verschlüsselt. Dieses Programm muss ein einzelnes Befehlszeilenargument akzeptieren: ein Schlüsselwort k, das vollständig aus alphabetischen Zeichen besteht.
Wenn Ihr Programm ohne Befehlszeilenargumente, mit mehr als einem Befehlszeilenargument oder mit einem Befehlszeilenargument ausgeführt wird, das ein nicht alphabetisches Zeichen enthält, sollte sich Ihr Programm beschweren und sofort beenden, wobei main 1 zurückgibt (wodurch Dies bedeutet einen Fehler, den unsere eigenen Tests erkennen können.
Andernfalls muss Ihr Programm fortfahren, um den Benutzer zur Eingabe einer Klartextzeichenfolge aufzufordern.
p, das dann gemäß Vigenères Chiffre mit k verschlüsselt werden muss, um schließlich das Ergebnis zu drucken und zu beenden, wobei main 0 zurückgibt.
Was die Zeichen in k betrifft, müssen Sie A und a als 0, B und b als 1, ... und Z und z als 25 behandeln. Außerdem darf Ihr Programm die Vigenère-Chiffre nur dann auf ein Zeichen in p anwenden, wenn dieses Zeichen ist ein Brief. Alle anderen Zeichen (Zahlen, Symbole, Leerzeichen, Satzzeichen usw.) müssen unverändert ausgegeben werden.
Wenn Ihr Code das j-te Zeichen von k auf das i-te Zeichen von p anwenden soll, sich dieses jedoch als nicht alphabetisches Zeichen herausstellt, müssen Sie warten, bis das j-te Zeichen von k auf das nächste alphabetische Zeichen in p angewendet wird ;; Sie dürfen noch nicht zum nächsten Zeichen in k vorrücken. Schließlich muss Ihr Programm die Groß- und Kleinschreibung jedes Buchstabens in p beibehalten.
2. Das Spiel der Fünfzehn
Das Spiel der Fünfzehn ist ein Puzzle, das auf einem quadratischen Brett mit nummerierten Kacheln gespielt wird, die gleiten. Das Ziel dieses Puzzles ist es, die Kacheln des Bretts vom kleinsten zum größten, von links nach rechts, von oben nach unten, mit einem leeren Feld in der unteren rechten Ecke des Bretts anzuordnen.
Implementiere den Gott-Modus für dieses Spiel.
Implementieren Sie init zunächst so, dass die Karte auf eine pseudozufällige, aber lösbare Konfiguration initialisiert wird. Schließen Sie dann die Implementierung von Zeichnen, Bewegen und Gewinnen ab, damit ein Mensch das Spiel tatsächlich spielen kann.
Siehe verwandte CS50: Im elitärsten Computerkurs der Welt Kostenloses Codieren lernen: Die besten Kurse für Codierung und App-Entwicklung in Großbritannien in der nationalen Codierungswoche Ein Jahr als Kodierungsnomade
Aber bettet einen Cheat in das Spiel ein, wobei der Mensch, anstatt eine ganze Zahl zwischen 1 und d2 - 1 einzugeben, wobei d die Höhe und Breite des Bretts ist, auch GOTT eingeben kann, um 'den Computer' zu zwingen, die Kontrolle über das Spiel zu übernehmen und Lösen Sie es (mit einer beliebigen Strategie, optimal oder nicht optimal) und machen Sie beispielsweise nur vier Bewegungen pro Sekunde, damit der Mensch zuschauen kann.
Vermutlich müssen Sie GetInt gegen etwas Vielseitigeres austauschen. Es ist in Ordnung, wenn Ihre Implementierung des Gott-Modus nur für d ≤ 4 (erträglich schnell) funktioniert. Sie müssen sich keine Gedanken darüber machen, den Gott-Modus auf d> 4 zu testen. Oh, und Sie können den Gott-Modus nicht implementieren, indem Sie sich daran erinnern, wie init das Board initialisiert hat (indem Sie sich an die Abfolge der Bewegungen erinnern, die Ihr Programm in einen pseudozufälligen, aber lösbaren Zustand gebracht haben). Netter Versuch.
Alle Probleme unterliegen dem Copyright der Harvard University. Vollständige Problemstellungen werden veröffentlicht unter: cs50.harvard.edu