Skip to main content
CS102: Introduction to Computer Science II
0%
Previous
Course Feedback Survey
Course Introduction
Course Syllabus
Unit 1: The Building Blocks of Object-Oriented Programming
1.1: Programming Paradigms
What is Computation?
Functional Programming
A Brief Review of Object-Oriented Concepts
1.2: Generic Programming and Late-Definition of Data Types
Generic Programming
Staged Generic Programming
1.3: Fundamental Concepts of Object-Oriented Programming
Objects and Classes
1.3.1: Practice Using Classes and Objects
Classes and Objects in C++
1.3.2: Practice Using Inheritance
Inheritance in C++
1.4: Insights from Experienced Programmers
Beyond Patterns: Technological Systems and the Nature of Order
The Aesthetic of Programming
Unit 1 Assessment
Unit 1 Assessment
Unit 2: C++ and Java Differences
2.1: C++ Background
History of the C Programming Language
History of C++
Introduction to C++
Features of C++
Introduction to Objects from a C++ Perspective
Compatibility of C and C++
2.2: Java Background
History of the Java Programming Language
Introduction to Programming in Java
The Mental Landscape of Java (Chapter 1)
Objects in Java
Lists and Sets
2.3: Comparing Java and C++
Comparing Java and C++
C++ vs. Java: Code to Executable
Unit 2 Assessment
Unit 2 Assessment
Unit 3: C++ Standard Template Library
3.1: History and Motivation
History of the Standard Template Library
3.2: Main Design Ideas
Standard Template Library Background
STL and its Design Principles
3.3: The Elements of C++ STL
Iterators in the C++ STL
More on the Standard Template Library
Making and Using STL Objects
C++ Reference
Function Objects
Unit 3 Assessment
Unit 3 Assessment
Unit 4: Java Container Library
4.1: Introduction
Java Collections Framework
4.2: Details
More on the Java Collections Framework
Practice: Understanding and Creating HashSets in Java
Practice: Understanding and Creating TreeSets in Java
4.3: Further Examples
Deciding Which Member of the Java Collection to Use
Examples of JCL Use
Unit 4 Assessment
Unit 4 Assessment
Unit 5: Exceptions
5.1 Introduction to Exceptions
Exception Handling
A Systematic Approach for Structuring Exception Handling in Robust Component-Based Software
5.2: The Role of Exceptions
Introduction to Correctness and Robustness
Writing Correct Programs
5.3.1: Exceptions in Java
Exceptions in Java
Java Error Handling
Exceptions and try...catch
Handling Exceptions in Java
5.3.2: Exceptions in C++
C++ Exception Handling
Exception Handling in C++
Unit 5 Assessment
Unit 5 Assessment
Unit 6: Recursion
6.1: What is Recursion?
Recursive Definitions
Recursion
6.2: Recursive Structures
Divide and Conquer Methods
6.3: Recursive Steps
Recursion in Java
Recursion in C++
6.4: Applying Recursion
Notes on Recursion
Tail-Recursive Functions
Explicit vs. Recursive Programming
Recursive Rights and Wrongs
MergeSort: A Graphical Recursive Explanation
Translating Between Recursive and Explicit Rules for Numeric Sequences
6.5.1: Examples in C/C++
Introduction to Recursion
Finding the Length of a String
Count the Number of Digits in an Integer
6.5.2: Examples in Java
Practice with Recursion: Binary Trees
Unit 6 Assessment
Unit 6 Assessment
Unit 7: Searching and Sorting
7.1: Search Algorithms
Memory and Search Methods: Binary Search, Bubble, and Selection Sorts
Linked Lists
Recursive Data Structures
Basic Tree Traversals
Searching and Hashing
7.2: Sorting Algorithms
Sorting
Quicksort
Radix Sort
7.3: Analyzing Program Efficiency
A Brief Comparison of Python and C++ Syntax
Understanding Program Efficiency, Part 1
Understanding Program Efficiency, Part 2
Unit 7 Assessment
Unit 7 Assessment
Course Feedback Survey
Course Feedback Survey
Certificate Final Exam
CS102: Certificate Final Exam
Archived Materials
Next
Side panel
Course Catalog
All categories
Arts & Humanities
Art History
Communication
English
Philosophy
Business Administration
Computer Science
English as a Second Language
Professional Development
General Knowledge for Teachers
Science and Math
Biology
Chemistry
Mathematics
Physics
Social Science
Economics
Geography
History
Political Science
Psychology
Sociology
Home
Specialization Programs
Specialization Programs
MBA Degree Program
Help
Getting Started
Help Center & FAQ
Search
Search
Search
Search
Close
Toggle search input
You are currently using guest access
Log in
Course Catalog
Collapse
Expand
All categories
Arts & Humanities
Art History
Communication
English
Philosophy
Business Administration
Computer Science
English as a Second Language
Professional Development
General Knowledge for Teachers
Science and Math
Biology
Chemistry
Mathematics
Physics
Social Science
Economics
Geography
History
Political Science
Psychology
Sociology
Home
Specialization Programs
Collapse
Expand
Specialization Programs
MBA Degree Program
Help
Collapse
Expand
Getting Started
Help Center & FAQ
Expand all
Collapse all
Open course index
CS102: Introduction to Computer Science II
Course Feedback Survey
Course Feedback Survey
Course Feedback Survey
Completion requirements
Click on
Course Feedback Survey
to open the resource.