This intensive course equips senior management with the knowledge and skills to develop a logistics strategy that will consistently support business objectives. PARTICIPANTS WILL LEARN HOW TO: Understand the concept of integrated logistics. Critically analyse and evaluate logistics operations. Apply solutions to problems in line with global best practices. Devise and operate effective performance measures. Learn how to create performance improvement plans. Understand how to support inbound and outbound logistic activities. COURSE TOPICS INCLUDE: Mission, strategy and policies for logistics Costs of non-performance and poor performance Logistics planning Land, air and marine transport services Materials storage, preservation and handling Waste management services HSSE policies Sustainable logistics and transport Risk management in logistics Management controls Performance measurement Sustainability
Use Pinterest To Promote Your eCommerce Store Course Overview This course is designed to provide learners with a comprehensive understanding of how to leverage Pinterest to drive traffic and sales for an eCommerce store. Participants will explore the essential elements of Pinterest marketing, from creating effective pins to utilising analytics and paid advertising strategies. The course covers best practices for designing eye-catching content, using Pinterest's tools and automation features, and incorporating rich pins to boost engagement. By the end of the course, learners will be equipped with the knowledge and skills to use Pinterest as a powerful platform to promote their online business and improve visibility in a competitive market. Course Description In this course, learners will delve into various aspects of Pinterest marketing, including the basics of pinning and creating content that resonates with target audiences. The course will explore how to use Pinterest’s features such as analytics, rich pins, and paid advertising to optimise eCommerce strategies. Learners will also understand how to create Pinterest badges and widgets, track performance metrics, and hire virtual assistants to streamline the process. By examining graphic design best practices and automation tools, participants will be able to enhance their Pinterest marketing efforts and maximise the platform’s potential for driving eCommerce growth. Use Pinterest To Promote Your eCommerce Store Curriculum Module 01: Introduction To The Course Module 02: Getting Started with Pinterest Module 03: Basics of Pinning - What You Should Know Module 04: Pinning With Your Cell Phone Module 05: Creating Pinterest Badges & Widgets Module 06: Viewing Analytics on Pinterest & Rich Pins Module 07: Tools & Automation Module 08: Hiring a Virtual Assistant to Help You With Pinterest Marketing Module 09: Paid Advertising with Your Pins Module 10: Getting Graphics Designed for Pinterest (See full curriculum) Who is this course for? Individuals seeking to promote their eCommerce store using social media. Professionals aiming to enhance their digital marketing skills. Beginners with an interest in Pinterest and eCommerce marketing. Business owners looking to increase online visibility and sales. Career Path Social Media Manager Digital Marketing Specialist Content Strategist eCommerce Manager Pinterest Marketing Expert
Sports Therapy Course Overview This Sports Therapy course is designed for individuals interested in understanding the role of therapy in sports injury management and prevention. Covering essential aspects like anatomy, kinesiology, injury assessment, and rehabilitation, the course prepares learners for a career in the field of sports therapy. It combines theoretical knowledge with practical techniques for treating a wide range of injuries, from common strains to major trauma. Upon completion, learners will be equipped to manage sports injuries effectively, offering crucial support to athletes and active individuals. This course offers an in-depth understanding of injury treatment, rehabilitation, and sports-specific therapy approaches, making it ideal for those aiming to enter the sports therapy or sports medicine sector. Course Description Throughout this course, learners will explore a wide array of topics, including injury prevention, sports nutrition, and various treatment techniques. The course delves into anatomy, kinesiology, and biomechanics, equipping students with the knowledge needed to understand the physical impact of sports on the body. Learners will gain a comprehensive understanding of injury assessment, treatment methods, and rehabilitation strategies. They will also examine the role of nutrition in performance and recovery. By the end of the course, students will have developed the skills to assess, treat, and rehabilitate a variety of sports injuries. The learning experience is structured to ensure a thorough grasp of theory, which is complemented by the understanding of its application in real-world scenarios. Sports Therapy Curriculum Module 1: Introduction to Sports Therapy Module 2: Professionalism and Ethics of Sports Therapy Module 3: Anatomy & Kinesiology Module 4: Assessment of Sports Injuries Module 5: Sports Injuries Depend on Sports Profile Module 6: Common Sports Injuries Module 7: Major Sports Injuries Module 8: First Aid Treatment Module 9: Sports Nutrition Module 10: Rehabilitation Exercise Module 11: Sports Massage Treatments Module 12: Hydrotherapy & Electrotherapy (See full curriculum) Who is this course for? Individuals seeking to pursue a career in sports therapy. Professionals aiming to enhance their knowledge of injury management. Beginners with an interest in sports and injury prevention. Anyone interested in improving their understanding of sports therapy and rehabilitation. Career Path Sports Therapist Sports Medicine Specialist Physiotherapist Personal Trainer Athletic Trainer Rehabilitation Specialist Fitness Coach Sports Nutritionist
Sports Coaching Diploma Course Overview: The Sports Coaching Diploma offers an in-depth exploration into the essential skills and knowledge required to excel in sports coaching across various disciplines. Learners will gain a comprehensive understanding of coaching techniques, motivational strategies, fitness training, and injury prevention. The course equips learners with the tools to effectively manage athletes, understand the psychological aspects of coaching, and address the unique needs of diverse athlete groups. By completing this course, learners will be prepared to pursue coaching roles in a variety of settings, from community sports programmes to professional teams. Course Description: This diploma provides learners with a broad curriculum, covering the fundamentals of sports coaching, including the psychological, motivational, and behavioural factors that influence performance. Learners will study coaching techniques tailored for various sports, along with fitness and training regimens suitable for athletes. Additionally, the course delves into management skills necessary for coaches, as well as nutritional considerations for athletes and the importance of injury prevention and rehabilitation. Ethical coaching practices and understanding the role of parents and children in sports are also explored, ensuring that learners can coach responsibly and effectively in a variety of settings. The course is designed to build a strong foundation for those looking to enhance their coaching career. Sports Coaching Diploma Curriculum: Module 01: Introduction to Sports Coaching Module 02: Psychological, Motivational, and Behavioural Training for Sports Module 03: Techniques for Sports Coaching Module 04: Physical Fitness and Training Module 05: Management Skills for a Sports Coach Module 06: Coaching for Popular Sports Module 07: Nutrition Concerns for Athletes Module 08: Sports Injury Prevention and Rehabilitation Module 09: Children and Parents in Sports Module 10: Women Coaches Module 11: Coaching and Ethical Practice (See full curriculum) Who is this course for? Individuals seeking to become qualified sports coaches. Professionals aiming to enhance their coaching skills and career prospects. Beginners with an interest in sports coaching. Anyone looking to improve knowledge of sports training and development. Career Path Sports Coach Athletic Trainer Sports Management Professional Fitness Coach Sports Consultant Coaching Educator Sports Development Officer Personal Trainer Youth Sports Coach
Customer Service Diploma Course Overview This Customer Service Diploma course provides learners with the essential skills and knowledge to excel in a customer-facing role. Covering key aspects such as customer service strategies, effective communication, and problem-solving, this course prepares individuals for a range of situations they may encounter in the customer service industry. With a focus on both interpersonal and digital communication skills, learners will gain the tools to enhance customer satisfaction and contribute to business success. By the end of the course, participants will be equipped to handle customer inquiries, complaints, and communication across various platforms effectively. Course Description The Customer Service Diploma course delves into essential aspects of customer service, including communication strategies, complaint management, and stress resilience. Learners will explore various communication channels such as telephone, email, and graphic communication, developing the ability to adapt their approach depending on the situation. Additionally, the course focuses on establishing goals, managing energy distribution, and tailoring communication styles to improve personal effectiveness. By studying these topics, participants will gain valuable skills that will empower them to thrive in customer service roles and improve both individual and organisational performance. Customer Service Diploma Curriculum Module 01: Understanding Customer Service Module 02: Focusing on the Customer Module 03: Customer Service and the Telephone Module 04: Handling Complaints Module 05: Enduring Stress Module 06: Business Communication Module 07: Verbal and Non-verbal Communication Module 08: Written Communication Module 09: Electronic Communication Module 10: Communicating with Graphics Module 11: Effectively Working for Your Boss Module 12: Identifying Goals Module 13: Effective Energy Distribution Module 14: Working with Your Personal Style Module 15: Building Your Toolbox Module 16: Establishing Your Action Plan (See full curriculum) Who is this course for? Individuals seeking to enhance their customer service skills. Professionals aiming to improve their communication and problem-solving abilities. Beginners with an interest in customer service or client relations. Those looking to pursue a career in client-facing roles across various industries. Career Path Customer Service Representative Call Centre Agent Front Desk Officer Client Relations Executive Customer Support Manager Sales Support Specialist Business Communication Specialist
Short Circuit Analysis for HV Three Phase Systems Course Overview This course on Short Circuit Analysis for HV Three Phase Systems provides an in-depth exploration of fault analysis in high voltage electrical systems. Focusing on the theoretical and practical application of various analysis methods, the course equips learners with the skills to assess and model electrical faults in three-phase systems. By covering core topics such as symmetrical and asymmetrical faults, per unit analysis, and transformer modelling, this course ensures that participants are prepared for real-world fault diagnosis and system modelling challenges. Learners will gain a thorough understanding of fault behaviour and how to perform accurate short circuit analysis, which is essential for enhancing system stability and safety. Course Description The course delves into the key aspects of short circuit and fault analysis for high voltage (HV) three-phase systems. Participants will explore various analysis techniques, including per-phase and per-unit analysis, along with the importance of base changes and transformer modelling. The course introduces symmetrical components and covers advanced topics such as asymmetrical three-phase fault analysis and system modelling. Learners will develop a clear understanding of how to assess the impact of short circuits on the electrical network and identify the appropriate mitigation strategies. The course is designed to provide learners with both the theoretical foundation and technical knowledge to perform detailed fault analysis and optimise system performance. Short Circuit Analysis for HV Three Phase Systems Curriculum Module 01: Introduction to Short Circuit Analysis for HV Three Phase Systems Module 02: Short Circuit & Fault Analysis Overview Module 03: Per Phase Analysis Module 04: Per Unit Analysis Module 05: Change of Base Module 06: Transformers & Per Unit Analysis Module 07: Symmetrical Components Module 08: Asymmetrical Three Phase Fault Analysis Module 09: System Modeling (See full curriculum) Who is this course for? Individuals seeking to understand short circuit analysis in electrical systems. Professionals aiming to enhance their knowledge in HV power system analysis. Beginners with an interest in electrical engineering and fault analysis. Engineers looking to advance their skills in power system design and fault management. Career Path Electrical Engineer Power System Analyst HV Systems Designer Electrical Maintenance Engineer Power Network Consultant Utility System Planner
Duration 3 Days 18 CPD hours This course is intended for This course is geared for experienced Scala developers who are new to the world of machine learning and are eager to expand their skillset. Professionals such as data engineers, data scientists, and software engineers who want to harness the power of machine learning in their Scala-based projects will greatly benefit from attending. Additionally, team leads and technical managers who oversee Scala development projects and want to integrate machine learning capabilities into their workflows can gain valuable insights from this course Overview Working in a hands-on learning environment led by our expert instructor you'll: Grasp the fundamentals of machine learning and its various categories, empowering you to make informed decisions about which techniques to apply in different situations. Master the use of Scala-specific tools and libraries, such as Breeze, Saddle, and DeepLearning.scala, allowing you to efficiently process, analyze, and visualize data for machine learning projects. Develop a strong understanding of supervised and unsupervised learning algorithms, enabling you to confidently choose the right approach for your data and effectively build predictive models Gain hands-on experience with neural networks and deep learning, equipping you with the know-how to create advanced applications in areas like natural language processing and image recognition. Explore the world of generative AI and learn how to utilize GPT-Scala for creative text generation tasks, broadening your skill set and making you a more versatile developer. Conquer the realm of scalable machine learning with Scala, learning the secrets to tackling large-scale data processing and analysis challenges with ease. Sharpen your skills in model evaluation, validation, and optimization, ensuring that your machine learning models perform reliably and effectively in any situation. Machine Learning Essentials for Scala Developers is a three-day course designed to provide a solid introduction to the world of machine learning using the Scala language. Throughout the hands-on course, you?ll explore a range of machine learning algorithms and techniques, from supervised and unsupervised learning to neural networks and deep learning, all specifically crafted for Scala developers. Our expert trainer will guide you through real-world, focused hands-on labs designed to help you apply the knowledge you gain in real-world scenarios, giving you the confidence to tackle machine learning challenges in your own projects. You'll dive into innovative tools and libraries such as Breeze, Saddle, DeepLearning.scala, GPT-Scala (and Generative AI with Scala), and TensorFlow-Scala. These cutting-edge resources will enable you to build and deploy machine learning models for a wide range of projects, including data analysis, natural language processing, image recognition and more. Upon completing this course, you'll have the skills required to tackle complex projects and confidently develop intelligent applications. You?ll be able to drive business outcomes, optimize processes, and contribute to innovative projects that leverage the power of data-driven insights and predictions. Introduction to Machine Learning and Scala Learning Outcome: Understand the fundamentals of machine learning and Scala's role in this domain. What is Machine Learning? Machine Learning with Scala: Advantages and Use Cases Supervised Learning in Scala Learn the basics of supervised learning and how to apply it using Scala. Supervised Learning: Regression and Classification Linear Regression in Scala Logistic Regression in Scala Unsupervised Learning in Scala Understand unsupervised learning and how to apply it using Scala. Unsupervised Learning:Clustering and Dimensionality Reduction K-means Clustering in Scala Principal Component Analysis in Scala Neural Networks and Deep Learning in Scala Learning Outcome: Learn the basics of neural networks and deep learning with a focus on implementing them in Scala. Introduction to Neural Networks Feedforward Neural Networks in Scala Deep Learning and Convolutional Neural Networks Introduction to Generative AI and GPT in Scala Gain a basic understanding of generative AI and GPT, and how to utilize GPT-Scala for natural language tasks. Generative AI: Overview and Use Cases Introduction to GPT (Generative Pre-trained Transformer) GPT-Scala: A Library for GPT in Scala Reinforcement Learning in Scala Understand the basics of reinforcement learning and its implementation in Scala. Introduction to Reinforcement Learning Q-learning and Value Iteration Reinforcement Learning with Scala Time Series Analysis using Scala Learn time series analysis techniques and how to apply them in Scala. Introduction to Time Series Analysis Autoregressive Integrated Moving Average (ARIMA) Models Time Series Analysis in Scala Natural Language Processing (NLP) with Scala Gain an understanding of natural language processing techniques and their application in Scala. Introduction to NLP: Techniques and Applications Text Processing and Feature Extraction NLP Libraries and Tools for Scala Image Processing and Computer Vision with Scala Learn image processing techniques and computer vision concepts with a focus on implementing them in Scala. Introduction to Image Processing and Computer Vision Feature Extraction and Image Classification Image Processing Libraries for Scala Model Evaluation and Validation Understand the importance of model evaluation and validation, and how to apply these concepts using Scala. Model Evaluation Metrics Cross-Validation Techniques Model Selection and Tuning in Scala Scalable Machine Learning with Scala Learn how to handle large-scale machine learning problems using Scala. Challenges of Large-Scale Machine Learning Data Partitioning and Parallelization Distributed Machine Learning with Scala Machine Learning Deployment and Production Understand the process of deploying machine learning models into production using Scala. Deployment Challenges and Best Practices Model Serialization and Deserialization Monitoring and Updating Models in Production Ensemble Learning Techniques in Scala Discover ensemble learning techniques and their implementation in Scala. Introduction to Ensemble Learning Bagging and Boosting Techniques Implementing Ensemble Models in Scala Feature Engineering for Machine Learning in Scala Learn advanced feature engineering techniques to improve machine learning model performance in Scala. Importance of Feature Engineering in Machine Learning Feature Scaling and Normalization Techniques Handling Missing Data and Categorical Features Advanced Optimization Techniques for Machine Learning Understand advanced optimization techniques for machine learning models and their application in Scala. Gradient Descent and Variants Regularization Techniques (L1 and L2) Hyperparameter Tuning Strategies
This workshop will help you create, develop and close business opportunities using a consultative approach and a value-based (not price-led) proposition. Value-based selling means working the way your customer wants to buy, not how you want to sell. It also means: In a transactional sale the customer knows the answer without help from a salesperson (or cannot see why they should choose you), or is prepared to stay with what they have. Customer decision criteria are price and convenience and customers resent time spent with (new) salespeople, mainly because the salesperson adds little or nothing to what the customer already has and just wastes time. In a consultative or value-based sale, by contrast, the customer doesn't know the answer already. The salesperson must take the role of an advisor, not just a 'product promoter'. Customers demand expertise, advice and customisation during the sales process. Often customers insist on multiple meetings with salespeople and others to develop advantages that you can bring and reduce the perceived risk of changing. In this way the salesperson often adds more value than the product or service alone. This very practical workshop will help you use proven strategies and tactics to build, manage and successfully close sustainable business opportunities using a consultative approach and a value-based (not price-led) proposition. This includes: Increased impact of your new sales conversations, presentations and proposals - leading to faster decisions and increased conversion Greater confidence, consistency and professionalism throughout the business development process Enhanced sales questioning skills and techniques, leading to better, faster and more accurate development of customer needs, problems, value and expectations Improve your people, communication, influence and persuasion skills when approaching, consulting or presenting your services and solutions How to build value at all points in the customer's buying process through your knowledge, skills and structured approach Proven ways to gain additional business and referrals from existing customers and contacts, through direct approach and lead generation Being better able differentiate your firm, your solutions, track-record and expertise clearly and accurately with tailored value statements for each stage and for each opportunity Overcome and avoid price-based objections, buying criteria and negotiation 1 Introduction and key principles of value-based selling Introduction and review of pre-course questionnaires - KPIs, personal learning objectives and key principles The main principles of value-based selling and how they benefit you and the customer How value-based selling differs from 'transactional' or 'price-based' selling The stages of the customer's buying cycle - how to identify and work through strategies for each stage The concept of structured and set-piece selling and proposing Presentation by participants: Personal sales improvement goals 2 Value-based selling strategies and skills What is value? How can one move away from a price-led agenda? How to survive and resist price pressure - six techniques A review of key competencies and skills needed for a value-based approach Strategies, case studies and examples with discussion and review Defining your initial value proposition and comparative advantage How best to established the right level of trust, rapport and credibility Planning and practice session: Strategy - mapping a value-based sales process. 3 Connecting skills Research before the meeting and the first few minutes - ways to gain instant rapport and setting the foundation for a successful outcome in a first sales call How to structure an effective first time sales call or meeting - the subtle differences that are important to master How best to differentiate your solutions and build credibility and enthusiasm early or at the start of the buying process Overcoming initial buying resistance and relaxing the prospect; gaining rapport, opening the meeting: PBC (purpose-benefit-check) and gaining agreement to proceed Planning and practice session: Connecting - first meeting with a new contact 4 Consulting - building, developing and influencing client needs Understanding the power of high-impact and third-level questions to influence people based around specific needs and solutions The importance of body language and other personal communication dynamics when asking questions; empathic listening, run-on questions, drawing out skills, summarising, etc Creating a 'disturb' approach to creating needs and opportunities and positioning your solutions Using proven advanced sales questioning techniques with greater skill: Outcome, SPIN and qualification questions 'Decision-making criteria' - tools to help you develop the relevant criteria with the customer and in doing so progress your sales opportunities more effectively Planning and practice session: Questioning skills 5 Convincing - presentation and persuading skills practice Substance and style - selecting the right tone and content to engage and enthuse your prospect Compelling benefits and reducing perceived risk - key messages to deliver Helping the customer choose your proposition - by being convincing, compelling and credible when you present Professional and effective presentation skills - with personal coaching and practice sessions The keys of influence and persuasion and the keys to convincing a new customer to choose you for the first time Planning and practice session: Role-play in presenting your solution 6 Commitment Knowing when and how to close for commitment to the next stage in your sales process, plus ways to ask for commitment professionally and effectively How to isolate, prioritise and answer objections and concerns more openly and accurately, using a consultative not a confrontational approach Deal more effectively and profitably with price objections and reduce buyer's remorse (which can lead to an 'I want to think about it' reaction and cause delay and inertia) Key negotiation skills around the closing process - getting to 'yes' Planning and practice session: Role-play in closing and negotiation skills 7 Assessed role-play - Final practice session Live role-plays There is an option for external participants to be brought in to the live training workshop to take-part in the final assessed role-play or assist with other sessions run during the course. Performance assessment - 'Dragon's Pitch' The final afternoon of the course is an assessed role-play using a prepared scenario and external 'CEO'. The assessment criteria will be agreed prior to the workshop. 8 Workshop summary and close Personal action plan and learning summary
Course Overview The Social Media Marketing Level 5 course provides a comprehensive exploration of the modern digital landscape, equipping learners with the expertise to design, implement, and manage strategic marketing campaigns across major social platforms. Through a structured learning journey, this course offers in-depth insights into the latest marketing techniques, consumer behaviour analysis, and brand growth strategies. Learners will develop a strong understanding of how to engage audiences, optimise content, and leverage data-driven approaches to drive results. By the end of the course, participants will be equipped to contribute to business success through innovative marketing initiatives, whether for personal ventures or organisational objectives. Designed for individuals at various stages of their career, this programme empowers learners to stay ahead in a competitive market by mastering dynamic digital tools and techniques essential for success in the ever-evolving world of social media marketing. Course Description Throughout the Social Media Marketing Level 5 course, learners will delve into a broad range of topics crucial to achieving success in the digital marketing arena. Starting with the fundamentals of digital marketing, the programme moves through growth hacking strategies, customer journey mapping, content development, and search engine optimisation. Dedicated modules explore platform-specific marketing techniques for Facebook, Instagram, Twitter, and YouTube, as well as mobile and e-mail marketing approaches. The course fosters the development of strategic thinking, analytical capabilities, and content management skills essential for enhancing brand visibility and audience engagement. Learners will also explore how to optimise marketing efforts based on key performance metrics and consumer insights. With a curriculum tailored to current industry standards, this course prepares individuals to navigate the complex social media landscape confidently and innovatively, ensuring they are well-positioned for career advancement and professional growth in the digital marketing sector. Course Modules Module 01: Fundamentals of Digital Marketing Module 02: Growth Hacking Module 03: Customer Journey Module 04: Content Marketing Module 05: SEO Module 06: E-Mail Marketing Module 07: Facebook Marketing Module 08: Instagram Marketing Module 09: Twitter Marketing Module 10: Youtube Marketing Module 11: Mobile Marketing (See full curriculum) Who is this course for? Individuals seeking to build a strong foundation in digital and social media marketing. Professionals aiming to enhance their marketing strategies and career progression. Beginners with an interest in exploring the world of digital branding and communication. Entrepreneurs and business owners wanting to boost their online presence. Marketing students and graduates looking to deepen their practical knowledge of social media trends. Career Path Social Media Manager Digital Marketing Executive Content Strategist SEO Specialist Brand Communications Officer Online Community Manager E-Commerce Marketing Coordinator Digital Advertising Specialist Influencer Marketing Executive Marketing Consultant
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries