0% found this document useful (0 votes)
28 views6 pages

Coal Lab

The document outlines the course CSC-411 Computer Organization & Assembly Language Lab offered at the Institute of Management Sciences Peshawar, detailing its objectives, learning outcomes, assessment methods, and teaching methodology. Students will learn about digital computer organization, assembly language programming, and gain hands-on experience using emu8086 and NASM. The course emphasizes practical applications and understanding of low-level programming, with a structured assessment system including mid-term and final exams, assignments, and projects.

Uploaded by

Ali Asghar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views6 pages

Coal Lab

The document outlines the course CSC-411 Computer Organization & Assembly Language Lab offered at the Institute of Management Sciences Peshawar, detailing its objectives, learning outcomes, assessment methods, and teaching methodology. Students will learn about digital computer organization, assembly language programming, and gain hands-on experience using emu8086 and NASM. The course emphasizes practical applications and understanding of low-level programming, with a structured assessment system including mid-term and final exams, assignments, and projects.

Uploaded by

Ali Asghar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

Course Code & Title: CSC - 411 Computer Organization & Assembly Language Lab
Credit Hours: 4 (3-1)
Program(s) & BCS and BS-Data Science
Group(s):
Academic Calendar Spring Semester
Semester: 4th Semester
Lecture Timing:
Prerequisites and/or None
Expectations:
Instructor: Mr. Amir Khan
Website (if any):
Email: [email protected]
Office Location: 1st Floor right corridor
Office Contact Hours: 12:00 pm- 3:00 pm (Monday-Friday)
Course Description: In this lab, students will gain an understanding of the internal workings and
organization of digital computers. They will also be introduced to assembly language
programming, enabling them to write technical programs to interact with the
computer's hardware.

Course Objectives In this lab, we will work with emu8086 and NASM with DOSBox to gain hands-on
(COs): experience in the following areas:

1.​ Remembering: Students will be able to recall the internal workings and organization
of essential components within a digital computer, including memory units,
input/output devices, and the CPU.
2.​ Understanding: Students will demonstrate comprehension of the intricate processes
occurring within the CPU (central processing unit) and understand its internal
operations, including the fetch-decode-execute cycle and the role of registers.
3.​ Applying: Students will apply their understanding of data flow between registers and
main memory to solve problems related to memory management and data
manipulation in a computer system.
4.​ Creating: Students will master assembly language programming and be able to
create and debug programs at a low-level using assembly instructions, demonstrating
proficiency in translating high-level code to machine-readable instructions and vice
versa.

Course Learning At the end of the course the students will be able to: Domain BT Level
Outcomes (CLOs):

Page 1 of 6
INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

1.​ Analyzing the fundamental components and Cognitive Analyzing (BT


architecture of a microcomputer system, Knowledge Level 4)
providing insights into its general construction. (C1)
2.​ Understanding the significance of registers and Understanding
system buses within the microcomputer system Cognitive (BT Level 2)
and how they facilitate data transfer and Knowledge
processing.
(C1)
3.​ Applying the concepts and principles of
high-level programming languages to assembly
Cognitive Applying (BT
language, enabling you to bridge the gap between
low-level hardware and high-level software in Knowledge Level 3)
microcomputer programming. (C1)
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective domain
Alignment of CLOs CO-1 CO-2 CO-3 CO-4 CO-5
and COs CLO-1 X
CLO-2 X X

CLO-3 X X
Course As per IMSciences policy
Assessment(s):
●​ Mid-term Exam (30%)
●​ Assignment (20%)
●​ Final-term Exam (50%)

S.No. CLOs Relevant Assessment Methods


1. 1, 3, 4 Mid-term & Final-term Exam
2. 1, 3, 4 Simulations/Practical tasks
3. 1, 3,4 Project and presentation
Graduate Attributes 1.​ Gain an understanding of the underpinning theories of fundamental principles and
(GAs)/ Program technologies within the area of computer science (Academic education).
Learning Outcomes 2.​ Apply knowledge of computing fundamentals, knowledge of a computing
(PLOs) specialization, and mathematics, science, and domain knowledge appropriate for the
computing specialization to the abstraction and conceptualization of computing
models from defined problems and requirements (Knowledge for Solving
Computing Problems).
3.​ Identify, formulate, research literature, and solve complex computing problems
reaching substantiated conclusions using fundamental principles of mathematics,
computing sciences, and relevant domain disciplines (Problem Analysis).
4.​ Design and evaluate solutions for complex computing problems, and design and
evaluate systems, components, or processes that meet specified needs with
appropriate consideration for public health and safety, cultural, societal, and
environmental considerations (Design/ Development of Solutions)
Page 2 of 6
INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

5.​ Create, select, adapt, and apply appropriate techniques, resources, and modern
computing tools to complex computing activities, with an understanding of the
limitations (Modern Tool Usage)
6.​ Function effectively as an individual and as a member or leader in diverse teams and
in multi-disciplinary settings (Individual and Teamwork)
7.​ Communicate effectively with the computing community and with society about
complex computing activities by being able to comprehend and write effective
reports, instructions (Communication)
8.​ Understand and assess societal, health, safety, legal, and cultural issues within local
and global contexts, and the consequential responsibilities relevant to professional
computing practice (Computing Professionalism and Society)
9.​ Understand and commit to professional ethics, responsibilities, and norms of
professional computing practice (Ethics)
10.​ Recognize the need, and have the ability, to engage in independent learning for
continual development as a computing professional (Life-long Learning)
Alignment of CLOs GA- GA- GA- GA- GA- GA- GA-7 GA-8 GA-9 GA-10
and PLOs/GAs 1 2 3 4 5 6
CLO-1 X
CLO-2 X X X
CLO-3 X X
CLO-4
Course Resources: The background texts on which the course is based are:

