Introduction to Programming in C++

Course Content from Zyante
Course Number: CS101
Download Course Syllabus
Overall Rating
Content Rating

This course introduces programming in C++ and teaches the core computer science concepts of variables, branching, loops, vectors, and functions. Introduces object oriented programming with classes and inheritance. Covers use of pointers and streams. Teaches a variety of good coding practices, including iterative development, code formatting, avoiding common errors and debugging techniques.

Zyante’s Programming in C++ course provides a highly interactive “learn by doing” experience. This is especially significant for computer programming which is a hands-on field in which students learn best by trying ideas in code. Zyante’s offerings explain concepts with a variety of tools: animations, question sets, interactive exercises, and video demonstrations that both engage students and provide very effective ways of explaining concepts that students often struggle with.

Zyante has also tightly integrated various aspects of the course - the reading material, the video lecture, the self-assessment questions, the programming development environment - thus providing a clear learning path.

Universities using Zyante's offerings include: University of Texas at Austin, University of Michigan, University of Arizona, Arizona State University, Iowa State University, UC Davis, UC Riverside, UC Merced, University of Illinois at Chicago, University of South Florida, Virginia State University, University of Adelaide, University of Alaska and several others.

Coming Soon

4
college credits
Course Type Icon
Self Paced
Course Department Icon
Computer Science
Publisher Icon
8 Reviews
Overall Rating
Content Rating
  • 9/15/14 by bjh2o
    Content Rating
    Overall Rating
  • 9/15/14 by bjh2o
    Content Rating
    Overall Rating
  • 9/8/14 by adelbertavila
    I am a high school teacher and needed this for recertification. Great refresher.
    Content Rating
    Overall Rating
  • 9/8/14 by adelbertavila
    I am a high school teacher and needed this for recertification. Great refresher.
    Content Rating
    Overall Rating
  • 8/9/14 by emdenchu
    Coming from a non CS background, this course did a great job in guiding me through the basics of programming in C++. I would definitely recommend this course to students who are trying to learn programming from the ground up.
    Content Rating
    Overall Rating
  • 8/9/14 by swayamwara1
    I think it is a great course for any person learning C++ for the first time. It is extensive with a lot of codes to refer to and learning assignments as well.
    Content Rating
    Overall Rating
  • 8/9/14 by emdenchu
    Coming from a non CS background, this course did a great job in guiding me through the basics of programming in C++. I would definitely recommend this course to students who are trying to learn programming from the ground up.
    Content Rating
    Overall Rating
  • 8/9/14 by swayamwara1
    I think it is a great course for any person learning C++ for the first time. It is extensive with a lot of codes to refer to and learning assignments as well.
    Content Rating
    Overall Rating
Course Objectives

After completing this course, students will be able to:

  • Explain the basics of how a computer works, then write a first program
  • Use standard input and output, and understand common syntax errors
  • Declare and initialize variables with valid identifiers
  • Use a variety of integer data types and the concept of overflow. Use floating-point, character, and string data types
  • Convert decimal to binary and vice-versa
  • Cast between data types
  • Develop programs that branch based on user input
  • Write expressions with relational and equality operators and develop expressions with logical operators
  • Use multiple branches for more complex programs
  • Use the Boolean data type to store results of conditional statements
  • Access elements in arrays and vectors
  • Understand memory usage for single and multi-dimensional arrays
  • Combine loops and vectors, and develop programs with multiple vectors
  • Resize a vector using user-input
  • Write a C string as null-terminated string and manipulate C strings with common functions
  • Understand common errors between C string and strings. Use a library for char data-type analysis
  • Write a first function, then return from a function and parameterize a function
  • Learn reasons to use a function
  • Combine functions with branches and loops and use incremental development with functions
  • Know how to pass-by-reference to functions and to overload user-defined functions
  • Send and use arguments passed to program
  • Write makefile for modular compilation
  • Write structs for grouping data, combine structs and functions, then combine structs and vectors
  • Write classes that group functions and data
  • Initialize class variables with class constructors and overload class constructor
  • Introduce abstract data types
  • Explain the reasons for using pointers
  • Define a variable that points to a memory location, allocate and deallocate memory
  • Use different regions of program memory
  • Identify and fix memory leaks
  • Use class destructors, copy constructors, and copy assignment operator
  • Understand standard input and output implementation
  • Manipulate text and floating-points during output
  • Read input from a string with string streams
  • Input and output to a file
  • Derive a class from another class and choose the appropriate access specifier
  • Override member function of inherited class
  • Introduce polymorphism during runtime

Topic

Lesson

Subtopics

Objectives

1

Basic input and output

  • Computers and programs
  • Basic output
  • Basic input
  • Comments
  • Learn basics of how a computer works
  • Write first program
  • Use standard input and output
  • Interpret common syntax errors

2

Variables

  • Variable assignment and initialization
  • Common data types and type casting
  • Math functions and random numbers
  • Declare variables with valid identifiers
  • Learn variety of integer data types and concept of overflow
  • Use floating-point, character, and string data types
  • Convert decimal to binary and vice-versa
  • Cast between data types
  • Initialize variables and use const keyword

3

Branching

  • If-else tree
  • Multiple branches
  • Relational and logical operations
  • Develop programs that branch based on user input
  • Write expressions with relational and equality operators
  • Multiple branching for more complex programs
  • Develop expressions with logical operators
  • Use Boolean data type to store result of conditional statements

4

Loops

  • While loops and counting
  • For-loops and nested loops
  • Flow control
  • Use while loop to repeat code execution
  • Count using a while loop
  • Strengths of for-loops
  • Write nested loops
  • Use flow control to break or continue loops

