Skip to main content

Advanced C++ Programming

Enrollment in this course is by invitation only

ABOUT THE COURSE!

Welcome to the FUNIX’s Advanced C++ Programming Course!

The Object Oriented Programming (OOP) is one of the programming methods that almost all programmers must know and be able to use fluently. This course is the next of the Basic Programming with C++ Course, helping the students to get more deeper knowledge about the concepts and the methodology of OOP with C++. Each lesson is presented with many easy-to-understand theories and illustration parts. After finishing this course, students are able to handle the OOP techniques with C++ and easily learn other OOP programming languages. Besides this benefit, the students are also equipped with some common data structures and algorithms implemented by C++ programming language.

During the learning process, the students will practice via exercises, labs and projects to get more programming skills and help them to easily get the OOP and Advance programming knowledge with C++ programming language.

COURSE INFORMATION

Course code: CPP201x_2.1
Course name: Advanced C++ Programming
Credits: 3
Estimated Time: 6 weeks. Student should allocate at average of 2 hours/ day to complete the course.

COURSE OBJECTIVES

  • Understand the OOP characteristics in C++ programming language (Inheritance, polymorphism, constructor, destructor, virtual function, namespace)
  • Understand the concepts of the generic programming, generic algorithms, template in C++
  • Be aware of the exception handling in C++
  • Understand some data structures implemented in C++ (stack, queue, list, tree)
  • Be knowledgeable about some basic sorting algorithms implemented in C++ (selection sort, insertion sort, merge sort, quick sort)
  • Understand some basic searching algorithms implemented in C++ (linear search, binary search)
  • Understand the container concept (the sequential, associative containers)
  • Understand, be able to use the concepts of input/output and string stream; fluently implement the file input/output
  • Know the generic concepts and be able to install a generic function, generic class and implement generic algorithms.

Course structure

Module 1 - Object-Oriented Programming (OOP) with C++

  • Lesson 1 - Inheritance
  • Lesson 2 - Polymorphism

Project 1 

Module 2 - Generic Programming, Exception Handling, Input/Output streams

  • Lesson 3 - Generic Programming
  • Lesson 4 - Exception
  • Lesson 5 - Input/Output streams

Project 2

Module 3 - Containers & Generic Algorithms

  • Lesson 6 - Sequential Containers
  • Lesson 7 - Associative Containers
  • Lesson 8 - Generic Algorithms

Project 3

Module 4 - Non-STL Data Structures and Algorithms

  • Lesson 9 - Non-STL Data structures
  • Lesson 10 - Non-STL Algorithms

Project 4

Module 5 - Namespace & String Class

  • Lesson 11 - Namespace in C++
  • Lesson 12 - String Class

DEVELOPMENT TEAM

COURSE DESIGNERS

Luong Trung Kien

  • Lecturer in Information Technology at FPT University
  • Master degree in Information System & Technology – Paris University -Sud 11 – France.
  • Be competent at programming languages such as C/C++, Java, .Net, PHP, Objective-C, Android
  • Experience:
  • Experience in Information System Analysis and Design, Vice Department Manager of IT Solution Department - Harmony Software Co, Ltd
  • Teaching Leader at Aprotrain Aptech 
  • Head of the Department of Training Management and Technical Support of USOL-Vietnam
  • Facebook: https://www.facebook.com/kien.luongtrung

REVIEWER

Vu Le Hanh

C:\Users\MyPC\Google Drive\Course Development\Courses_xSeries\2. Automative app dev C++\1. Basic C++\8. Course Development Team\HạnhVL\at.jpg
  • PhD in Information Technology -   Rennes University. IRISA. 
  • 10-year experience in Java/Android and related technologies.
  • Expert/ Solution Engineer at FPT Software, worked at IBM, IDLogic France.

TESTER

Trinh Tuan Dat

C:\Users\MyPC\Google Drive\Course Development\Courses_xSeries\2. Automative app dev C++\1. Basic C++\8. Course Development Team\Anh tron_DatTT.jpg
  • Lecturer at SoICT HUST Ha Noi
  • Earned a Master’s degree in Information Technology at HUST.
  • PhD in Information Technology at TU Wien, Austria.
  • 9-year experience in software development and training.

MOOC MATERIALS

In modern times, each subject has numerous relevant studying materials including printed and online books. FUNiX Way does not provide a specific learning resource but offers recommendation for students to choose the most appropriate source to them. In the process of studying from many different sources based on that personal choice, students will be timely connected to a mentor to respond to their questions. All the assessments including multiple choice questions, exercises, projects and oral exams are designed, developed and conducted by FUNiX.  

Learners are under no obligation to choose a fixed learning material. They are encouraged to actively find and study from any appropriate sources including printed textbooks, MOOCs or websites. Students are on their own responsibilities in using these learning sources and ensuring full compliance with the source owners’ policies; except for the case in which they have an official cooperation with FUNiX. For further support, feel free to contact FUNiX Academic Department for detailed instructions. 

Learning resources are recommended below. It should be noted that listing these learning sources does not necessarily imply that FUNiX has an official partnership with the source’s owner: UdemyYoutube, CodelearnSololearn.


 Feedback channel

FUNiX is ready to receive and discuss all comments and feedback related to learning materials via email program@funix.edu.vn