1.​ Reference Books 1. William Stallings - Computer Organization and Architecture


Designing for Performance (8th Edition)
2.​ Kip R. Irvine - Assembly Language for x86 Processors (6th Edition)
3.​ Kip R. Irvine - Assembly Language for Intel based Computers (4th Edition)
4.​ Lab manual will be provided

Course Teaching Mode of Instruction:


Methodology:
This lab course immerses students in the practical application of assembly language
programming. Through hands-on activities, students learn to develop and debug assembly
language programs, mastering the low-level intricacies of computer instructions. They gain
proficiency in translating high-level code to machine-readable instructions and vice versa,
enhancing their understanding of programming languages at a fundamental level.
Additionally, students acquire skills in manipulating and translating both machine code and
assembly code, enabling them to work proficiently with computer instructions. These
practical exercises equip students with the expertise required to tackle real-world
programming challenges and excel in low-level software development roles.
Course ●​ Students are required to submit written assignments online in google classroom.
Assignment/Quizzes ●​ Students will present different topics covering the latest trends and innovations in
/Presentation: assembly language either individually or in a group.

Page 3 of 6
INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

●​ There will be multiple quizzes lab tasks the semester which can either be announced
in advance or can be surprised.
Attendance Policy As per the IMSciences policy students will not be allowed to sit in the final-Term exam if
they fail to attend less than 75% of the total classes. Attendance will be marked after 15
minutes of the class starts. If a student comes into the class after 15 minutes, he/she may sit
in the class, but their attendance will not be marked for that class. In case of emergencies or
unavoidable circumstances students have to report me directly or e-mail.
General Policies and During the class sessions students are expected to.
Behavioral ●​ Ensure timely arrival in class and remain present throughout the class session.
Expectations: ●​ Participate in class discussions and engage in any individual or group tasks.
●​ Adhere to institute attendance policy and general code of conduct.
●​ Maintain and update record of all class notes, handouts, and relevant materials.
●​ Adhere to basic principles of academic integrity with regards to exams and
assignments
●​ Use the lab equipment properly and carefully.
●​ Students are not allowed to play games or use any offline/online application or other
media (news, social media, movies etc.) in computer labs/classroom.
●​ Students must follow all the cyber laws and maintain other’s privacy while working
in computer labs
Grades to be Assigned
Grade Marks (%) Grade Points Remarks
A+ 91-100 4.0 Outstanding
A 87-90 4.0 Excellent
B+ 80-86 3.5 Very Good
B 72-79 3.0 Good
C+ 66-71 2.5 Satisfactory
C 60-65 2.0 Pass
F Below 60 0 Fail

Week wise distribution


Week Topic Description CLOs
No
●​ Levels of Programming Languages 1&2
●​ Generations of Programming Languages
1
●​ Basic (Hypothetical) Microcomputer Design: CPU,
Memory and Storage Unit
●​ Assembly language fundamentals: Assembling, 1
Linking and Running Programs
2
●​ The Von Neumann Machine
●​ Busses

Page 4 of 6
INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

●​ Instruction Execution Cycle: Fetching, Decoding and


Execution of Instruction
●​ Memory Cell Operation 2
●​ Main Memory Logical Structure
●​ IA32 Basic Execution Environment
o​ Address Space
3 o​ Segment Registers
o​ General Registers
o​ Control Registers
●​ Introduction to Assembly Language
o​ Basic Logic & Syntax
●​ Introduction to Netwide Assembler (NASM) 1&2
●​ Logical Addresses
●​ Physical Addresses
●​ Logical to Physical Address Conversion
4
●​ Endianness
o​ Little Endian
o​ Big Endian
●​ Examples + Class Tasks
●​ Addressing Techniques 1&2
5 ●​ Labels and Memory Locations
●​ Examples + Class Tasks
●​ Flags 1&2
o​ Sign Flag
o​ Overflow Flag
6
o​ Direction Flag
o​ Interrupt Flag
●​ Examples + Class Tasks
7 ●​ Flags 1&2
o​ Trap Flag
o​ Zero Flag
o​ Auxiliary Flag
o​ Parity Flag
o​ Carry Flag
●​ Examples + Class Tasks
8 ●​ Jumps 3
o​ Un-conditional
o​ Conditional
●​ Examples + Class Tasks
●​ Loops 3
9 o​ Un-conditional
o​ Conditional
Page 5 of 6
INSTITUTE OF MANAGEMENT SCIENCES PESHAWAR

●​ Examples + Class Tasks


●​ Modes of Operation 3
o​ Real Mode
10 o​ Protected Mode
o​ System Management Mode
o​ Virtual 8086 Mode
●​ Sorting 3
o​ Ascending
11
o​ Descending
●​ Examples + Class Tasks
●​ Shift Instructions 3
o​ Logical
o​ Arithmetic
●​ Rotate Instructions
12 o​ Logical
o​ Arithmetic
●​ Unsigned Binary Multiply utilizing Shift instructions
●​ Unsigned Binary Divide utilizing Shift instructions
●​ Examples + Class Tasks
●​ Introduction to Stack 3&4
●​ Push Instruction
●​ Pop Instruction
13 ●​ Call Instruction
●​ Ret Instruction
●​ Xchg Instruction
●​ Examples + Class Tasks
●​ Functions 3&4
●​ Parameter Passing through Stack
14
●​ Local Variables on Stack
●​ Examples + Class Tasks
●​ Display/ Video Memory 3&4
●​ Cell Structure
●​ Character and String Printing
15
●​ Sequential Processing
●​ Examples + Class Tasks
●​
●​ Parallel Processing 3&4
16
●​ Examples + Class Tasks

Page 6 of 6

You might also like