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.