• Length:
    8 Weeks
  • Effort:
    7–9 hours per week
  • Price:

    FREE
    Add a Verified Certificate for $332 USD

  • Institution
  • Subject:
  • Level:
    Intermediate
  • Language:
    English
  • Video Transcript:
    English
  • Course Type:
    Self-paced on your time

Associated Programs:

About this course

Skip About this course

This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize functions, arrays, and strings to solve problems. Students learn to program in C++ through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with bi-weekly quizzes to assess your understanding of the material Students will experience hands-on practice writing C++ programs through twelve lab challenges.
Students will not only learn to use these more advanced procedural programming functionalities. They will also learn to analyze the computational complexity of their code. Computational complexity theory focuses on classifying computational problems according to their inherent difficulty and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by the mechanical application of mathematical steps, such as an algorithm.

A problem is regarded as inherently difficult if its solution requires significant resources, whatever the algorithm used. The theory formalizes this intuition by introducing mathematical models of computation to study these problems and quantifying their computational complexity, i.e., the number of resources needed to solve them, such as time and storage.

What you'll learn

Skip What you'll learn
  1. Apply basic searching and sorting algorithms in C++ programming.
  2. Apply single-and multi-dimensional arrays in C++ programming.
  3. Analyze a C++ function to determine it’s computational complexity.

Wk 1 - Function Analysis

  • Primality Testing
  • Runtime Analysis
  • Order of Growth
  • Asymptotic Analysis

Wk 2 - Function Implementation

  • k-Combinations Problem
  • Flow of a Program
  • Runtime Stack Execution
  • Scope of Variables
  • Pass By Value
  • Parameter Passing

Wk 3 - Function Labs

Wk 4 - Arrays

  • Motivation
  • Computing the Average
  • Above The Average

Wk 5 - Array Labs

Wk 6 - Strings

  • Concatenating
  • Indexing
  • Slicing
  • Length
  • Comparing
  • Starting Index

Wk 7 - String Labs

Wk 8 - Final Exam

Meet your instructors

Aspen Olmsted
Adjunct Professor
New York University Tandon School of Engineering
Itay Tal
Industry Assistant Professor
New York University Tandon School of Engineering

Pursue a Verified Certificate to highlight the knowledge and skills you gain
$332 USD

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally