Syllabus: Equivalent Course: CS225 Data Structures and

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

3/3/2021

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 Trần Ngọc Anh(anh.nguyenk2017@hcmut.edu.vn),
0388364628
 Office: 118B1, Tues. 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
 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
3/3/2021

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
3/3/2021

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
 Computer System Management
 Resource management, virtualization, protection, system call
interface, asynchronous and synchronous interactions

Chapter 0 5

1. Basic C++ programming


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

Chapter 0 6

3
3/3/2021

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

Chapter 0 7

3. 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 8

4
3/3/2021

4. Computer System Management


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

Chapter 0 9

Course Contents
Chapter 1: Basic C++ Programming

Chapter 2: Stacks, Queues, and Recursion

Chapter 3: Vectors, Lists, and Sequences

Chapter 4: Basics of Computer System

Chapter 5: x86 Assembly Language

Chapter 6: Interrupt and Handler

Chapter 7: Memory Management


Chapter 0 10

5
3/3/2021

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
3/3/2021

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

Difference between C and C++


1. C does not have any classes or objects.
2. C structures have a different behavior compared to
C++ structures.
3. C input/output is based on library and the processes
are carried out by including functions. C++ i/o is
made through console commands cin and cout.
4. C functions do not support overloading.
5. C does not support new or delete commands. The
memory operations to free or allocate memory in c
are carried out by malloc() and free().

Chapter 0 14

7
3/3/2021

Difference between C and C++


6. Undeclared functions in c++ are not allowed. The
function has to have a prototype defined before the
main() before use in c++ although in c the functions can
be declared at the point of use.
7. After declaring structures and enumerators in c we
cannot declare the variable for the structure right after
the end of the structure as in c++.
8. For an int main() in c++ we may not write a return
statement but the return is mandatory in c if we are using
int main().
9. In C++ identifiers are not allowed to contain two or more
consecutive underscores in any position. C identifiers
cannot start with two or more consecutive underscores,
but may contain them in other positions.
10. C has a top down approach whereas c++ has a bottom up
approach.

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

You might also like