C/C++ – Object-Oriented Programming Using C++ Part 2
Program Overview
This C++ object-oriented programming course teaches the skills for a career in game development, VR, and beyond. Participants will learn C++ language features, including key standard library objects and object-oriented programming concepts. The course utilizes a blended format consisting of weekly lectures, online access to learning materials, and informal online practice. The course equips participants with the skills to enter a range of careers in the software development industry, including application programmer, systems programmer, and game developer.
Program Outline
C/C++ – Object-Oriented Programming Using C++ Part 2 Short Course:
Degree Overview:
This C++ object-oriented programming online course teaches the skills for a career in game development, VR, and beyond. Participants will learn C++ language features, including key standard library objects and object-oriented programming concepts such as classes, objects, abstraction, interfaces, constructors, destructors, and operators. They will gain hands-on experience using integrated development environments (IDEs) and the command line to create and compile programs. Additionally, the course explores more advanced OOP principles through inheritance, polymorphism, and templates. Through the comprehensive coverage of these topics, this course aims to equip participants with the fundamental skills and theoretical background needed to effectively program in C++.
Key learning objectives:
- Write C++ programs using combination of built-in and user-defined types.
- Apply principles of OOP by writing and compiling programs.
- Understand the theoretical and practical differences between C and C++.
- Utilize IDES and the command line to create and compile programs.
- #Additional Resources:
- This course uses the Moodle virtual learning environment (VLE) as a platform where you can access source codes, example programs, and teaching materials from anywhere with your internet connection.
- Online forums within the evening classes enable you to ask the tutor and your classmates various questions.
- Web sources for reference: stroustrupcplusplussgi.com/tech/stl
Outline:
The course runs once a week for 10 consecutive weeks, covering the following themes:
General language overview
, including:
- An exploration of the Standard Library
- Mastering Standard Input and Output
- Understanding Control Structures
- Learning Functions and Function Overloading
- Mastering Arrays and the string object
- An Introduction to Object Oriented Programming (OOP)
- Pointers, pointers to functions and their relationship with arrays
- Mastering dynamically allocated memory allocation using the "new" and "delete" keywords
- Understanding OOP theory: reuse, composition and inheritance
- Putting OOP into practice, focusing on creating classes, classes' members, specifying and controlling access. Learning about operator overloading.
In-depth analysis of inheritance and composition
, including:
- Understanding what is inherited, access control methods, and different syntax examples
- Learning about the keywords "static" and "this"
- Investigating polymorphism: exploring type hierarchies and the difference between early and late binding
- Mastering virtual functions and abstract base classes
- Implementing copy control mechanisms using the copy constructor, assignment operator, and destructor
- Dynamically object creation and learning more about functions returning objects
- Header guards, preprocessor directives, and how to split a program.
- Learning namespaces and keyword "using" for concise syntax
- Introduction to exceptions
- Utilizing Generic Programming and the Standard Template Library (STL)
- Implementing iterators and algorithms within containers for efficient operations
- Introduction to class templates
Revision of key OOP principles
information hiding, encapsulation, reusability, polymorphism, overloading, inheritance, and composition.
Assessment:
The course offers both formal exams and informal online practice throughout the duration that allows feedback through suggestions provided on how to enhance existing codes.
Exams:
- Formal exams are conducted after the completion of modules.
- Exams contribute 80% to 100% of final course grade.
- Each module exam contains both theoretical questions about module concepts and hands-on coding.
Informal Online Homework:
- Each module contains 2 to 3 informal online homeworks.
- Homeworks are ungraded but serve as practice exercises.
- Completion is voluntary with suggested enhancements provided upon submission. This course uses the Moodle learning platform, enabling you to access all source codes, example programs, and teaching materials anytime online via Moodle Virtual learning environment (VLE).
Teaching:
The course utilizes a blended format consisting of:
- 10 weekly lectures
- Online access to learning materials, presentations & recordings The course is delivered by instructors with industry or relevant programming and teaching experience who can guide you throughout the course. Additionally, the course:
- Offers one online session per week
- Runs 10 consecutive weeks
- Utilizes City Short Courses that follow academic years for efficient organization
- Delivers courses in three terms: Autumn, Spring, and Summer
Careers:
This C++ object-oriented programming online course equips participants with the skills to enter a range of careers in the software development industry. These include:
- Application programmer (with emphasis on C++): Develop and design software applications for computer and network.
- Systems Programmer: Write or modify system or application software
- Developer/Programmer in various other areas: Create various software applications
- Games Development: Create video/computer games
- Game Programmer, Game Software, AI Programming, VR and Game Development Programming, and more. These are just a fraction of the job openings available in today's competitive game development industry. These positions include:
- VR Engine Developer (C# and Unreal Engine)
- AI & VR Programmer
- (C++/Unreal Engineer for VR)
Other:
City University's short courses provide access to a global alumni network with a reputation built on high professional standards. This includes:
- Online access through their VLE platform for accessing course materials and resources anytime anywhere.
- Opportunities to connect with a global network of City Short Courses alumni
Course Fees and Eligibility:
Note:
Information not present in the provided context. "