Object Oriented Programming with C++ Training Course
Object-Oriented Programming in C is an approach to applying object-oriented principles such as encapsulation, inheritance, and polymorphism using the C programming language.
This instructor-led, live training (online or onsite) is aimed at developers who wish to use C to design and build modular, maintainable, and scalable applications using object-oriented techniques.
By the end of this training, participants will be able to:
- Install and configure a C development environment for structured programming.
- Apply object-oriented design principles using C constructs such as structs and function pointers.
- Implement encapsulation and abstraction in C programs.
- Design reusable and maintainable code using object-oriented patterns in C.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
- Overview
- Characteristics
- Function Overloading
- Scope Resolution Operator
- Classes in C++
- Access Specifiers
- Constructor, Destructor
- Static members, Functions
- Friend Classes, Friend Functions
- Operator Overloading
- Data Conversions
- Inheritance, Polymorphism
- Exception Handling, Templates
- Input and Output Streams
Requirements
- An understanding of basic programming concepts such as variables, loops, and functions
- Experience with C programming fundamentals
- Basic knowledge of software development concepts
Audience
- C programmers who want to learn object-oriented programming techniques
- Software developers transitioning from procedural to object-oriented design
- Engineers and programmers interested in structuring large-scale C applications
Custom Corporate Training
Training solutions designed exclusively for businesses.
- Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
- Flexible Schedule: Dates and times adapted to your team's agenda.
- Format: Online (live), In-company (at your offices), or Hybrid.
Price per private group, online live training, starting from 1300 € + VAT*
Contact us for an exact quote and to hear our latest promotions
(*The final price may vary depending on the technical specialization of the course, the level of customization, the method of delivery and the number of learners)
Need help picking the right course?
info@nobleprog.pt or +351 30 050 9666
Object Oriented Programming with C++ Training Course - Enquiry
Testimonials (1)
Good examples, focus on most useful material
Piotr Sowinski - Intel Technology Poland
Course - Object Oriented Programming with C++
Provisional Upcoming Courses (Contact Us For More Information)
Related Courses
Advanced Embedded Systems Development
35 HoursThis instructor-led, live training in Portugal (online or onsite) is designed for engineers keen on mastering embedded C to program diverse microcontrollers across various processor architectures (8051, ARM CORTEX M-3, and ARM9).
Arduino Programming for Beginners
21 HoursIn this instructor-led, live training in Portugal, participants will learn how to program the Arduino for real-world applications, such as controlling lights, motors, and motion detection sensors. This course assumes the use of real hardware components in a live lab environment (not software-simulated hardware).
By the end of this training, participants will be able to:
- Program Arduino to control lights, motors, and other devices.
- Understand Arduino's architecture, including inputs and connectors for add-on devices.
- Add third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to extend Arduino's functionality.
- Understand the various options in programming languages, from C to drag-and-drop languages.
- Test, debug, and deploy the Arduino to solve real world problems.
Buildroot: a Firmware Generator for Embedded Systems
7 HoursBuildroot is an open-source project comprising scripts that generate a cross-compilation toolchain, a customizable root filesystem image, and a Linux kernel tailored for embedded devices. In this hands-on course, participants will learn how to utilise Buildroot effectively:
- How to select software to include in the root filesystem.
- How to add new packages and modify existing ones.
- How to add support for new embedded boards.
Throughout the course, participants will produce bootable filesystem images. Remote courses are delivered using the QEMU emulator, while in-person sessions allow the use of either QEMU or real embedded boards at the trainer's discretion.
Other projects with similar objectives include the Yocto project and OpenWRT. Please consult these presentations to help determine which solution best suits your needs.
Circuits and Electronics Fundamentals
14 HoursThis instructor-led, live training in Portugal (online or onsite) is designed for engineers and computer scientists who wish to apply the fundamental principles of circuits and electronics to design devices and systems that utilize the properties of electrical components for the development of hardware functionalities.
By the end of this training, participants will be able to:
- Set up and configure the necessary tools and software for circuit and circuit board development.
- Grasp the basic principles underlying circuits and electronics engineering.
- Utilize primary electronic components to construct efficient computer hardware technologies.
- Optimize electronic devices by implementing circuit analysis methods.
- Apply the fundamentals of electronics and circuits to the development of enterprise applications.
Digital Signal Processing (DSP) Fundamentals
21 HoursThis instructor-led live training in Portugal (online or onsite) is aimed at engineers and scientists who wish to learn and apply DSP implementations to efficiently handle different signal types and gain better control over multi-channel electronic systems.
By the end of this training, participants will be able to:
- Setup and configure the necessary software platform and tools for Digital Signal Processing.
- Understand the concepts and principles that are foundational to DSP and its applications.
- Familiarize themselves with DSP components and employ them in electronics systems.
- Generate algorithms and operational functions using the results from DSP.
- Utilize the basic features of DSP software platforms and design signal filters.
- Synthesize DSP simulations and implement various types of filters for DSP.
Electronic Control Unit (ECU) - Practical Vector
28 HoursThis instructor-led, live training in Portugal (online or onsite) is designed for intermediate-level automotive engineers and technicians who wish to acquire hands-on experience in testing, simulating, and diagnosing ECUs using Vector tools such as CANoe and CANape.
By the end of this training, participants will be able to:
- Comprehend the role and function of ECUs in automotive systems.
- Set up and configure Vector tools such as CANoe and CANape.
- Simulate and test ECU communication on CAN and LIN networks.
- Analyze data and perform diagnostics on ECUs.
- Create test cases and automate testing workflows.
- Calibrate and optimize ECUs using practical approaches.
Electronic Control Unit (ECU) - Theoretical Vector
21 HoursThis instructor-led, live training in Portugal (online or onsite) targets intermediate-level automotive engineers and embedded systems developers who wish to understand the theoretical aspects of ECUs, focusing on Vector-based tools and methodologies used in automotive design and development.
By the end of this training, participants will be able to:
- Understand the architecture and functions of ECUs in modern vehicles.
- Analyze communication protocols used in ECU development.
- Explore Vector-based tools and their theoretical applications.
- Apply model-based development principles to ECU design.
Learning Vivado
14 HoursThis instructor-led live training in Portugal (online or onsite) is aimed at FPGA developers who wish to use Vivado to design, debug, and implement hardware solutions.
By the end of this training, participants will be able to:
- Develop HDL systems with C code and Vivado tools.
- Generate and implement soft processors in Vivado.
- Test and simulate C code using Vivado.
LEDE: Set Up a Linux Wireless Router
7 HoursThe LEDE Project (Linux Embedded Development Environment) is a Linux operating system built upon OpenWrt. It serves as a full replacement for vendor-supplied firmware across a broad spectrum of wireless routers and non-network devices.
In this instructor-led live training, participants will learn how to set up a LEDE-based wireless router.
Audience
- Network administrators and technicians
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Deploying AI on Microcontrollers with TinyML
21 HoursThis instructor-led, live training in Portugal (online or onsite) targets intermediate-level embedded systems engineers and AI developers who aim to deploy machine learning models on microcontrollers using TensorFlow Lite and Edge Impulse.
By the end of this training, participants will be able to:
- Understand the fundamentals of TinyML and its benefits for edge AI applications.
- Set up a development environment for TinyML projects.
- Train, optimize, and deploy AI models on low-power microcontrollers.
- Use TensorFlow Lite and Edge Impulse to implement real-world TinyML applications.
- Optimize AI models for power efficiency and memory constraints.
Microcontroller Design
35 HoursThis instructor-led, live training in Portugal (available online or on-site) is designed for engineers who wish to master the design principles of microcontrollers.
Raspberry Pi for Beginners
14 HoursThe Raspberry Pi is a compact, single-board computer.
In this instructor-led live training, participants will acquire the skills to configure and program the Raspberry Pi to function as a robust and interactive embedded system.
Upon completion of this training, participants will be able to:
- Configure an IDE (Integrated Development Environment) to maximise development productivity
- Program the Raspberry Pi to control devices such as motion sensors, alarms, web servers, and printers
- Comprehend the Raspberry Pi's architecture, including its inputs and connectors for add-on devices
- Navigate the various options available in programming languages and operating systems
- Test, debug, and deploy the Raspberry Pi to address real-world problems
Audience
- Developers
- Hardware/software technicians
- Technical professionals across all industries
- Hobbyists
Course Format
- A blend of lectures, discussions, exercises, and extensive hands-on practice
Note
- The Raspberry Pi supports a wide range of operating systems and programming languages. This course utilises the Linux-based Raspbian operating system and Python as the programming language. Should you require a specific setup, please contact us to make arrangements.
- Participants are responsible for procuring their own Raspberry Pi hardware and components.
Tensorflow Lite for Microcontrollers
21 HoursThis instructor-led, live training in Portugal (online or on-site) is tailored for engineers who wish to create, load, and operate machine learning models on compact embedded devices.
Upon completion of this training, participants will be capable of:
- Installing TensorFlow Lite.
- Loading machine learning models onto an embedded device to facilitate speech detection, image classification, and other tasks.
- Integrating AI capabilities into hardware devices independently of network connectivity.
Yocto Project
28 HoursIn this instructor-led live training Portugal, participants will learn how to create a build system for embedded Linux based on the Yocto Project.
By the end of this training, participants will be able to:
- Understand the fundamental concepts behind a Yocto Project build system, including recipes, metadata, and layers.
- Build a Linux image and run it under emulation.
- Save time and energy building embedded Linux systems.
The Yocto Project - An Overview - hands-on
28 HoursDescription
This four-day training programme blends theoretical knowledge with practical exercises to introduce the Yocto Project.
It addresses frequently asked questions such as:
- Is it truly necessary to utilise a different version of the toolchain, libraries, and packages for every GNU/Linux project, along with adhering to a distinct workflow?
- Can you guarantee that the development environment remains identical for all developers and suppliers, ensuring that builds produced today remain reproducible and identical more than ten years from now?
- Can the YP help identify the software licenses under which the packages you utilise are licensed?
Hands-on sessions are conducted on target hardware (e.g., Beagle Bone Black Rev. C - http://beagleboard.org/BLACK). Upon completion of the training, you will receive a Docker image containing Ubuntu 14.x with all dependencies pre-installed, along with examples, enabling you to work with the course material in your own lab environments. Please note that this is not an introductory course for Embedded GNU/Linux. You should already possess knowledge of how Embedded GNU/Linux operates, as well as how to configure and build the GNU/Linux kernel and kernel drivers.
Who should attend?
This training is for those who already use GNU/Linux in their projects and have likely heard about the Yocto Project but have hesitated to explore it further, or have encountered difficulties using it. If you are unsure whether and how your daily workflow can be adapted to the YP, and generally find the YP rather complex, questioning the necessity given that previous methods were (supposedly) simpler, this course will help you decide whether the YP is suitable for your needs. The workshop is designed for software, development, and system engineers, testers, administrators, and other professionals interested in the YP, provided they have a solid understanding of Embedded GNU/Linux.