Introduction to Computer Science II (saylor.org)

Offered by Saylor.org,
Introduction to Computer Science II (saylor.org)

This course is a continuation of the first-semester course titled CS101: Introduction to Computer Science I. It will introduce you to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. We will begin with a comparison between Java—the programming language utilized last semester—and C++, another popular, industry-standard programming language.

This course is a continuation of the first-semester course titled CS101: Introduction to Computer Science I. It will introduce you to a number of more advanced Computer Science topics, laying a strong foundation for future academic study in the discipline. We will begin with a comparison between Java—the programming language utilized last semester—and C++, another popular, industry-standard programming language. We will then discuss the fundamental building blocks of Object-Oriented Programming, reviewing what we learned last semester and familiarizing ourselves with some more advanced programming concepts. The remaining course units will be devoted to various advanced topics, including the Standard Template Library, Exceptions, Recursion, Searching and Sorting, and Template Classes. By the end of the class, you will have a solid understanding of Java and C++ programming, as well as a familiarity with the major issues that programmers routinely address in a professional setting.

Upon successful completion of this course, the student will be able to:

  • Demonstrate an understanding of the concepts of Java and C++ and how they are used in Object-Oriented Programming.
  • Demonstrate an understanding of the history and development of Object-Oriented Programming
  • Explain the importance of the C++ Standard Template Library and how basic components are used.
  • Demonstrate a basic understanding of the importance of run-time analysis in programming.
  • Demonstrate an understanding of important sorting and search routines in programming.
  • Demonstrate a detailed understanding of generic programming and principles in the standard template library.
  • Demonstrate an understanding of various types used within the standard template library in C++.
  • Demonstrate an understanding of the generic usage of templates in programming for C++ and Java.
  • Compare and contrast the features of Java and C++.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Analytic Combinatorics (Coursera) Coursera
Princeton University

Analytic Combinatorics (Coursera)

Analytic Combinatorics teaches a calculus that enables precise quantitative predictions of large combinatorial structures. This course introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations. All the features of this course are available for free. It does not offer a certificate upon completion.

Oct 5th 2026
5-12 Weeks
Real Analysis II (saylor.org) Saylor Academy
Saylor.org

Real Analysis II (saylor.org)

Real Analysis II is the sequel to Saylor’s Real Analysis I, and together these two courses constitute the foundations of real analysis in mathematics. In this course, you will build on key concepts presented in Real Analysis I, particularly the study of the real number system and real-valued functions defined on all or part (usually intervals) of the real number line.

Legacy Course
Self-Paced
C++ Programming (saylor.org) Saylor Academy
Saylor.org

C++ Programming (saylor.org)

In the first unit, we will learn the mechanics of editing and compiling a simple program written in C++. We will begin with a discussion of the essential elements of C++ programming: variables, loops, expressions, functions, and string class. Next, we will cover the basics of object-oriented programming: classes, inheritance, templates, exceptions, and file manipulation. We will then review function and class templates and the classes that perform output and input of characters to/from files. This course will also cover the topics of namespaces, exception handling, and preprocessor directives. In the last part of the course, we will learn some slightly more sophisticated programming techniques that deal with data structures such as linked lists and binary trees.

Self Paced
Self-Paced
Introduction à la programmation orientée objet (en C++) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en C++) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage C++. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en C++) ».

Oct 12th 2026
5-12 Weeks
Precalculus I (saylor.org) Saylor Academy
Saylor.org

Precalculus I (saylor.org)

Precalculus I is designed to prepare you for Precalculus II, Calculus, Physics, and higher math and science courses. In this course, the main focus is on five types of functions: linear, polynomial, rational, exponential, and logarithmic. In accompaniment with these functions, you will learn how to solve equations and inequalities, graph, find domains and ranges, combine functions, and solve a multitude of real-world applications.

Legacy Course
Self-Paced
Intermediate Algebra (saylor.org) Saylor Academy
Saylor.org

Intermediate Algebra (saylor.org)

This course is a continuation of "Beginning Algebra". Algebra allows us to formulate real-world problems in an abstract mathematical term or equation. These equations can then be solved by using techniques you will learn in this course.

Legacy Course
Self-Paced