Informatik – warum unterrichten?
„Programmieren ist nichts, was man kennt. Das ist etwas, das man herausfinden kann.“ Chris Pine, Programmierexperte, Autor von Büchern und Tutorials. „In gewisser Weise ist Programmieren wie Zeichnen. Zunächst haben Sie nur eine leere Leinwand und Materialien. Man muss eine Kombination aus Wissenschaft, Kunst und Handwerk nutzen, um herauszufinden, was man mit all dem anfangen soll.“ Andrew Hunt, Autor des Bestsellers „The Pragmatic Programmer“ und Co-Autor des Agile Manifesto. Es ist nicht schwer zu verstehen, wohin wir gehen. Um ein wirklich guter Programmierer zu werden oder einfach nur mindestens einen Schritt über einen gewöhnlichen Programmierer hinauszuwachsen, muss man neben den Programmiersprachen selbst über möglichst breite und gleichzeitig recht tiefe Kenntnisse in verschiedenen Bereichen verfügen. Und die Beherrschung der im CS-Konzept enthaltenen Disziplinen steht hier an erster Stelle.Informatikdisziplinen
Schauen wir uns an, welche Fächer zum Bereich Informatik gehören. Zu den kurzen Beschreibungen der Disziplinen mit Begründungen für deren Studium fügen wir Empfehlungen für das beste Buch und die beste Reihe kostenloser Videovorträge zu diesem Thema aus dem vielleicht besten englischsprachigen Leitfaden zur Informatik von Oz Nova und Myles hinzu Byrne, Lehrer der School of Computer Science Bradfield in San Francisco.-
Programmierung
Das Programmieren ist die Grundlage und Grunddisziplin der Informatik; die meisten Studierenden beginnen damit das Studium des CS-Studiums. Die besten CS-Programmierkurse sind nicht nur für Anfänger nützlich, sondern auch für erfahrene Programmierer, die beim ersten Erlernen möglicherweise bestimmte Programmierkonzepte und -modelle verpasst haben.
Bestes Buch: „Struktur und Interpretation von Computerprogrammen“. Autoren: Gerald Sussman und Hal Abelson.
А на JavaRush, кстати говоря, всем желающим доступен для изучения легендарный гарвардский курс “CS50. Основы программирования”, völlig переведенный на русский.
Лучшая видеолекция: Brian Harvey’s Berkeley CS 61A
-
Алгоритмы и структуры данных
Знание наиболее распространенных алгоритмов и структур данных помогает решать разного рода задачи, а это очень важно в любой из областей компьютерных наук, включая, конечно, и разработку программного обеспечения.
Лучшая книга: The Algorithm Design Manual. Autor: Стивен Скьена (Steven Skiena).
Лучшая видеолекция: лекции Стивена Скьены
-
Компьютерная архитектура
Знание компьютерной архитектуры, то есть понимание того, Wie на самом деле работает компьютер, является еще одной важной частичкой пазла, без которой попытки построения программных конструкций и моделей часто оказываются неудачными.
Лучшая книга: “Архитектура компьютера и проектирование компьютерных систем” (Computer Organization and Design). Autorы: Дэвид Паттерсон (David Patterson) и Джон Хеннеси (John Hennessy).
Лучшая видеолекция: Berkeley CS 61C
-
Операционные системы
Практически весь Code, написанный программистом, будет выполняться операционной системой, поэтому знание принципов работы ОС также является важным элементом.
Лучшая книга: “Введение в операционные системы” (Operating Systems: Three Easy Pieces). Autorы: Андреа Арпачи-Дюссо (Andrea Arpaci-Dusseau) и Ремзи Арпачи-Дюссо (Remzi Arpaci-Dusseau).
Лучшая видеолекция: Berkeley CS 162
-
Компьютерные сети
Мало что в современном ИТ может обойтись без использования Интернета, поэтому ИТ-специалистам важно понимать, Wie Всемирная сеть работает, чтобы использовать ее потенциал по полной.
Лучшая книга: Computer Networking: A Top-Down Approach. Autorы: Джеймс Куросе (James Kurose), Кит Росс ( Keith Ross).
Лучшая видеолекция: Stanford CS 144
-
Математика для computer science
Поскольку компьютерные науки, по сути, являются ответвлением прикладной математики, знание этого предмета тоже будет очень полезным практически в любой профессии, связанной с программированием. А также даст вам конкурентное преимущество перед теми, кто этой дисциплиной не владеет.
Лучшая книга: Mathematics for Computer Science. Autorы: Альберт Р. Мейер (Albert R. Meyer), Эрик Леман (Eric Lehman) и Фрэнк Томсон Лейтон (Frank Thomson Leighton).
Лучшая видеолекция: Tom Leighton’s MIT 6.042J
-
Базы данных
Базы данных — относительно новая область компьютерных наук, и экспертов в ней по-прежнему не так уж много. Данные — еще один ключевой элемент CS, потому что они лежат в основе большинства значимых программ, но мало кто понимает, Wie на самом деле работают системы баз данных.
Bestes Buch: Readings in Database Systems. Autoren: Joseph M. Hellerstein und Michael Stonebraker.
Beste Videovorlesung: Joe Hellersteins Berkeley CS 186
-
Sprachen und Compiler
Wenn Sie verstehen, wie Programmiersprachen und Compiler technisch funktionieren, können Sie Ihre Code- und Programmierkenntnisse verbessern. Es erleichtert auch das Erlernen neuer Sprachen, was für jeden Entwickler auf lange Sicht ebenfalls von entscheidender Bedeutung ist.
Bestes Buch: Compiler: Prinzipien, Techniken und Werkzeuge. Autoren: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman.
Beste Videovorlesung: Alex Aikens Kurs über Lagunita
-
Verteilte Systeme
Heutzutage sind die meisten Systeme verteilt. Computer und Programme werden immer komplexer und Kenntnisse über verteilte Systeme sind hilfreich, um sicherzustellen, dass Ihre Software korrekt und reibungslos läuft.
Bestes Buch: Distributed Systems, 3. Auflage. Autoren: Maarten van Steen und Andrew S. Tanenbaum.
Beste Videovorlesung: CS 436: Verteilte Computersysteme
Tipps für das Informatikstudium
Und zum Schluss noch ein paar Ratschläge für diejenigen, die planen, mit dem Studium der CS-Disziplinen zu beginnen.-
Entwickeln Sie praktische Fähigkeiten in Informatikdisziplinen
Einer der Vorteile von CS, wie auch von anderen IT-Studiengängen, besteht darin, dass die gerade erworbenen theoretischen Fähigkeiten sofort in der Praxis angewendet werden können. Vergessen Sie dies nicht und wechseln Sie Theorie und Praxis ab, um die besten Ergebnisse zu erzielen.
-
Zögern Sie nicht
Informatik ist ein recht komplexes Fach, dessen Studium vor allem am Anfang für wenige Menschen einfach ist. Wenn Sie mit dem Studium der CS-Disziplinen beginnen, müssen Sie daher ein Aufschieben vermeiden – verschieben Sie die Beherrschung der Theorie, das Lösen von Problemen und die Praxis nicht auf einen späteren Zeitpunkt, da dies das Lernen nicht nur sehr langwierig macht, sondern höchstwahrscheinlich auch nicht so effektiv ist.
-
Beschränken Sie sich nicht auf einen Kurs
Erwarten Sie nicht, dass Sie in einem einzigen Kurs das gesamte Wissen erwerben, das Sie in einem Fach benötigen, egal wie gut er ist. Es ist immer am besten, mindestens mehrere Informationsquellen zu konsultieren, um ein umfassenderes Verständnis des Themas zu erlangen.
-
Finden Sie Gleichgesinnte
Es klingt ein wenig kitschig, aber effektives Lernen gelingt, wie viele andere Dinge im Leben auch, am besten in einer Gruppe Gleichgesinnter. Die Suche nach einer Gruppe zum CS-Lernen kann aus mehreren Gründen von Vorteil sein. So lernen Sie effektiver, lösen Aufgaben und Probleme gemeinsam, vergleichen Ihren Lernfortschritt und Ihre Fähigkeiten bei der Anwendung neuen Wissens mit anderen.
-
Lernen Sie, Wörter zu schreiben, nicht nur Code
Ein weiterer allgemeiner Ratschlag vieler Experten für Programmierer, die CS studieren, um ihre Fähigkeiten zu verbessern und ihr berufliches Niveau zu verbessern: Lernen Sie zu schreiben (nicht zu programmieren), das heißt, Wörter in Sätze zu setzen und Texte aus Sätzen zu verfassen. Diese Fähigkeit ist für jeden Entwickler sehr wichtig, und ihr Fehlen wird den Fortschritt nicht nur im Informatikstudium, sondern auch in anderen Aspekten des Programmierberufs behindern.
GO TO FULL VERSION