Advanced Programming in C++

Prerequisites: This is the 2nd course in the intermediate undergraduate-level offering in the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.Introduction to Programming in C++Advanced Programming in C++Introduction to Data StructuresAdvanced Data StructuresThese topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor. Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings. 8 Weeks 7-9 Hours per week recommended
6022

Please select the start dates for your courses below.

Scheduled Start:

About This Course:

This is the 2nd course in the intermediate undergraduate-level offering in the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

  1. Introduction to Programming in C++
  2. Advanced Programming in C++
  3. Introduction to Data Structures
  4. Advanced Data Structures

These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.

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:

  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.

Meet Your Instructors:

Aspen Olmsted

Adjunct Professor at New York University Tandon School of Engineering Aspen Olmsted is an adjunct faculty member in the New York University Tandon School of Engineering in the Computer Science and Engineering department. Aspen's fulltime job is as an assistant professor and Graduate program director at the College of Charleston. He obtained a Ph.D. in Computer Science and Engineering from The University of South Carolina. Before his academic career, he was CEO of Alliance Software Corporation. Alliance Software developed N-Tier enterprise applications for the performing arts and humanities market. Dr Olmsted’s research focus is on the development of algorithms and architectures for distributed enterprise solutions that can guarantee security and correctness while maintaining high-availability. In his Secure Data Engineering Lab, Aspen mentors over a dozen graduate and undergraduate students each year

Itay Tal

Industry Assistant Professor at New York University Tandon School of Engineering Tel-Aviv University 2005 M.Sc., Computer Science Tel-Aviv University 1998 B.Sc., Computer Science and Mathematics
6022

Duration

8 Weeks

Experience Level

Intermediate

Learning Partner

New York University (NYUx)

Pacing

Self-paced

Program Type

MicroBachelors®

Subject

Computer Science