English | MP4 | AVC 960×540 | AAC 44KHz 2ch | 13 Hours | 8.34 GB
Considering how many hours we spend with computers—phones, laptops, even “smart” screens on our home appliances—it’s easy to feel like they control us. But, in fact, we control them. Or, we do if we know how to use them.That’s what computer programming gets to the heart of: taking command of the most powerful, versatile, and productive machines ever invented. And among the array of programming languages designed to get computers doing exactly what we want, C++ ranks as one of the most efficient, powerful, and popular.
Introduction to C++: Programming Concepts and Applications is a 24-lecture, step-by-step guide to this celebrated computer language, which is well suited to a multitude of coding projects. Taught by award-winning Professor John Keyser of Texas A&M University, the course quickly moves from basic principles to more advanced concepts in coding. Anyone curious about how software works will find it an accessible path to computer literacy and to understanding how programmers think across a range of programming styles.
In widespread use since the 1990s, C++ has become ubiquitous in business, science, education, and entertainment. The program’s countless applications include:
- Personal computing and web browsing: C++ underlies key sections of major operating systems, such as Microsoft Windows, Mac OS, and Linux. Plus, many popular websites are written at least partly in C++, including YouTube, Facebook, Amazon, PayPal, and Google’s search engine.
- Embedded control systems: Computer control through C++ is at the heart of a multitude of complex systems—from CT scanners and automobiles to wind turbines, ships, airplanes, and rockets. Even on faraway Mars, NASA rovers guide themselves across the planet with the aid of C++.
- Games, business transactions, and more: The efficiency of C++ makes it ideal for video games, which require flexible programming and lightning speed. The same qualities apply to any performance-critical code, such as stock trading, telecommunications, and computer-aided design.
Learn to Code
For all of its sophistication, C++ was designed to be straightforward, logical, and adaptable to any programming style. It succeeded beyond its developer’s most optimistic projections, paving the way for coders to work at every level—from manipulating individual computer bits to tackling the heights of abstract programming, where a single concept can apply across a wide range of applications.
Along with Professor Keyser’s detailed, informative instruction, this course also gives you helpful tools like a 20-minute “quick-start” guide, which can help you log on to a web-based programming editor with your computer, or other device. Heavily illustrated, the course features onscreen code that follows Professor Keyser’s many examples, reproducing what you’ll see as you program along with him.
Introduction to C++ also includes an extensive guidebook that features dozens of coding problems, a syntax guide, a glossary, and direct links to code files used in the course.
From Loops to Artificial Intelligence
C++ was created to incorporate all of the more “machine level” features of the language C, while also adding more higher-level abilities in all the major programming styles. The name “C++” alludes, playfully, to an incrementing operator “++,” whose effect is to increase a variable by one unit. “C++” therefore signals a program that goes one better than C. Indeed, it goes considerably beyond that. Here are the major programming styles available in C++:
- Procedural programming: Reflecting one of the earliest styles of programming, this approach gives the computer step-by-step instructions, organized into separate functions. With patience, procedural programming is as easy to grasp as a set of directions to reach a destination—which can be simple or complex, depending on where you are going.
- Object-oriented programming: This is where C++ makes a giant leap beyond C. Object-oriented programming mirrors the nature of many real problems. For example, if you are designing code for a series of games, it can be very helpful to design the features that all the games have in common (having a board, taking turns, and so on) separately from the rules and other features specific to each game. This is where concepts such as classes, encapsulation, inheritance, and polymorphism all come to life.
- Generic programming: Also improving on C is the ability to handle ideas that are so general that they are not confined to a specific type of data. By creating templates that specify different ways of handling information, regardless of what it is, a level of automation is achieved that saves substantial time in coding.
Focusing on these three broad approaches, you cover the full range of techniques in the C++ toolkit, from the basics of sequential programming with loops and conditionals, through procedural programming with functions, through object-oriented programming with classes, and through generic programming and the use of the Standard Template Library (STL). And in the last lecture, you draw on your accumulated knowledge from object-oriented programming and generic algorithms to design a program that can play a game with human-like intelligence—a hallmark of the exciting field of artificial intelligence.
Coding Strategies to the Rescue
In several lectures spread across the course, Professor Keyser also introduces you to strategies that will come to your rescue when the inevitable coding problems arise. A good example is debugging—a crucial step for any program and one avoided, or approached poorly, by many novice programmers. Professor Keyser demonstrates following six steps when you get a dreaded error message: isolate the error, narrow in on the failure point, identify the problem, fix the problem, test the code, and finally consider similar cases where the error you’ve fixed might reappear elsewhere in your program. “There is no shortcut,” he advises. “You’ve got to use your brain”—which is exactly what he teaches you to do throughout this stimulating course.
By the end of Introduction to C++, you will be primed to take your programming skills to the next level in three areas:
- Master greater programming complexity: Students in university computer science programs usually go here next, learning new approaches to writing algorithms and structuring data—goals that C++ can meet with flexibility to spare.
- Focus on specific applications: After learning the impressive capabilities of C++, you may want to focus on applications that hold special interest for you, whether it’s computer graphics, games, data analytics, or some other programming field.
It’s little wonder that C++ is one of the most in-demand programming languages ever developed. And in this superbly taught course, you will find that learning C++ is also an eminently enjoyable adventure.
What’s New about the C++ Guidebook?
Because the Introduction to C++ Programming course is for computer users, we chose to omit the print guidebook and focus instead on creating an enhanced digital guidebook.
- rich, in-depth coverage of lecture content at the level of a companion book
- code presented in the lecture, in a format that can also be copied directly to your computer
- four-color layout that enhances readability of code, callouts, diagrams, key terms, and more
- “landscape” layout with text and code presented on same page
- many hyperlinks that enhance navigation and ease of use
- quizzes that include basic interactivity
- hyperlinked glossary
- C++ syntax guide
We hope users like this enhanced format and find it MORE helpful than a printed guidebook. For users that prefer printed materials, a printed transcript book of this course is available for purchase. However, most users will be much BETTER served by the enhanced digital guidebook for this course.
1 Compiling Your First C++ Program
2 C++ QUICK START: With Browser or Download
3 Variables, Computations, and Input in C++
4 Booleans and Conditionals in C++
5 Program Design and Writing Test Cases in C++
6 C++ Loops and Iteration
7 Importing C++ Functions and Libraries
8 Arrays for Quick and Easy Data Storage
9 Vectors for Safe and Flexible Data Storage
10 C++ Strings for Manipulating Text
11 Files and Stream Operators in C++
12 Top-Down Design and Using a C++ Debugger
13 Creating Your Own Functions in C++
14 Expanding What Your Functions Can Do in C++
15 Systematic Debugging, Writing Exceptions
16 Functions in Top-Down and Bottom-Up Design
17 Objects and Classes: Encapsulation in C++
18 Object-Oriented Constructors and Operators
19 Dynamic Memory Allocation and Pointers
20 Object-Oriented Programming with Inheritance
21 Object-Oriented Programming with Polymorphism
22 Using Classes to Build a Game Engine in C++
23 C++ Templates, Containers, and the STL
24 C++ Associative Containers and Algorithms
25 Artificial Intelligence Algorithm for a Game