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

Introduction to Statistics (saylor.org) Saylor Academy
Saylor.org

Introduction to Statistics (saylor.org)

The purpose of this course is to introduce you to the subject of statistics as a science of data. There is data abound in this information age; how to extract useful knowledge and gain a sound understanding in complex data sets has been more of a challenge. In this course, we will focus on the fundamentals of statistics, which may be broadly described as the techniques to collect, clarify, summarize, organize, analyze, and interpret numerical information.

Self Paced
Self-Paced
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Nov 2nd 2026
5-12 Weeks
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.

Nov 2nd 2026
5-12 Weeks
Multivariable Calculus (saylor.org) Saylor Academy
Saylor.org

Multivariable Calculus (saylor.org)

Multivariable Calculus is an expansion of Single-Variable Calculus in that it extends single variable calculus to higher dimensions. You may find that these courses share many of the same basic concepts, and that Multivariable Calculus will simply extend your knowledge of functions to functions of several variables.

Legacy Course
Self-Paced
Mathematical Logic and Theory of Computation (saylor.org) Saylor Academy
Saylor.org

Mathematical Logic and Theory of Computation (saylor.org)

Mathematics is about structure, about reasoning, and about modeling. This course braids these three threads together. Mathematical logic began as the study of the reasoning used in mathematics, but it turns out to be useful in describing the mathematical concept of structure and in modeling automated reasoning—that is, modeling computation.

Legacy Course
Self-Paced
Real Analysis I (saylor.org) Saylor Academy
Saylor.org

Real Analysis I (saylor.org)

This course is designed to introduce you to the rigorous examination of the real number system and the foundations of calculus of functions of a single real variable. Analysis lies at the heart of the trinity of higher mathematics – algebra, analysis, and topology – because it is where the other two fields meet.

Legacy Course
Self-Paced