Ich habe seit Jahren als Berater programmiert, und ich verehre meine Arbeit, die eine Menge objektorientierte Analyse und Design von Softwaresystemen mit verwalteten Sprachen beinhaltet (dh. Software Engineering). Aber ich würde gerne promovieren, und es stört mich, dass ich die Theorie der Informatik nie richtig verstanden habe. In der Universität habe ich in diesen Kursen nur marginal gut abgeschnitten, weil die Art, wie sie unterrichtet wurden, bei mir nicht funktioniert hat. Ich lerne, indem ich die Anwendung von Konzepten beobachte, nicht das Auswendiglernen.Ich würde gerne zu den Grundlagen von CS zurückkehren. Anregungen für Tutorials oder anwendungsorientiertes Referenzmaterial?
Ein Beispiel dafür, wo ich zuvor eine solche Barriere überwunden habe - ich hatte ein schreckliches erstes Jahr. Der Professor (von dem ich weiß, dass er kaum qualifiziert war und ein inkompetenter Lehrer war) begann mit C++ und lehrte uns prozedurale Programmierung. Technisch hatte ich gelernt, was ein Objekt war, aber erst als ich die Anwendung objektorientierter Analyse und Design (mit Entwurfsmustern und anderen Strukturen wie verknüpften Listen) sah, verstand ich wirklich, wofür sie waren.
Wie würde ich lernen, Themen wie Compiler, Programmierung Sprachtheorie und Analyse von Algorithmen zu lernen? Was wäre ein guter Weg, damit anzufangen? Zum Beispiel würde ich gerne einen Compiler schreiben (zum Spaß), aber ich habe keine Ahnung, wo ich anfangen soll. War jemals jemand in dieser Situation? Irgendwelche Vorschläge für Tutorials, kostenlose Online-Vorlesungsvideos oder Referenz (etwas wie w3schools wäre wunderbar)?
(Ich möchte, dass Surfen hinzufügen Stackoverflow hat mich schon gelehrt Lasten, aber ich möchte es ein bisschen mehr formal sein:)
EDIT: Vielen Dank an Alle für die Anregungen. Ich habe eine Antwort markiert, die für mich persönlich funktioniert, aber halten Sie die Antworten kommen:)
Beste Compiler-Ressource auf SO ist http://StackOverflow.com/Questions/1669/Learning-ToWrite-A-Compiler - ignorieren Sie die Dragon Book Empfehlungen obwohl. –
Das ist eine großartige Ressource, danke. Warum ist das Drachenbuch nicht gut? Nur neugierig. –
Mir gefiel das Drachenbuch, Neil. Warum argumentieren Sie dagegen? –