Skip to main content

Basic C++ Programing

Enrollment in this course is by invitation only

ABOUT THE 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: CPP101x
Course name: Basic C++ Programing
Credits: 3

COURSE OBJECTIVES

  • Understand the history and basic concepts of C++ programming language
  • Understand and be able to work with pointers
  • Understand and know how to work with files (text, binary files)
  • Understand and apply the concepts of object-oriented programming
  • Be a foundation for students' quick learning and approach to other programming language

COURSE STRUCTURE

Module 1 - C++ Overview, Data Types, Control structures and Functions in C++

  • Lesson 1: The history of C++
  • Lesson 2: The C++ Compilation Process
  • Lesson 3: C++ Overview
  • Lesson 4: Simple data structures in C++
  • Lesson 5: Variable and Constant
  • Lesson 6: Complex Data Types
  • Lesson 7: C++ operators
  • Lesson 8: Branching structure in C++
  • Lesson 9: Loop structure
  • Lesson 10: Introduction to function

Project 1

Module 2 - Pointer and Object in C++

  • Lesson 11: Introduction to class and object in C++
  • Lesson 12: Encapsulation
  • Lesson 13: Constant object
  • Lesson 14: C++ Pointer
  • Lesson 15: Reference
  • Lesson 16: Allocation and Memory Management in C++

Project 2

Module 3 - Object-oriented programming with C++

  • Lesson 17: Splitting Classes
  • Lesson 18: Constructors and Destructors
  • Lesson 19: Class Scope
  • Lesson 20: Inheritance
  • Lesson 21: Encapsulation and Access Specifiers
  • Lesson 22: Virtual functions and Abstract classes
Project 3

Module 4 - Working with Files

  • Lesson 23: Introduction to Streams and Files
  • Lesson 24: Stream I/O
  • Lesson 25: Processing files in C++
  • Lesson 26: Strings in C++

Project 4

DEvelopment Team

COURSE DESIGNERS

Nguyen Tien Dat

C:\Users\MyPC\Google Drive\Course Development\Courses_xSeries\2. Automative app dev C++\1. Basic C++\8. Course Development Team\ĐạtNT\at.jpg
  • Application development specialist at FPT University
  • Manager at large corporations: Viettel, FPT.
  • 15-year experience in software development.
  • Facebook : https://www.facebook.com/truonghocmienphi

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.

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.

MOOC MATERIALS

FUNiX's training principle is to find a good Massive open online course (MOOC) provided by reputable units / authors, combining with localization and additional supply of practical exercises, assessments, and instructional services from the mentor community in order to help students learn from anywhere, anytime with the optimal training quality.

With this course, we are confident to present to our students these following MOOC sources provided by edX, a worldwide prestige online training organization. :


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: edX, YoutubeCodelearnSololearn.


 Feedback channel

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