Course Title: 
Elements of Computing Systems - 2
Course Code: 
Year Taught: 
Undergraduate (UG)
School of Engineering

'Elements of Computing Systems - 2' is a course offered in the second semester of  B. Tech. in Computer Science and Engineering (Artificial Intelligence) program at the School of Engineering, Amrita Vishwa Vidyapeetham.

Course Objectives

This course is an integrative, project-oriented systems building course. The course exposes students to a significant body of computer science knowledge, gained through a series of hardware and software construction tasks. These tasks demonstrate how theoretical and applied techniques taught in other higher courses in AI are used in practice.

Course Outcomes

CO1 To develop an understanding on basic computer architecture
CO2 To introduce the implementation of operating systems
CO3 To develop an understanding on the working of a modern computing system


  PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12
CO1 3 3 2 2 3       3 2 3 3
CO2 3 3 3 3 3       3 2 3 3
CO3 3 2 3 3 3       3 2 3 3

Course Evaluation Pattern:

Internal – 75%

  • Assignments – 50% (20 assignments with equal credit)
  • Quiz- 25% (5 Quizzes with equal credit)

External – 25%

  • Project – 25%

Basic Computer Architecture-Instruction set and Machine language-MIPS instructions- add, subtract, bitwise operators, branches- CPI metric- Data path design for single clock. Data path for multi clock instructions-pipelining and pipeline faults-Control unit design-state based control – microprogramed control-Revising Assemblers. Virtual Machine I: Stack Arithmetic, Background VM Specification Part-1, Implementation and Perspective. Virtual Machine II: Program Control Background, VM Specification Part-2, Implementation, Perspective. High-Level Language: Background, The Jack Language Specification. Writing Jack Applications. Perspective. Compiler I - Syntax Analysis: Background, Specification, Implementation, Perspective. Compiler II - Code Generation: Background, Specification, Implementation, Perspective. Operating System: Background, the Jack OS Specification, Implementation, Perspective.

  1. Hennessy, John L., and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 5th Edition, 2011.
  2. Nisan, Noam, and Shimon Schocken. The elements of computing systems: building a modern computer from first principles. MIT press, 2005.