Introduction to C++ is an approachable textbook ideal for first-time programmers embarking on the field of computer science. Crafted with clarity, a thoughtful structure, and practical examples, this publication guides readers through the fundamental concepts of programming with C++, one of the most versatile and widely used programming languages in educational and industrial settings worldwide.
Suitable for introductory courses, this book systematically introduces the essential building blocks of programming: variables, control structures, loops, functions, arrays, structures, and an introductory overview of object-oriented programming. Each chapter is carefully sequenced to build on the previous one, fostering solid foundational knowledge and enabling students to progressively and confidently acquire their skills.
This digital textbook is complemented by more than 50 professionally produced video tutorials that explicitly demonstrate C++ syntax, clarify complex topics, and guide learners through comprehensive coding examples. These visual resources serve to enhance understanding and make programming more accessible to individuals from diverse backgrounds.
Throughout the course, learners can utilize practical exercises, including creative programming laboratories, thematic assignments, and engaging projects, designed to stimulate creativity and develop critical skills. Whether constructing a student information management system, creating a game-inspired application, or designing a menu-driven utility, learners not only refine their coding abilities but also cultivate confidence in problem-solving, approaching challenges with motivation and enthusiasm.
E-Book Overview
Introduction to C++
- Video Introduction (6:09)
- What is Programming?
- Types of Programming Languages
- History of Computers
- History of the Internet
- Why So Many Programming Languages?
- Programming "Hello World" in Different Languages
- The History of C++
- The Role of Computer Programmers and Software Engineers
- Success Tips When You’re Learning To Code
- Section 1 - Check your Knowledge
- Why We Separate Code into .h (Header) and .cpp (Implementation) Files
- Improved Compilation Efficiency and Dependency Management
- How to Separate Code into Header and Implementation Files in Xcode
- How to Separate Function Code into Header and Implementation Files in Visual Studio Community
- How to Separate Function Code into Header and Implementation Files in CLion
- Demo - Header and Implementation File (3:54)
- Module 4 - Lesson 10 - Check Your Knowledge
- Lab - A Simple Introduction App
- Lab - Podcast Host Introduction
- Lab - Sam's Coffee Shop
- Lab - Student Grade Evaluator
- Lab - Character Creator – Using Default Arguments and Function Overloading
- Lab - Travel Cost Calculator – Modular Program Design with Header and Implementation Files
- Lab - Adventure Shop - Challenge Lab
- Introduction to Parallel Arrays
- Declaring and Initializing Parallel Arrays
- Accessing and Displaying Parallel Arrays
- Modifying Data in Parallel Arrays
- Common Mistakes and Limitations of Parallel Arrays
- Real-World Examples and Use Cases
- Demo - Parallel Arrays – RPG Character Tracker (3:35)
- Module 5 - Section 3 - Check Your Knowledge
- Introduction to Searching Arrays
- Linear Search: Simple and Straightforward
- Binary Search: Fast Searching for Sorted Arrays
- Using find and binary_search (algorithm library)
- Why Learn to Code a Search Algorithm When There's a Library?
- Demo - Search Showdown – Linear vs Binary vs STL (5:00)
- Module 5 - Section 5 - Check Your Knowledge
- Introduction to Sorting Arrays
- Selection Sort: Find and Place
- Bubble Sort: The Beginner-Friendly Sort
- Introduction to the STL sort: Fast, Reliable, and Ready to Use
- Why Learn to Code Sorting Algorithms Manually?
- Demo - Leaderboard Sort – Bubble, Selection, and the STL sort (3:59)
- Module 5 - Lesson 6 - Check Your Knowledge
- Lab - Podcast Episode Organizer
- Lab - High Score Analyzer
- Lab - Conference Speaker Selector
- Lab - Conference Speaker and Topic Tracker
- Lab - Shopping Cart Summary
- Lab - Weekly Payroll Calculator
- Lab - Game Character Performance Analyzer
- Challenge Lab: Campus Resource Finder
- Challenge Lab: Team Stat Sorter
- Challenge Lab: Music Chart Sorter
- Introduction to Vectors of Objects
- Declaring a Vector of Objects
- Accessing Objects in a Vector
- Input and Output with a Vector of Objects
- Passing Vectors of Objects to Functions
- Modifying Objects in a Vector
- Searching in a Vector of Objects
- Sorting a Vector of Objects
- Lab - Combining Vectors with Menu-Driven Programs
- Module 1 - Section 1 - Check Your Knowledge