0% found this document useful (0 votes)
24 views12 pages

OOP01 - Course Introduction

Uploaded by

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

OOP01 - Course Introduction

Uploaded by

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

Course introduction

Introduction to Object oriented


programming
Lecturer information
 Trần Duy Quang
[email protected]

2
Course’s objectives
After finishing the course, the students can
 Explain basic terms which are related to object
oriented programming
 Apply OOP methods in solving simple problems
 Create UML class diagram for visualizing OOP
system

3
Main content - 4 pillars of OOP
 Abstraction: blackbox, what not how
 Encapsulation: data hiding
 Inheritance: reuse
 Polymorphism: use parent class to refer child class

4
Weapon of choice
Visual Studio 2019 Community

 The instructor has no idea on


 Using Visual Studio Code and C++ extension
 C++ programming on Mac, Linux
 Other IDEs
 All live demos will be done on Windows 10 20H2
& Visual Studio 2019
 You can use any version of Windows & Visual
Studio that suits you (put this info on readme file)
5
Schedule
1. Course Introduction: content, evaluation
2. Basic C++ programming tips: overload, pointer,
function pointer, function call stack, pass by value /
reference, random, string, vector, date, function
template, static library, working with text file
3. OOP: Class & Object, Constructor, Destructor,
Attributes, Getter, Setter, Parametered constructor,
copy constructor, assignment operator
4. Aggregation & composition
5. Inheritance, abstract class, interface
6. Polymorphism
6
Grading
 Theory Exercises 20%
 Weekly labs Exercises 20%
 Lab midterm 10%
 Project 1: Mock data Library 20%
Simple class creation
 Project 2: Simple paint 30% (any lang)
Inheritance, Polymorphism, Some basic design patterns
Basic UI (Button, Label, Image, common dialogs)

7
Materials for learning
 Lập trình hướng đối tượng
 Trần Đan Thư, Đinh Bá Tiến, Nguyễn Tấn Trần Minh
Khang, NXB Khoa học kĩ thuật, 2010
 C++ & Lập trình hướng đối tượng
 Phạm Văn Ất, NXB Khoa học kĩ thuật
 Lập trình hướng đối tượng C++
 Trần Văn Lăng, NXB Thống kê

8
Other further reading
 Thinking in C++, Bruce Eckel, Prentice Hall, 1998
 Beginning C++17, 5th Edition, Apress, 2018
 C++ Primer Plus, 6th Edition, Stephen Prata, 2014

9
Other languages
 C# / Java (desktop / web / cross platform)
 Javascript (web dev / cross platform)
 Kotlin / Swift (mobile dev)
 Python (Data science)

10
Policy
 All links accept late submission
 -1 for every late day without prior asking for
permission

11
Question?

12

You might also like