5

Arrays and Vectors

  • Arrays vs vectors
  • Iterating through and modifying vectors
  • Multidimensional arrays
  • Access elements in arrays and vectors
  • Combine loops and vectors
  • Develop program with multiple vectors
  • Resize a vector using user-input
  • Understand memory usage for multi-dimensional arrays

6

Strings and C Strings

  • C strings
  • String library
  • Char library
  • Write C string as null-terminated string
  • Review common errors between C string and strings
  • Manipulate C strings with common functions
  • Introduce library for Char data-type analysis
  • 7

    Functions

    • Function declaration and definition
    • How a function works
    • Scope and parameters
    • Overloading functions
    • Compiling with separate files
    • Write first function
    • Return from a function and parameterize a function
    • Learn reasons to use a function
    • Combine functions with branches and loops
    • Use incremental development with functions
    • Pass-by-reference to functions
    • Overload user-defined functions
    • Send and use arguments passed to program
    • Write makefile for modular compilation

    8

    Classes

    • Structs for grouping data
    • Classes for grouping data and functions
    • Class constructors and constructor overloading
    • Write structs for grouping data
    • Combine structs and functions
    • Combine structs and vectors
    • Write classes that group functions and data
    • Initialize class variables with class constructors
    • Overload class constructor
    • Introduce abstract data types

    9

    Pointers

    • Store location to memory
    • Allocate and deallocate memory
    • Identify memory leaks
    • Constructs in classes to help manage memory
    • Motivate reason for using pointers
    • Point to a memory location
    • Allocate and deallocate memory
    • Use different regions of program memory
    • Identify and fix memory leaks
    • Class destructors, copy constructors, and copy assignment operator

    10

    Streams

    • Output formatting
    • String streams
    • File IO
    • Understand standard input and output implementation
    • Manipulate text and floating-points during output
    • Read input from a string with string streams
    • Input and output to a file

    11

    Inheritance

    • Derived classes
    • Access specifiers
    • Overriding functions
    • Polymorphism
    • Derive a class from another class
    • Choose the appropriate access specifier
    • Override member function of inherited class
    • Introduce polymorphism during runtime

    StraighterLine suggests, though does not require, that students take Pre-Calculus or its equivalent before enrolling in this course.

    No text required, all materials are included in the course price and available online

    Zyante, a new kind of publishing company founded in 2012, is dedicated to creating interactive animated material primarily for the challenging lower-division university courses in STEM (science, technology, engineering, and math) subjects. Rather than retargeting traditional textbooks, we create new material that takes advantage of the web to replace lengthy text passages and static figures by animations, question sets, and tools. Our "less text, more action" approach engages students and enables deeper more-intuitive understanding.

    StraighterLine provides a percentage score and letter grade for each course. A passing percentage is 70% or higher.

    If you have chosen a Partner College to award credit for this course, your final grade will be based upon that college’s grading scale. Only passing scores will be considered by Partner Colleges for an award of credit.

    There are a total of 1000 points in the course:

    Topic

    Assessment

    Points Available

    1

    Programming assignments: ASCII Art

    25

    2

    Programming assignments: Caesar’s Cipher with Lowercase Characters

    25

    2

    Quiz 1

    50

    3

    Programming assignments: Caesar’s Cipher with Alphanumeric Characters

    25

    4

    Programming assignments: Caesar’s Cipher with Sentences and Brute-Force Code Breaking

    25

    4

    Quiz 2

    50

    5

    Programming assignments: Substitution Ciphers and Brute-Force Code Breaking

    25

    5

    Midterm

    200

    7

    Programming assignments: Breaking Transposition Ciphers

    25

    7

    Quiz 3

    50

    9

    Programming assignments: Breaking Substitution and Transposition Ciphers

    25

    9

    Quiz 4

    50

    11

    Programming assignments: Cryptographic File Manager

    25

    11

    Final

    400

    Total

    1000


    Final Proctored Exam

    The final exam is developed to assess the knowledge you learned taking this course. All students are required to take an online proctored final exam in order complete the course and be eligible for transfer credit.

    Learn more about Proctored Exams

    This course introduces programming in C++ and teaches the core computer science concepts of variables, branching, loops, vectors, and functions. Introduces object oriented programming with classes and inheritance. Covers use of pointers and streams. Teaches a variety of good coding practices, including iterative development, code formatting, avoiding common errors and debugging techniques.

    Zyante’s Programming in C++ course provides a highly interactive “learn by doing” experience. This is especially significant for computer programming which is a hands-on field in which students learn best by trying ideas in code. Zyante’s offerings explain concepts with a variety of tools: animations, question sets, interactive exercises, and video demonstrations that both engage students and provide very effective ways of explaining concepts that students often struggle with.

    Zyante has also tightly integrated various aspects of the course - the reading material, the video lecture, the self-assessment questions, the programming development environment - thus providing a clear learning path.

    Universities using Zyante's offerings include: University of Texas at Austin, University of Michigan, University of Arizona, Arizona State University, Iowa State University, UC Davis, UC Riverside, UC Merced, University of Illinois at Chicago, University of South Florida, Virginia State University, University of Adelaide, University of Alaska and several others.

    Create your own custom Introduction to Programming in C++ ! Select up to courses from the list below.

    Introduction to Programming in C++   +$99.00

    Subtotal
    $99.00

    plus subscription
    Introduction to Programming in C++

    Introduction to Programming in C++

    $0.00

    Your Courses

    • {{label}}:{{options}}
    {{qty}} x {{name}}
    {{qty}} x {{name}}
    •  
    Plus Membership [?]

    Only registered users can write reviews. Please, log in or register