Syllabus
Unit 1
Basic Computer architecture, Basic Elements of Machine Language, Hack Machine language, different sets of instructions, Hack programming, Assembly language vs Machine language, Assembler- assembly process, Hack assembly language, assembly language to binary conversions.
Unit 2
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.
Unit 3
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.
Objectives and Outcomes
Course Objectives
- This course aims to provide an integrative, project-oriented approach to build software layers of a general-purpose computer system.
- The course will take the students through a series of software-layer construction tasks.
- This course will demonstrate how theoretical and applied techniques taught in other computer science courses are used in practice.
Course Outcomes
After completing this course, students will be able to
|
CO1
|
Develop and execute programs in low-level languages such as Hack machine language and assembly language
|
|
CO2
|
Create virtual machine specification or VM code for high-level and assembly languages
|
|
CO3
|
Develop programs in object-based language ‘Jack’
|
|
CO4
|
Execute experiments related to basic concepts and functions of operating systems/compilers
|
CO-PO Mapping
|
PO/PSO
|
PO1
|
PO2
|
PO3
|
PO4
|
PO5
|
PO6
|
PO7
|
PO8
|
PO9
|
PO10
|
PO11
|
PO12
|
PSO1
|
PSO2
|
PSO3
|
|
CO
|
|
CO1
|
3
|
3
|
2
|
2
|
3
|
–
|
–
|
–
|
3
|
2
|
3
|
3
|
1
|
1
|
1
|
|
CO2
|
3
|
3
|
2
|
2
|
3
|
–
|
–
|
–
|
3
|
2
|
3
|
3
|
2
|
2
|
1
|
|
CO3
|
3
|
2
|
3
|
2
|
3
|
–
|
–
|
–
|
3
|
2
|
3
|
3
|
2
|
2
|
2
|
|
CO4
|
3
|
2
|
2
|
2
|
3
|
–
|
–
|
–
|
3
|
2
|
3
|
3
|
2
|
2
|
2
|
Text Books / References
Text Books / References
Nisan, Noam, and Shimon Schocken. The elements of computing systems: building a modern computer from first principles. MIT press, 2005
- Morris Mano Computer System Architecture, Prentice Hall, Third Edition.
Hennessy, John L., and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 5th Edition, 2011.