COURSE DESCRIPTION

NAME OF INSTITUTION Lahore Garrison University
PROGRAM (S) TO BE EVALUATED Computer Science , Fall 2021
Course Description :
Course Code CSC346
Course Title Comp Organization & Assembly Lang
Credit Hours 3+1
Prerequisites by Course(s) and Topics Students should have a good understanding of programming concepts, programming fundamental and digital logic design.
Assessment Instruments with Weights (homework, quizzes, midterms, final, programming assignments, lab work, etc.) SESSIONAL (Quizzes, Assignments, Presentations) =25 %
Midterm Exam =25 %
Final Exam = 50%
Course Coordinator Huma Chaudhry
URL (if any)
Current Catalog Description
Textbook (or Laboratory Manual for Laboratory Courses) Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e), Randal E. Bryant and David R.O' Hallaron, Carnegie Mellon University
Reference Material 1. Robert Britton, MIPS Assembly Language Programming, Latest Edition, 2. Computer System Architecture, M. Morris Mano, Latest Edition, 3. Assembly Language Programming for Intel- Computer, Latest Edition
Course Goals 1.Acquire the basic knowledge of computer organization, computer architecture and assembly language 2. Understand the concepts of basic computer organization, architecture, and assembly language techniques 3. Solve the problems related to computer organization and assembly language
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to:DomainBT Level*
Acquire the basic knowledge of computer organization, computer architecture and assembly language
Understand the concepts of basic computer organization, architecture, and assembly language techniques.
Solve the problems related to computer organization and assembly language
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Topics Covered in the Course, with Number of Lectures on Each Topic (assume 15-week instruction and one-hour lectures)
WeekLectureTopics Covered
Week 1 1 Introduction to computer systems: Information is bits + context, programs are translated by other programs into different forms
2 understand how compilation systems work
Week 2 3 processors read and interpret instructions stored in memory, caches matter
4 storage devices form a hierarchy
Week 3 5 the operating system manages the hardware,
6 systems communicate with other systems using networks
Week 4 7 Representing and manipulating information: information storage, integer representations
8 Representing and manipulating information: integer arithmetic
Week 5 9 Representing and manipulating information: floating point
10 Machine-level representation of programs: a historical perspective
Week 6 11 program encodings
12 data formats
Week 7 13 accessing information
14 arithmetic and logical operations
Week 8 1 hours Mid Term
Week 9 15 control, procedures
16 array allocation and access
Week 10 17 heterogeneous data structures
18 putting it together: understanding pointers
Week 11 19 life in the real world: using the gdb debugger
20 outof-bounds memory references and buffer overflow
Week 12 21 x86-64: extending ia32 to 64 bits
22 machine-level representations of floating-point programs
Week 13 23 Processor architecture: the Y86 instruction set architecture
24 logic design and the Hardware Control Language (HCL)
Week 14 25 sequential Y86 implementations
26 general principles of pipelining
Week 15 27 pipelined Y86 implementations
28 types of pipelining
Week 16 29 revision
30 Revision
Week 17 2 hours Final Term
Laboratory Projects/Experiments Done in the Course Related to assembly language
Programming Assignments Done in the Course Related to concept mentioned above with the lecture number.
Instructor Name Huma Chaudhry
Instructor Signature
Date