DO NOT DELETE THIS SECTION
Introduction to Programming in C++
CS102 | 3 Credits
Get an introduction to programming in C++ while learning the core computer science concepts like variables, loops, branching, arrays, and functions. This course makes coding approachable and practical, so you can start building real programs.
Professor:
About Introduction to Programming in C++
What You’ll Learn
In our Introduction to Programming C++ course, students get a comprehensive foundation in C++ programming fundamentals. Students begin with basic syntax, variables, and control structures including branches and loops. The course progresses through essential data structures like arrays and vectors, then advances to object-oriented programming concepts including classes, inheritance, and polymorphism. Key topics include memory management with pointers, file I/O through streams, and advanced features like templates and containers. Students explore recursive programming, exception handling, and implement common algorithms for searching and sorting. Hands-on coding practice problems and laboratory exercises reinforce theoretical concepts, preparing students for advanced programming coursework and real-world software development challenges.
- Analyze the fundamental syntax and structure of C++ programs to identify correct programming practices.
- Apply control flow structures (branches and loops) to solve computational problems.
- Implement data storage and manipulation using arrays, vectors, and other container classes.
- Design modular programs using user-defined functions with appropriate parameter passing and return values.
- Create object-oriented solutions by defining classes with appropriate data members, member functions, and inheritance relationships.
- Evaluate memory management techniques using pointers and dynamic memory allocation.
- Construct programs that handle file input/output and data streams effectively.
- Develop recursive algorithms to solve problems that can be broken down into smaller subproblems.
- Apply exception handling mechanisms to create robust programs that gracefully handle runtime errors.
- Synthesize generic programming concepts using templates and implement common searching and sorting algorithms.
StraighterLine Courses Include:
-  Self-paced workload 
-  Digital Textbooks 
-  Transcript Delivery 
-  Grade Improvement Opportunities 
-  Interactive Modules 
-  Video Lessons 
-  24/7 Tutoring & Support 
-  Access on Desktop and Mobile 
Transfer Credit in 3 Easy Steps
Pick Your Course & Enroll
Getting started is simple — no applications, waitlists, or deadlines. Just create an account, choose your course, and start learning right away.
Every course is self-paced and fully online, so you can fit learning into your life — not the other way around. With support resources included and no hidden fees, you're in control from day one.
Go at Your Own Pace
No rigid schedules, no stress. Just real online college courses you can start anytime, anywhere, and finish on your own terms.
StraighterLine courses offer interactive lessons and assignments that help you understand and retain the material, and come with everything you need to stay on track and succeed — including digital textbooks, tutoring, and real people to support you on your journey to your degree.
Transfer Your Credits, Save Thousands on Tuition
Complete your course with a 70% or higher to make your credits eligible for transfer. Then head to your Student Dashboard, select “Request Transcript,” and tell us where to send it — we’ll take it from there at no additional cost.
Not sure whether your school accepts StraighterLine courses? Our Enrollment Specialists can find out for you!
Does My School Accept This Course?
We’ll find out for you. Students have successfully transferred StraighterLine course credits to 3,000+ schools. Our Enrollment Specialists will contact your college directly to confirm your credits will transfer, so you don’t have to.
WANT US TO CHECK?Course Details
Intro to Programming in C++ teaches you object-oriented programming, covers use of pointers and streams, and provides a variety of good coding practices, including iterative development, code formatting, and variable naming schemes.
ACE-Recommended
ACE Code:
OOSL-0127
Flexible Schedule
28-day Average Course Completion
Transferred 8,500 Times
$1,500,000 Saved on I.T. Tuition
 Prerequisites
 
  There are no prerequisites for this course.
