You are on page 1of 7

8/29/2022

ECE391 Computer System


Engineering
Equivalent course: CS225 Data Structures and
Programming Principles

Chapter 0 1

Syllabus
⚫Instructor
⚫Truong Quang Vinh, Ph.D. (tqvinh@hcmut.edu.vn)
⚫Office: 118B1, Tues. 15-17pm, IC Design Lab
⚫Website: www.doe.dee.hcmut.edu.vn
⚫Homepage: www4.hcmut.edu.vn/~tqvinh/
⚫Teaching assistant
⚫Nguyễn Trung Hiếu, M.E. (hieunt@hcmut.edu.vn )
⚫Office: 203B3, Tues. 1-3pm
⚫Text book
⚫Required book
⚫Goodrich, Tamassia, Mount, Data Structures and Algorithms in C++,
Wiley (BK library, book no. 2007909016 )
⚫ Jacob L Robinson, Introduction to 80x86 Assembly Language and
Computer Architecture, Jones and Bartlett Computer Science
⚫D. P. Bovet, M. Cesati, Understanding the Linux Kernel, 3rd edition,
O'Reilly, 2005, ISBN 0-596-00565-2.
⚫Reference books
⚫Adam Drozdek, Data Structures and Algorithms in C++,
Brooks/Cole.
Chapter 0 2

1
8/29/2022

Course Overview

Chapter 0 3

Learning Outcomes
1. Describe and explain basics of computer systems
2. Explain and use interrupts, processes, and process
scheduling
3. Describe and explain memory management and
memory virtualization
4. Implement and apply simple data structures for
software applications
5. Use programming language and develop software on
computer systems

Chapter 0 4

2
8/29/2022

Course Overview
⚫Computer System - x86 Processor
⚫Memory, input/output devices, CPU
⚫Instruction set, interfacing C to assembly, macros, stack
frame and calling convention
⚫Interrupt, exception
⚫Computer System Management
⚫Resource management, virtualization, protection,
system call interface, asynchronous and synchronous
interactions
⚫Basic C++ programming
⚫Data type, pointer, array, expressions, control flow,
functions, classes
⚫Data Structures
⚫Stack, queues, vectors, lists, sequence

Chapter 0 5

1. Computer system - x86 Processor


⚫CPU, memory, input/output devices
⚫Instruction set, interfacing C to assembly, macros, stack
frame and calling convention
⚫Interrupt, exception

Chapter 0 6

3
8/29/2022

2. Computer System Management


⚫Resource management, virtualization, protection,
system call interface, asynchronous and synchronous
interactions

Chapter 0 7

3. Basic C++ programming


⚫Data type, pointer, array, expressions, control flow,
functions, classes

Chapter 0 8

4
8/29/2022

4. Data structure
⚫Common Data Structure
⚫Array
⚫Stack
⚫Queue
⚫Linked List
⚫Sequence
⚫Binary Tree
⚫Heap
⚫Hash Table
⚫Priority Queue

Chapter 0 9

Course Contents
Chapter 1: Basics of Computer System

Chapter 2: x86 Assembly Language

Chapter 3: Interrupt and Handler

Chapter 4: Memory Management

Chapter 5: Basic C++ Programming

Chapter 6: Stacks, Queues, and Recursion

Chapter 7: Vectors, Lists, and Sequences

Chapter 8: Trees & Search Trees

Chapter 0 10

5
8/29/2022

Course Grading

⚫Grading
⚫Assignments/Project : 30%
⚫Mid-term : 20%
⚫Final Exam : 50%

Chapter 0 11

Group Selection
⚫Each group has 2 or 3 students, random selection
⚫Projects:
⚫Presentation
⚫Machine problem

Chapter 0 12

6
8/29/2022

Survey
1. Does anyone have experience on Assembly?
2. Does anyone have experience on C++?
3. What is the difference between C and C++?
4. What is object-oriented programming?

Chapter 0 13

You might also like