EdX

Advanced Programming in C++ (edX)

Offered by New York University, NYUx,
Advanced Programming in C++ (edX)

Learn the advanced programming topics in the C++ programming language, including functions, computation complexity, arrays and strings. This is the 2nd course in the intermediate undergraduate-level offering in the larger Programming and Data Structures MicroBachelors program.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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 Structures
-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

  • Apply basic searching and sorting algorithms in C++ programming.
  • Apply single-and multi-dimensional arrays in C++ programming.
  • Analyze a C++ function to determine it’s computational complexity.

Syllabus

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

Note: This course is currently not available.

Related Courses

HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced
Introduction to C++ (edX) EdX
Microsoft

Introduction to C++ (edX)

Get a brief introduction to the C++ language from the experts at Microsoft. C++ is a general purpose programming language that supports various computer programming models such as object-oriented programming and generic programming. It was created by Bjarne Stroustrup and, “Its main purpose was to make writing good programs easier and more pleasant for the individual programmer.”*

No sessions available
4 Weeks
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
How to Win Coding Competitions: Secrets of Champions (edX) EdX
ITMO University,ITMOx

How to Win Coding Competitions: Secrets of Champions (edX)

Enhance programming skills to boost your career and win prizes led by ITMO University, the only 6-time winner of the world’s top coding cup. Want to be the programmer hot tech companies are looking for? Take your programming skills to the next level and prove your excellence by learning how to succeed in programming competitions.

No sessions available
5-12 Weeks
AP Computer Science A: Java Programming Loops and Data Structures (edX) EdX
Purdue University,PurdueX

AP Computer Science A: Java Programming Loops and Data Structures (edX)

AP Computer Science A from Purdue University. In this computer science course, you will learn the basics of programming in the Java language, and cover topics relevant to the AP Computer Science A course and exam. This course will cover repetition statements (for, while, do-while and for-each), the array data structure, methods and recursion.

No sessions available
5-12 Weeks
Jugando con Android - Aprende a programar tu primera App (edX) EdX
Universidad Autonoma de Madrid

Jugando con Android - Aprende a programar tu primera App (edX)

Aprende a programar en Android a través de la implementación paso a paso de un juego interactivo. Según datos publicados por Gartner a nivel mundial, casi el 60% de los teléfonos vendidos en 2013 fueron teléfonos inteligentes. Alrededor del 80% de estos teléfonos llevaban en su interior el sistema operativo Android. No cabe duda, por lo tanto, de que formarse en Android es una de las mejores inversiones que puede hacer un programador en la actualidad.

No sessions available
5-12 Weeks