Course Text
There is no text for this course. All materials are included in the course fee.
Course Checkpoints
Checkpoint 1: Introduction to C++
- Programming
- Programming basics
- Console input
- Comments and whitespace
- Errors and warnings
- Computers and programs
- Integrated development environment
- Computer tour
- Language history
- Problem solving
- Why programming
- Why whitespace and precision matter
- C++ example: Salary Calculation
- C++ example: Married-couple names
Checkpoint 2: Variables/Assignments
- Variables and assignments (general)
- Variables (int)
- Identifiers
- Arithmetic expressions (general)
- Arithmetic expressions (int)
- Example: Health data
- Floating-point numbers (double)
- Scientific notation for floating-point literals
- Constant variables
- Using math functions
- Integer division and modulo
- Type conversions
- Binary
- Characters
- Strings
- Integer overflow
- Numeric data types
- Unsigned
- Random numbers
- Debugging
- Auto (since C++11)
- Style guidelines
- C++ example: Salary calculation with variables
- C++ example: Married-couple names with variables
Checkpoint 3: Branches
- If-else branches (general)
- Detecting equal values with branches
- Detecting ranges with branches (general)
- Detecting ranges with branches
- Detecting ranges using logical operators
- Detecting ranges with gaps
- Detecting multiple features with branches
- Common branching errors
- Example: Toll calculation
- Order of evaluation
- Switch statements
- Boolean data type
- String comparisons
- String access operations
- Character operations
- Finding, inserting, and replacing text in a string
- Conditional expressions
- Floating-point comparison
- Short circuit evaluation
- C++ example: Salary calculation with branches
- C++ example: Search for name using branches
Checkpoint 4: Loops
- Loops (general)
- While loops
- More while examples
- For loops
- More for loop examples
- Loops and strings
- Nested loops
- Developing programs incrementally
- Break and continue
- Variable name scope
- Enumerations
- C++ example: Salary calculation with loops
- C++ example: Domain name validation with loops
Checkpoint 5: Arrays/Vectors
- Array concept (general)
- Vectors
- Array iteration drill
- Iterating through vectors
- Multiple vectors
- Vector resize
- Vector push_back
- Loop-modifying or copying/comparing vectors
- Swapping two variables (General)
- Debugging example: Reversing a vector
- Arrays vs. vectors
- Two-dimensional arrays
- Char arrays / C strings
- C-String library functions
- Char library functions: cctype
- C++ example: Annual salary tax rate calculation with vectors
- C++ example: Domain name validation with vectors
Checkpoint 6: User-Defined Functions
- User-defined function basics
- Print functions
- Reasons for defining functions
- Writing mathematical functions
- Functions with branches
- Functions with loops
- Unit testing (functions)
- How functions work
- Functions: Common errors
- Pass by reference
- Using pass by reference to modify string/vector parameters
- Functions with C string parameters
- Scope of variable/function definitions
- Default parameter values
- Function name overloading
- Parameter error checking
- Preprocessor and include
- Separate files
- C++ example: Salary calculation with functions
- C++ example: Domain name validation with functions
Checkpoint 7: Objects and Classes
- Objects: Introduction
- Using a class
- Defining a class
- Inline member functions
- Mutators, accessors, and private helpers
- Initialization and constructors
- Classes and vectors/classes
- Separate files for classes
- Choosing classes to create
- Unit testing (classes)
- Constructor overloading
- Constructor initializer lists
- The ‘this’ implicit parameter
- Operator overloading
- Overloading comparison operators
- Vector ADT
- Namespaces
- Static data members and functions
- C++ example: Salary calculation with classes
- C++ example: Domain name availability with classes
Checkpoint 8: Pointers
- Pointers (General)
- Pointers and dynamically allocated arrays
- Changing the size of a dynamically allocated array
- Dynamically allocating objects
- Allocating arrays of objects
- Classes with dynamically allocated data
- String functions with pointers
- Memory regions: Heap/Stack
- Destructors
- Memory leaks
- Copy constructors
- Copy assignment operator
- Rule of three
- Smart pointers
- C++ example: Employee list using vectors
Checkpoint 9: Streams
- Output and input streams
- Output formatting
- Input string stream
- Output string stream
- File input
- C++ example: Parsing and validating input files
- File output
- C++ example: Saving and retrieving program data
- Overloading stream operators
Checkpoint 10: Inheritance
- Derived classes
- Access by members of derived classes
- Overriding member functions
- Polymorphism and virtual member functions
- Abstract classes: Introduction (generic)
- Abstract classes
- Is-a versus has-a relationships
- UML
- C++ example: Employees and overriding class functions
- C++ example: Employees using an abstract class
Checkpoint 11: Recursion
- Recursion: Introduction
- Recursive functions
- Recursive algorithm: Search
- Adding output statements for debugging
- Creating a recursive function
- Recursive math functions
- Recursive exploration of all possibilities
- Stack overflow
- C++ example: Recursively output permutations
Checkpoint 12: Exceptions
- Handling exceptions
- Throwing exceptions
- Exceptions with files
- User-defined exceptions
- C++ example: Generate number format exception
Checkpoint 13: Templates
- Function templates
- Class templates
- C++ example: Map values using a function template
Checkpoint 14: Containers
- Range-based for loop
- List
- Pair
- Map
- Set
- Queue
- Deque
- find() function
- sort() function
Checkpoint 15: Searching and Sorting Algorithms
- Searching and algorithms
- Binary search
- O notation
- Algorithm analysis
- Sorting: Introduction
- Selection sort
- Insertion sort
- Quicksort
- Merge sort
Assignments & Grading
Your score provides a percentage score and letter grade for each course. A passing percentage is 70% or higher.
Assignments for this course include:
- 15 Checkpoints
- 15 Benchmarks
What You’ll Need
- A reliable computer or laptop
- Stable internet connection
- Web browser
- Basic computer skills
- Scientific or graphing calculator
- Any required course materials
Your Academic Team
Your Faculty Team
We’re not just a platform — we’re a team of professional educators committed to your success. Our courses are built by academic professionals who are leaders in higher education, and your assignments are graded by real people who provide meaningful feedback so you can keep progressing.
Support Team
At StraighterLine, there are real people working behind the scenes to guide you through every course, quiz, and “I’m stuck” moment.
- Enrollment Services
- On-Demand Tutors
- Academic Advisors
- Tech Support
Course Professor
Tutoring & Career Resources
Your StraighterLine membership comes with the tools and guidance you need to thrive academically and take confident steps toward your career.
24/7 live, on-demand tutoring, access via chat or video
Exam and certification prep tools
Faculty Connect portal
24/7 live, on-demand tutoring, access via chat or video
Real, human feedback to help you ace your assignments
Exam and certification prep tools
Real, human feedback to help you ace your assignments
Professional development assistance
Resume-building resources
Professional development assistance
Faculty Connect portal
Resume-building resources
Students who enrolled also took:
Information Technology Fundamentals
1st attempt pass rate: 98%
Avg Days to Complete: 23
3 credits
TRY FOR FREE
Start Your Free Preview
Explore course content, your Student Dashboard, and all the features StraighterLine offers to support your success. No credit card, no commitment — see how easy it is to use StraighterLine.
Get Started FreeStudent Reviews
Transferred in 3 classes from StraighterLine to accredited university
I used Straighterline to take 3 classes (Intro to IT, Calculus, and Intro to C++) that I was able to transfer into an accredited Computer Science program. This service saved me a semester of tuition (a couple hundred bucks spent vs. a few thousand so that's a pretty good deal).
Go at Your Own Speed Like I Did!
Going at my own pace has allowed me to complete two courses within a month while working on my third course at the same time. It’s super fast and easy. My school has already received my transcripts and approved the courses.
My Shortcut to My Degree & Career!
StraighterLine had a big impact on reducing the cost and length of time it took me to get my degree. Plus, I was able to get a full-time job in the industry I wanted to work in.
Getting Started is Simple
The StraighterLine Advantage
Full flexibility, no timelines or deadlines ever.
Your own support team to get you to the finish line.
Unlimited course access so you can take as many courses as you need.
Transfer guaranteed to one of our 180+ partner schools, and accepted by 3,000+ schools nationwide.
How to Enroll in Introduction to Programming in C++
Select your course and click “Enroll Today”.
Create your account and finalize course purchase.
Start earning affordable college credits!
You’ve Got Questions, We’ve Got Answers
Why is StraighterLine so affordable?
StraighterLine offers a completely online learning experience, free from the high costs of traditional colleges and universities. By cutting out the institutional overhead, we pass the savings onto you (instead of extra costs) — providing top-quality courses at a price that fits with your budget
What is included in the price?
StraighterLine membership gives you access to over 75 self-paced online courses at a fraction of the price you’d pay through your school — meaning you’ll save up to 90% per course. But that’s not all — membership also comes with valuable extras at no extra cost, including academic advising, 24/7 on-demand tutoring, and free transcript delivery to your school
What is ACE, and why does it matter for transfer credits?
StraighterLine courses are recommended for college credit by the American Council on Education (ACE), a respected organization that helps colleges evaluate nontraditional learning for credit. If your school accepts ACE Credit recommendations, there’s a strong chance they’ll accept StraighterLine courses. Always check with your school’s registrar to confirm how transfer credits apply to your degree.
How do I transfer StraighterLine credit?
Transferring your StraighterLine credits is easy:
- Check with your school: If you’re enrolled at one of our 180+ partner colleges, your credits are guaranteed to transfer based on which of our courses your school has agreed to directly accept credit for. Plus, StraighterLine credits have also been accepted by over 3,000 colleges and universities, but it’s always a good idea to confirm your school’s transfer policies before enrolling in a course.
- Request your transcript: Once you complete a course with a 70% or higher, log into your StraighterLine account to request an official transcript. We’ll send it directly to your school at no extra cost.
- Apply your credit: Your school will review your transcript and apply eligibility credits toward your degree, helping you move forward on your academic journey.
Helpful Resources
SUPPORT
Need Help Enrolling?
Our Enrollment Specialists are here to help you get started.
BLOG ARTICLE
How Do StraighterLine Online Courses Work?
Find out what your online learning experience with StraighterLine will be like.
BLOG ARTICLE
Where Can You Transfer StraighterLine Credit?
An easy-to-understand guide on how to transfer StraighterLine credits.
BLOG ARTICLE
How StraighterLine Reduces Tuition Costs
See how StraighterLine has helped students save thousands on tuition.
C++ & Your Career in Technology
Introduction to Programming in C++ is a key building block for a career in software development and IT. By learning C++ fundamentals, you’ll gain the coding skills and problem-solving abilities that can set you on the path to roles such as software developer, systems analyst, or IT project manager.
Why it matters:
- Technology drives every industry, making IT one of the most secure career fields as we rely more on digital systems.
- Tech professionals have lower unemployment rates, even during broad economic fluctuations.
How this course sets you up for success:
Software Developer, Cybersecurity Analyst, IT Manager, Network Administrator, Systems Analyst, Cloud Engineer, Database Administrator, Web Developer, Information Security Specialist, and Computer Support Specialist
How this course sets you up for success:
Learn the fundamentals of C++ programming to get the foundation you need to succeed in software development and IT careers.
SCRIPT HERE DO NOT DELETE
 
             
             
             
             
            