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

Learn to Teach Java: Boolean Expressions, If Statements, and Iteration (Coursera) Coursera
University of California, San Diego

Learn to Teach Java: Boolean Expressions, If Statements, and Iteration (Coursera)

Learn to program with Boolean Expressions, If Statement, and For and While Loops in Java, and prepare to teach others using the free, online interactive CS Awesome textbook. In this course for teachers we'll guide you both in learning Java concepts and skills but also in how to effectively teach those to your students.

Jun 3rd 2026
4 Weeks
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
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
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
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
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