Course Outline
Introduction and Overview of Course Information for Government
Comparing C, C++, Java, and C# for government applications
The in-class development environment for government use
Alternative development environments suitable for government projects
C++ Programming Building Blocks for Government
The main function and standard I/O operations for government systems
- Displaying values and strings to cout for government applications
- Reading values from cin in government contexts
- Formatting output with stream manipulators for clarity and precision in government reports
Objects, constants, and references for government programming
- Declaring and initializing variables for secure government data handling
- Leveraging C++ 11/14 new keywords for enhanced functionality in government software
- Working with integer and floating-point data types for accurate government calculations
- Performing calculations and displaying results for transparent government operations
- Utilizing references for efficiency and constants for safety in government code
Defining and calling functions for government applications
- Passing arguments to functions and returning values from functions for robust government software
- Differentiating between call-by-value, call-by-reference, and call-by-address methods in government programming
- Understanding scope, duration, and initial values of variables for reliable government systems
Decisions, loops, and logic for government software development
- Making decisions with if/else statements for efficient government processes
- Distinguishing between bool and int logical values in government algorithms
- Creating if/else statement "chains" for complex government decision-making
- Implementing loops with while and for constructs for iterative government tasks
- Using C++ range-based for loops for streamlined data processing in government applications
- Applying equality, relational, and logical operators for accurate government logic
Arrays, pointers, and strings for government programming
- Declaring and using arrays and pointers for efficient data management in government systems
- Storing strings in character arrays for secure government communications
- Accessing array elements via pointers for optimized government data access
- Differentiating between pointers and references for precise government coding practices
- Utilizing the standard string class and functions for reliable government text handling
Defining C++ Classes and Objects for Government Applications
Encapsulating higher-level data types for secure government software
- Using public member functions and private data members to protect government information
- Managing protected class members for controlled access in government projects
- Implementing constructors and destructors for safe initialization and cleanup of government objects
- Utilizing the this pointer for self-reference in government classes
- Applying the class member operator (::) for clear and concise government code
Declaring, accessing, and modifying objects for government use
- Manipulating arrays of objects, pointers to objects, and references to objects for flexible government data structures
- Invoking member functions for dynamic government operations
- Defining const member functions for immutable government data
- Passing objects by value and by reference for efficient government function calls
Overloading and templates for enhanced government software
- Simplifying class interfaces for user-friendly government applications
- Understanding function signatures for precise government method definitions
- Overloading assignment (=) and insertion (<<) operators for intuitive government data manipulation
- Implementing friend functions and classes for specialized government functionality
- Explicit copy/move construction for controlled data transfer in government systems
- Avoiding default assignment and copy construction to prevent unintended side effects in government code
- Utilizing STL templates to define families of classes for scalable government solutions
Separating interfaces and implementations for modular government software
- How separation supports code reuse in government projects
- Building header files and code files for organized government development
Extending Classes via Inheritance for Government Applications
Deriving new classes from existing classes for enhanced government functionality
- Construction and destruction of derived objects for reliable government object management
- Achieving reusability through incremental extensions in government software
- Distinguishing between base classes and derived classes for structured government class hierarchies
Utilizing polymorphic functions for flexible government programming
- Overriding virtual base-class member functions in derived classes for dynamic government behavior
- Enabling runtime lookup of functions through base-class pointers and references for adaptable government systems
Managing dynamic data for secure government applications
- Allocating and deallocating memory with new and delete for efficient government resource management
- Handling errors with try and catch blocks for robust government error handling
- Avoiding memory leaks to ensure long-term stability of government software
- Utilizing lambdas and smart pointers for modern, secure government programming practices
Standards and Portability for Government Software Development
- Ensuring applicability to Windows and UNIX/Linux environments for cross-platform government solutions
- Adhering to ANSI/ISO C++ 11/14 and evolving standards for up-to-date government software development
Requirements
Testimonials (5)
General course information
Paulo Gouveia - EID
Course - C/C++ Secure Coding
Enjoyed the flexibility and variety of topics, the combination of trainings and exercises meant that I could apply what I'd learnt straight away. I also enjoyed the projects on the last day to bring everything together.
Luca Ricagni - Rockwell Collins UK Limited
Course - Advanced C++
I liked being submerged into the C++ language for 5 days - not interrupted by regular work - in a row a lot ... Personally not as experienced in C++ as my colleagues, I decided to join this course to take a deep dive. The dive triggered me hugely to learn more ... which is exactly what I wanted to achieve. I appreciated the expertise knowledge of the trainer - and that of my colleagues. The fact that topics were very quickly touched and not addressed in detail, is what I expect from an advanced course. Sometimes too quick for me to follow (but that's a known and accepted drawback from my joining this course :-)) ... but on the other hand provided me with a fairly complete overview of the subtleties of the language. Thanks a lot for presenting a course in this way! Most appreciated!!!
Jan Grauwen - Septentrio N.V.
Course - Advanced C++ Software Design
Interactivity, time for self-contained programming. I learn easier if I have the chance to find out the answer and not just telling me it. It was also a very good thing that the training was well-planned, we kept coffee pauses and the training did not lose my attention. The trainer had very deep knowledge in C++, we felt we could ask anything.
Barna Szecsi - GIS Europe SE
Course - C++ for Embedded Systems
The details on how compiler behaves depending on to the syntax usage. The "Quiz" sections are very stimulating