First Semester AY 2019-2020
Course Number | CMSC 131 |
Course Title | Introduction to Computer Organization and Machine Level Programming |
Description | An introduction to computer organization and interfaces between hardware and software. Microcomputer systems: basic computer organization, memory addressing, CPU-memory-I/O relationships, interfacing interrupt mechanisms. Assembly Language Programming: Machine vs. Assembly language, data structure representations, program control implementations, subroutines, parameter passing, recursion, direct-video graphics, serial port communications. |
Prerequisites | CMSC 21 or COI |
Credit | 3 units |
The aim of this course is to introduce students to computer organization, assembly language and systems programming.
(A) 3 Long Exams | 45% |
(B) Quizzes/Homeworks | 10% |
(C) Laboratory | 45% |
(D) Prefinal | A+B+C |
(E) Final Exam | 100% |
(F) Final Grade | 20%xE+80%xD |
0.00 | 54.99 | 5.0 |
55.00 | 59.99 | 3.0 |
60.00 | 64.99 | 2.75 |
65.00 | 69.99 | 2.5 |
70.00 | 74.99 | 2.25 |
75.00 | 79.99 | 2.0 |
80.00 | 84.99 | 1.75 |
85.00 | 89.99 | 1.5 |
90.00 | 94.99 | 1.25 |
95.00 | 100 | 1.0 |
Attendance will be checked every meeting. Students with seven(7) or more absences will be automatically dropped from the class.
Name | Role | |
---|---|---|
Joseph Anthony C. Hermocilla | Lecture/Laboratory | jchermocilla@up.edu.ph |
Meeting | Date | Topic | Readings | Homework |
---|---|---|---|---|
1 | 8/7/19 W | Introduction (by Prof. R. Mercado) | ||
2 | 8/9/19 F | (no meeting) | ||
3 | 8/14/19 W | Basic Computer Organization (by Prof. R. Mercado) | ||
4 | 8/16/19 F | Introduction to x86 Assembly Language Programming | ||
5 | 8/21/19 W | Information Representation | [CS:APP2e] Ch. 2a | |
6 | 8/23/19 F | Representing integral types and strings | ||
7 | 8/28/19 W | Boolean Algebra | ||
8 | 8/30/19 F | Signed and Unsigned Integers; Addition and Subtraction | ||
9 | 9/4/19 W | IEEE 754 floating point, x86 processors | [CS:APP2e] Ch. 2b, [CS:APP2e] Ch. 3a | |
10 | 9/6/19 F | Disassembly of machine code | ||
11 | 9/11/19 W | Memory Addressing Modes | [CS:APP2e] Ch. 3b | |
12 | 9/13/19 F | (no meeting due to power outage) | ||
13 | 9/18/19 W | EXAM 1 | ||
14 | 9/20/19 F | Condition Codes | ||
15 | 9/25/19 W | Conditional MOVs | ||
16 | 9/27/19 F | Implementing Loops | ||
17 | 10/2/19 W | Switch and Jump Tables | [CS:APP2e] Ch. 3c | |
18 | 10/4/19 F | Introduction to the stack and procedures | ||
19 | 10/9/19 W | Demonstration of stack frames in linux (32-bit) | ||
20 | 10/11/19 F | Implementing Recursion and 64-bit procedures | [CS:APP2e] Ch. 3d | |
21 | 10/16/19 W | Implementing Arrays | ||
22 | 10/18/19 F | Implementing Structures | ||
23 | 10/23/19 W | EXAM 2 | ||
24 | 10/25/19 F | Alignment and Unions | [CS:APP2e] Ch. 3e | |
25 | 10/30/19 W | Memory Hierarchy | [CS:APP2e] Ch. 6a | |
26 | 11/6/19 W | SSD | ||
27 | 11/8/19 F | Cache Memories | [CS:APP2e] Ch. 6b | |
28 | 11/13/19 W | E-way associative cache | ||
29 | 11/15/19 F | Case study: Matrix Multiplication | ||
30 | 11/20/19 W | Linking | [CS:APP2e] Ch. 7 | |
31 | 11/22/19 F | Relocation | ||
32 | 11/27/19 W | Shared libraries | ||
33 | 11/29/19 F | (no meeting) | ||
34 | 12/4/19 W | EXAM 3 |
Meeting | Date | Topic | Readings | Homework |
---|---|---|---|---|
1 | 8/9/19 F | |||
2 | 8/16/19 F | |||
3 | 8/23/19 F | |||
4 | 8/30/19 F | |||
5 | 9/6/19 F | |||
6 | 9/13/19 F | |||
7 | 9/20/19 F | |||
8 | 9/27/19 F | |||
9 | 10/4/19 F | |||
10 | 10/11/19 F | |||
11 | 10/18/19 F | |||
12 | 10/25/19 F | |||
13 | 11/8/19 F | |||
14 | 11/15/19 F | |||
15 | 11/22/19 F | |||
16 | 11/29/19 F |