This C++ course is designed to provide students with a solid understanding of C++ programming language. C++ is a widely used programming language and is popularly used in developing system software, application software, device drivers, embedded software, high-performance server and client applications, and video games. The course will start by introducing the history and role of C++ programming. Students will then learn how to set up a development environment and the basic syntax and structure of the language. They will also learn about using variables, data types, and expressions in C++. In the following weeks, the course will cover topics such as control structures and functions in C++, using pointers and dynamic memory allocation in C++, and object-oriented programming concepts such as classes, inheritance, polymorphism, and templates. In addition, students will learn about file input/output, exception handling, multi-threading and concurrency, memory management, smart pointers, and the Standard Template Library (STL). The course will also cover building and linking C++ libraries. The course will be a mix of lectures, demonstrations, and hands-on exercises, allowing students to practice and apply what they have learned. By the end of the course, students will have a strong foundation in C++ programming language and be able to develop various applications using the language. Students will also work on a final project, where they will apply the skills and concepts they have learned throughout the course. The project will be an opportunity for students to demonstrate their proficiency in C++ and develop practical applications using the language.
Week 1: Introduction to C++
Week 2: Control Structures and Functions in C++
Week 3: Arrays, Pointers, and Dynamic Memory Allocation in C++
Week 4: Object-Oriented Programming in C++
Week 5: File Input/Output and Exception Handling in C++
Week 6: Advanced C++ Concepts
Week 7: Final Project