Lecture 0

Welcome to Foundations of Computing Systems

How does a computer compute?

CS2011 | Laboratory: CS2111

signalsswitcheslogic gatescircuitsCPU + memoryprograms
Weekly schedule

When we meet

Monday11:00 am - noonLecture, Room A01-102
Wednesday9:00-10:00 amLecture, Room A01-102
Thursday8:00-9:00 amLecture, Room A01-102
Thursday2:00-5:00 pmA01-109 Lab
Teaching team

Who will work with you?

Course instructor Sreejith A V

Office: Dr. Abdul Kalam Building, first floor

Course TA TBA

Laboratory team Sreejith and Srimanta

TAs: Nandakumar, Sachin Pal, S. Christie Sajitha

Course promise

We will open the black box

You already know how to write programs. This course asks what must exist beneath a program for it to run.

Softwareprograms and instructions
Machine architectureCPU, memory, and control
Digital circuitsarithmetic, storage, and data movement
Logic gatessimple rules made from switches

We will keep asking the same question at each level: what does this layer need from the layer below?

Learning outcomes

By the end of the course, you should be able to...

01

Explain how logic gates grow into arithmetic, memory, and a stored-program computer.

02

Design, implement, simulate, and test hardware components using HDL.

03

Reason about machine instructions, data paths, control, and memory.

04

Connect this machine to ideas you will later meet in operating systems and compilers.

Theory assessment

How the course is graded?

Test 125%
Test 225%
End-semester examination50%

Theory total100%

Laboratory assessment

Build, test, and explain

11 lab sessions 1% each Best 10 counted 10% total
Best 10 lab sessions10%
Test 125%
Test 225%
End-semester lab examination40%
Laboratory total100%
Collaboration and integrity

Discuss ideas. Submit your own work.

Permitted in labs
  • Discussing concepts and approaches
  • Asking classmates and staff questions
  • Explaining why a test fails
Not permitted
  • Copying another student's implementation
  • Plagiarism in labs or projects
  • Copying or unauthorized collaboration in examinations

Collaboration should improve your understanding, not replace your thinking.

A reliable learning loop

Small habits compound

Before class

Recall and briefly review the previous lecture.

During class

Take notes and work ideas out with pen and paper.

After class

Recall the main ideas on the same day, without first looking at your notes.

Reading feels familiar; retrieval reveals what you can actually explain.

What we expect from you

Be an active builder

AttemptPredict an answer before it is revealed.
ExplainBe able to say why your circuit works.
TestUse evidence, not hope, while debugging.
PrepareCome with the previous lecture reasonably fresh.
AskSeek help before confusion becomes a backlog.
OwnSubmit work that reflects your understanding.
Hard work and discipline

There is no substitute for doing the work

“It's important to work hard - there's no short cut around that.”

Sachin Tendulkar

“Discipline is doing what you hate to do, but nonetheless doing it like you love it.”

Mike Tyson

Motivation varies. A regular process keeps moving when motivation does not.

Textbook

The book that will guide our journey

Noam Nisan and Shimon Schocken

The Elements of Computing Systems: Building a Modern Computer from First Principles

The MIT Press

ISBN-10 0262640686 ISBN-13 978-0262640688

Nand2Tetris course website

Let us begin

What invention made modern computing possible?

Lecture 1 begins with your answers, travels through the invention of the transistor, and ends at the first layer of computer design: logic gates.

Continue to Lecture 1