Was Sie erreichen werden: In diesem projektorientierten Kurs* werden Sie ein modernes Computersystem von Grund auf aufbauen. Wir unterteilen diese faszinierende Reise in sechs praktische Projekte, die Sie von der Konstruktion elementarer Logikgatter bis hin zur Erstellung eines voll funktionsfähigen Allzweckcomputers führen werden. Dabei lernen Sie auf sehr direkte und konstruktive Weise, wie Computer funktionieren und wie sie konstruiert werden. Was Sie brauchen: Dies ist ein in sich geschlossener Kurs: Alle Kenntnisse, die Sie benötigen, um den Kurs erfolgreich zu absolvieren und das Computersystem zu bauen, werden Ihnen im Rahmen des Kurses vermittelt. Daher setzen wir keine Vorkenntnisse in Informatik oder Technik voraus, und alle Lernenden sind an Bord willkommen. Sie benötigen keine physischen Materialien, da Sie den Computer auf Ihrem eigenen PC mit Hilfe eines softwarebasierten Hardwaresimulators bauen werden, so wie echte Computer von Computeringenieuren in der Praxis entworfen werden. Der Hardware-Simulator sowie andere Software-Tools werden Ihnen nach Ihrer Anmeldung zum Kurs kostenlos zur Verfügung gestellt. Kursformat: Der Kurs besteht aus sechs Modulen, die jeweils eine Reihe von Videovorlesungen und ein Projekt umfassen. Sie benötigen etwa 2-3 Stunden, um sich die Vorlesungen jedes Moduls anzusehen, und etwa 5-10 Stunden, um jedes der sechs Projekte abzuschließen. Der Kurs kann in sechs Wochen abgeschlossen werden, aber Sie können ihn auch in Ihrem eigenen Tempo absolvieren. Sie können sich einen TED-Talk über diesen Kurs ansehen, indem Sie nach "nand2tetris TED talk" googeln. *Über projektzentrierte Kurse: Projektorientierte Kurse sollen Ihnen helfen, ein für Sie persönlich bedeutsames, reales Projekt abzuschließen, wobei Ihr Lehrer und eine Gemeinschaft von Lernenden mit ähnlichen Zielen Sie auf dem Weg dorthin begleiten und Ihnen Anregungen geben. Indem Sie neue Konzepte während des Lernens aktiv anwenden, eignen Sie sich den Kursinhalt effizienter an. Außerdem erhalten Sie einen Vorsprung, wenn es darum geht, die erworbenen Fähigkeiten zu nutzen, um positive Veränderungen in Ihrem Leben und Ihrer Karriere vorzunehmen. Wenn Sie den Kurs abschließen, haben Sie ein fertiges Projekt, das Sie mit Stolz verwenden und weitergeben können.
Bauen Sie einen modernen Computer von Grund auf: Von Nand bis Tetris (Projektorientierter Kurs)
Dozenten: Shimon Schocken
TOP-LEHRKRAFT
213.822 bereits angemeldet
Bei enthalten
(3,618 Bewertungen)
Kompetenzen, die Sie erwerben
- Kategorie: Logisches Tor
- Kategorie: Computer Architektur
- Kategorie: Assembler Sprachen
- Kategorie: Hardware-Beschreibungssprache (HDL)
Wichtige Details
Zu Ihrem LinkedIn-Profil hinzufügen
Erfahren Sie, wie Mitarbeiter führender Unternehmen gefragte Kompetenzen erwerben.
Erwerben Sie ein Karrierezertifikat.
Fügen Sie diese Qualifikation zur Ihrem LinkedIn-Profil oder Ihrem Lebenslauf hinzu.
Teilen Sie es in den sozialen Medien und in Ihrer Leistungsbeurteilung.
In diesem Kurs gibt es 8 Module
Kurseinführung und Überblick, die Rolle von Abstraktion und Implementierung im Systemdesign, der weitere Weg.
Das ist alles enthalten
4 Videos1 Lektüre1 Programmieraufgabe
Wir beginnen mit einer kurzen Einführung in die Boolesche Algebra und lernen, wie Boolesche Funktionen mit Hilfe von Logikgattern physikalisch implementiert werden können. Anschließend lernen wir, wie man Gatter und Chips mit Hilfe einer Hardwarebeschreibungssprache (HDL) spezifiziert und wie man das Verhalten der resultierenden Chipspezifikationen mit einem Hardwaresimulator simuliert. Dieser Hintergrund wird die Grundlage für Projekt 1 bilden, in dem Sie 15 elementare Logikgatter bauen, simulieren und testen werden. Der Chipsatz, den Sie in diesem Modul bauen, wird später dazu verwendet, die Arithmetische Logikeinheit (ALU) und das Speichersystem des Computers zu konstruieren. Dies wird in den Modulen 2 bzw. 3 geschehen.
Das ist alles enthalten
8 Videos1 Lektüre1 Programmieraufgabe
Allgemeine Kursinformationen
Das ist alles enthalten
1 Video3 Lektüren
Mit dem Chipsatz, den wir im vorherigen Modul gebaut haben, werden wir nun eine Familie von Addierern bauen - Chips, die Zahlen addieren können. Dann werden wir einen großen Schritt nach vorne machen und eine Arithmetic Logic Unit bauen. Die ALU, die für eine ganze Reihe von arithmetischen und logischen Operationen ausgelegt ist, ist das rechnende Gehirn des Computers. Im weiteren Verlauf des Kurses werden wir diese ALU als Kernstück des Chips verwenden, aus dem wir die Central Processing Unit (CPU) des Computers bauen werden. Da alle diese Chips mit binären Zahlen (0 und 1) arbeiten, werden wir dieses Modul mit einem allgemeinen Überblick über die binäre Arithmetik beginnen und uns erst dann mit dem Aufbau der ALU beschäftigen.
Das ist alles enthalten
6 Videos1 Lektüre1 Programmieraufgabe
Nachdem wir die ALU des Computers gebaut haben, wenden wir uns in diesem Modul dem Aufbau des Hauptspeichers zu, der auch als Random Access Memory (RAM) bezeichnet wird. Dies geschieht schrittweise von unten nach oben, von elementaren Flip-Flop-Gattern über Ein-Bit-Register und n-Bit-Register bis hin zu einer Familie von RAM-Chips. Im Gegensatz zu den Verarbeitungschips des Computers, die auf kombinatorischer Logik beruhen, erfordert die Speicherlogik des Computers eine taktbasierte sequentielle Logik. Wir beginnen mit einem Überblick über diesen theoretischen Hintergrund und gehen dann zum Aufbau unseres Speicherchipsets über.
Das ist alles enthalten
6 Videos1 Lektüre1 Programmieraufgabe
Ein wichtiger Aspekt bei der Entwicklung eines neuen Computersystems ist der Entwurf der einfachen Maschinensprache bzw. des Befehlssatzes, mit dem der Computer angewiesen werden kann, verschiedene Dinge zu tun. Wie sich herausstellt, kann dies geschehen, bevor der Computer selbst gebaut wird. Wir können z.B. ein Java-Programm schreiben, das den noch zu bauenden Computer emuliert, und es dann verwenden, um die Ausführung von Programmen zu emulieren, die in der neuen Maschinensprache geschrieben wurden. Solche Experimente können uns einen guten Eindruck vom "Look and Feel" des neuen Computers vermitteln und zu Entscheidungen führen, die sowohl das Hardware- als auch das Sprachdesign verändern und verbessern können. Mit einem ähnlichen Ansatz gehen wir in diesem Modul davon aus, dass der Hack-Computer und die Maschinensprache bereits gebaut wurden, und schreiben einige Low-Level-Programme mit der Hack-Maschinensprache. Anschließend werden wir einen mitgelieferten CPU-Emulator (ein Computerprogramm) verwenden, um unsere Programme zu testen und auszuführen. Auf diese Weise erhalten Sie einen Vorgeschmack auf die Low-Level-Programmierung und einen soliden praktischen Überblick über die Hack-Computerplattform.
Das ist alles enthalten
10 Videos1 Lektüre1 Programmieraufgabe
Lassen Sie uns die letzten vier Module rekapitulieren: Wir haben einige elementare Logikgatter gebaut (Modul 1) und diese dann verwendet, um eine ALU (Modul 2) und ein RAM (Modul 3) zu bauen. Dann haben wir mit Low-Level-Programmierung gespielt (Modul 4), wobei wir davon ausgegangen sind, dass der gesamte Computer tatsächlich verfügbar ist. In diesem Modul fügen wir all diese Bausteine zu einem 16-Bit-Allzweckcomputer namens Hack zusammen. Wir beginnen mit dem Bau der Hack Central Processing Unit (CPU) und integrieren dann die CPU mit dem RAM, um ein vollwertiges Computersystem zu schaffen, das in der Lage ist, in der Hack-Maschinensprache geschriebene Programme auszuführen.
Das ist alles enthalten
6 Videos1 Lektüre1 Programmieraufgabe
Jeder Computer verfügt über eine binäre Maschinensprache, in der Befehle als Reihen von 0en und 1en geschrieben werden, und eine symbolische Maschinensprache, auch Assemblersprache genannt, in der Befehle mit Hilfe von menschenfreundlichen Mnemonics ausgedrückt werden. Beide Sprachen tun genau das Gleiche und sind völlig gleichwertig. Aber das Schreiben von Programmen in Assembler ist viel einfacher und sicherer als das Schreiben in Binärsprache. Um diesen Luxus genießen zu können, muss jemand unsere symbolischen Programme in Binärcode übersetzen, der auf dem Zielcomputer unverändert ausgeführt werden kann. Diese Übersetzungsleistung wird von einem Agenten erbracht, der Assembler genannt wird. Bei dem Assembler kann es sich entweder um eine Person handeln, die die Übersetzung manuell vornimmt, oder um ein Computerprogramm, das diesen Prozess automatisiert. In diesem Modul und dem Abschlussprojekt des Kurses lernen wir, wie man einen Assembler erstellt. Insbesondere werden wir die Fähigkeit entwickeln, symbolische Hack-Programme in Binärcode zu übersetzen, der auf der Hack-Plattform direkt ausgeführt werden kann. Jeder von Ihnen kann dieses Kunststück auf zwei verschiedene Arten vollbringen: Sie können entweder einen Assembler mit Hilfe einer Hochsprache implementieren oder Sie können den Betrieb des Assemblers mit Papier und Bleistift simulieren. In beiden Fällen geben wir Ihnen detaillierte Anleitungen, wie Sie Ihre Arbeit durchführen können.
Das ist alles enthalten
8 Videos1 Lektüre1 Programmieraufgabe
Dozenten
Empfohlen, wenn Sie sich für Algorithmen interessieren
Hebrew University of Jerusalem
University of California San Diego
Warum entscheiden sich Menschen für Coursera für ihre Karriere?
Bewertungen von Lernenden
3.618 Bewertungen
- 5 stars
93,03 %
- 4 stars
5,74 %
- 3 stars
0,55 %
- 2 stars
0,16 %
- 1 star
0,49 %
Zeigt 3 von 3618 an
Geprüft am 6. Mai 2020
The class is straightforward and the right level of detail to make you feel like you really understand the topics. Highly recommend to anyone wanting to understand how computer hardware works!
Geprüft am 28. Mai 2019
Incredible Course. I've never experienced such an learning experience. This course did not just teach me how computers work, more importantly it taught me how to learn and deal with complexity.
Geprüft am 12. Aug. 2022
Coming from a high level programming backgroun with a degree in games programming, this course was amazing to fill in the gaps in my knowledge, and solidify low level computer science fundamentals.
Neue Karrieremöglichkeiten mit Coursera Plus
Unbegrenzter Zugang zu 10,000+ Weltklasse-Kursen, praktischen Projekten und berufsqualifizierenden Zertifikatsprogrammen - alles in Ihrem Abonnement enthalten
Bringen Sie Ihre Karriere mit einem Online-Abschluss voran.
Erwerben Sie einen Abschluss von erstklassigen Universitäten – 100 % online
Schließen Sie sich mehr als 3.400 Unternehmen in aller Welt an, die sich für Coursera for Business entschieden haben.
Schulen Sie Ihre Mitarbeiter*innen, um sich in der digitalen Wirtschaft zu behaupten.
Häufig gestellte Fragen
Der Zugang zu Vorlesungen und Aufgaben hängt von der Art Ihrer Einschreibung ab. Wenn Sie einen Kurs im Prüfungsmodus belegen, können Sie die meisten Kursmaterialien kostenlos einsehen. Um auf benotete Aufgaben zuzugreifen und ein Zertifikat zu erwerben, müssen Sie die Zertifikatserfahrung während oder nach Ihrer Prüfung erwerben. Wenn Sie die Prüfungsoption nicht sehen:
Der Kurs bietet möglicherweise keine Prüfungsoption. Sie können stattdessen eine kostenlose Testversion ausprobieren oder finanzielle Unterstützung beantragen.
Der Kurs bietet möglicherweise stattdessen die Option 'Vollständiger Kurs, kein Zertifikat'. Mit dieser Option können Sie alle Kursmaterialien einsehen, die erforderlichen Bewertungen abgeben und eine Abschlussnote erhalten. Dies bedeutet auch, dass Sie kein Zertifikat erwerben können.
Wenn Sie ein Zertifikat erwerben, erhalten Sie Zugang zu allen Kursmaterialien, einschließlich der benoteten Aufgaben. Nach Abschluss des Kurses wird Ihr elektronisches Zertifikat zu Ihrer Erfolgsseite hinzugefügt - von dort aus können Sie Ihr Zertifikat ausdrucken oder zu Ihrem LinkedIn-Profil hinzufügen. Wenn Sie die Kursinhalte nur lesen und ansehen möchten, können Sie den Kurs kostenlos besuchen.
Sie haben Anspruch auf eine vollständige Rückerstattung bis zwei Wochen nach Ihrem Zahlungsdatum oder (bei Kursen, die gerade erst begonnen haben) bis zwei Wochen nach Beginn der ersten Sitzung des Kurses, je nachdem, welcher Zeitpunkt später liegt. Sie können keine Rückerstattung erhalten, sobald Sie ein Kurszertifikat erworben haben, auch wenn Sie den Kurs innerhalb der zweiwöchigen Rückerstattungsfrist abschließen. Siehe unsere vollständigen Rückerstattungsbedingungen.