Developing Object-Oriented Applications in C++

NTU Professional and Continuing Education (PaCE@NTU)

Course introduction

Introduction This short course “Object-Oriented Programming in C++” is designed as an intensive training course for IT professionals who wish to learn Object-Oriented programming in C++ and Windows programming in Microsoft Foundation Class (MFC). The course will equip the trainees with both Object-Oriented programming theory and professional coding skills in C++. It will be conducted through class lecture together with lab hands-on and program debugging.  Objectives This course will cover Object-Oriented paradigms, Data abstraction, Encapsulation, Functions, Classes, Pointers, References, Inheritance, Dynamic binding, Advanced Inheritance, Polymorphism, Template, Exception handling, I/O Streams, Preprocessor, Professional Coding Style and Naming Convention, Window programming in MFC, and Windows Graphical User Interface (GUI) development using MFC AppWizard, ClassWizard and Resource Editor.

Course Outline


Day 1
Introduction of Object-Oriented programming concepts; built-in types; variables; expression and statements; functions; overloading functions; program flows; pointers; references; manipulating data by using pointers; memory leaks; creating user-defined data type using classes; constructors and destructors; implementing class member methods; accessing class member data and member methods.

Day 2
Inheritance; member data/methods access control; constructors and destructors in derived classes; overriding versus overloading member methods; arrays; arrays of pointers; advanced inheritance; private inheritance; friend classes; polymorphism; virtual methods and its working mechanism; dynamic binding; multiple inheritance; ambiguity resolutions; abstract data types; pure virtual functions; Debug tool in Microsoft Visual Studio.

Day 3
Template class; parameterised types; implementing the templates; preprocessor; I/O streams; exceptions handling; exceptions versus bugs; working mechanism of exceptions handling in C++; using try blocks and catch blocks; introductions of Windows programming in MFC; MFC classes; Hungarian Notation; constructing Windows applications using AppWizard and ClassWizard; Graphical User Interfaces design with Resources Editors; menu items and call-back functions; message box; designing dialog boxes; getting user input from dialog boxes; setting dialog box items.

Day 4
Dissecting a C++ Windows program; CframeWnd; CwinApp; Cview; Cdocument; Windows message dispatching and processing; windows message mapping; CDialog member variables and DoDataExchange; converting console based applications to MFC based Windows Applications; lab hands-on to develop a Windows application with menu items and dialog boxes to practice Object-Oriented programming in C++ and MFC classes covered in the short course.
Dissecting a C++ Windows program; CframeWnd; CwinApp; Cview; Cdocument; Windows message dispatching and processing; windows message mapping.  

* Please be informed that there are only 2 sessions available for this course. Both sessions will be completed in 4 days.
  • Session 1 : 25 - 28 February 2019
  • Session 2 : 29, 30 April and 2, 3 May 2019 (Excluding 1st May)

Available Course Sessions

Course Date, Time Reg. Closes On
1 29 Apr' 19 to 03 May' 19, 9.00am to 5.00pm 26 Apr' 19 Register Now

Trainer Profile

Dr Yow, Kin Choong

Yow Kin Choong obtained his B.Eng (Elect) with 1st Class Honours from the National University of Singapore in 1993, and his Ph.D. from Cambridge University, UK in 1998. He joined the Gwangju Institute of Science and Technology (GIST) in March 2013, where he is presently a Professor in the GIST College. Prior to joining GIST, he was a Professor at the Shenzhen Institutes of Advanced Technology (SIAT), P.R. China (2012-2013), and Associate Professor at the Nanyang Technological University (NTU), Singapore (1998-2012). In 1999-2005, he served as the Sub-Dean of Computer Engineering in NTU, and in 2006-2008, he served as the Associate Dean of Admissions in NTU.

Yow Kin Choong's research interest is in Ambient Intelligence which includes passive remote sensing such as Computer Vision, wireless communications such as Ad hoc and Sensor Networks, and computational intelligence such as Fuzzy-Neuro Inference Systems. He has published over 80 top quality international journal and conference papers, and he has served as reviewer for a number of premier journals and conferences, including the IEEE Wireless Communications and the IEEE Transactions on Education. He has been invited to give presentations at various scientific meetings and workshops, such as the CNET Networks Event (2002) as well as the Microsoft Windows Server 2003 Launch (2003). He is also a member of the IEEE, ACM, and the Singapore Computer Society (SCS).

He was the winner of the NTU Excellence in Teaching Award 2005, and he won the Most Popular SCE Year 1 Lecturer for 4 consecutive years 2004-2007. He has led numerous student teams to National and International victories such as the IEEE Computer Society International Design Competition (CSIDC) (2001), the Microsoft Imagine Cup (2002, 2003 and 2005), and the Wireless Challenge (2003).