2019 ECE391 Ch0 Course Introduction PDF
2019 ECE391 Ch0 Course Introduction PDF
Chapter 0 1
Syllabus
Instructor
Truong Quang Vinh, Ph.D. ([email protected])
Office: 118B1, Tues. 15-17pm, IC Design Lab
Website: www.doe.dee.hcmut.edu.vn
Homepage: www4.hcmut.edu.vn/~tqvinh/
Teaching assistant
Trần Hoàng Quân ([email protected]), 0933722293
Phan Trần Đắc Thịnh ([email protected] ), 0764523799
Office: 118B1, Mon. 1-3pm, IC Design Lab
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
Reference books
Adam Drozdek, Data Structures and Algorithms in C++, Brooks/Cole.
D. P. Bovet, M. Cesati, Understanding the Linux Kernel, 3rd edition,
O'Reilly, 2005, ISBN 0-596-00565-2.
Chapter 0 2
1
2/11/2019
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
2/11/2019
Course Overview
Basic C++ programming
Data type, pointer, array, expressions, control flow, functions,
classes
Data Structures
Stack, queues, vectors, lists, sequence
Computer system - x86 Processor
Memory, input/output devices, CPU
Instruction set, interfacing C to assembly, macros, stack
frame and calling convention
Interrupt, exception
System software basics
Resource management, virtualization, protection, system call
interface, asynchronous and synchronous interactions
Chapter 0 5
Chapter 0 6
3
2/11/2019
2. Data structure
Common Data Structure
Array
Stack
Queue
Linked List
Tree
Heap
Hash Table
Priority Queue
Chapter 0 7
Chapter 0 8
4
2/11/2019
Chapter 0 9
Course Contents
Chapter 1: Basic C++ Programming
5
2/11/2019
Course Grading
Grading
Assignments : 20%
Project : 20%
Mid-term : 20%
Final Exam : 40%
Chapter 0 11
Group Selection
Each group has 2 or 3 students, random selection
Projects:
Presentation
Machine problem
Chapter 0 12
6
2/11/2019
Survey
1. Does anyone have experience on C++?
2. What is the difference between C and C++?
3. What is object-oriented programming?
Chapter 0 13
Chapter 0 14
7
2/11/2019
Chapter 0 15
Project 1
Difference between C and C++
Present the difference between C and C++
Give examples every item
Each member of the group has to present
Chapter 0 16