0% found this document useful (0 votes)
16 views

OOP01 - Course Introduction

Uploaded by

chuquynh2004
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

OOP01 - Course Introduction

Uploaded by

chuquynh2004
Copyright
© © All Rights Reserved
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