Fundamentals of the Program Development Cycle- Computer Architecture
- The Notion of Algorithms
- Source Code vs. Machine Code
- Compile-Time vs. Run-Time
- Software Program Architecture
- Standalone
- Client/Server
- Distributed
- Web-Enabled
- IDE (Interactive Development Environment) Concepts
- Looping Constructs
- Counter-Controlled Repetition
- Sentinel-Controlled Repetition
- Nested Control Constructs
- break and continue Statements
- Structured Programming Best Practices
Writing Methods (Functions)- Static vs. Dynamic Allocation
- Declaring Methods
- Declaring Methods with Multiple Parameters
- Method-Call Stack
- Scope of Declarations
- Argument Promotion and Casting
- Designing Methods for Reusability
- Method Overloading
Arrays- Purpose of Arrays
- Declaring and Instantiating Arrays
- Passing Arrays to Methods
- Multidimensional Arrays
- Variable-Length Argument Lists
- Using Command-Line Arguments
- Using Environment Variables
Deeper Into Classes and Objects- Controlling Access to Class Members
- Referencing the Current Object Using this
- Overloading Constructors
- Default and No-Argument Constructors
- Composition of Classes
- Garbage Collection and Destructors
- The finalize Method
- Static Class Members
Defining Classes Using Inheritance Application Development Fundamentals- Structure of a C++ Program
- Memory Concepts
- Fundamental Data Type Declarations
- Fundamental I/O Concepts
- Fundamental Operators
- Arithmetic Operators
- Logical Operators
- Precedence and Associativity
- Building and Deploying a C++ Program
- Superclasses and Subclasses
- Advantages of Using Inheritance
- protected Class Members
- Constructors in Subclasses
Increasing Convenience by Using Polymorphism- Purpose of Polymorphic Behavior
- The Concept of a Signature
- Abstract Classes and Methods
- final Methods and Classes
- Purpose of Interfaces
- Using and Creating Interfaces
- Common Interfaces of the C++ API
Files and Streams- Concept of a Stream
- Class File
- Sequential Access
- Object Serialization to/from Sequential Access Files
Fundamental Searching and Sorting- Introduction to Searching Algorithms
- Linear Search
- Binary Search
- Introduction to Sorting Algorithms
- Selection Sort
- Insertion Sort
- Merge Sort
Fundamental Data Structures- Dynamic Memory Allocation
- Linked Lists
- Stacks
- Queues
- Trees
Exception Handling- Types of Exceptions
- Exception Handling Overview
Introduction to Classes and Objects- Classes, Objects and Methods
- Object Instances
- Declaring and Instantiating a C++ Object
- Declaring Methods
- set and get Methods
- Initiating Objects with Constructors
- Primitive Types vs. Reference Types
Flow Control- Conditional Constructs
- Exception Class Hierarchy
- Extending Exception Classes
- When to Throw or Assert Exceptions
Formatted Output- printf Syntax
- Conversion Characters
- Specifying Field Width and Precision
- Using Flags to Alter Appearance
- Printing Literals and Escape Sequences
- Formatting Output with Class Formatter
Strings, Characters and Regular Expressions- Fundamentals of Characters and Strings
- String Class
- String Operations
- StringBuilder Class
- Character Class
- StringTokenizer Class
- Regular Expressions
- Regular Expression Syntax
- Pattern Class
- Matcher Class
Fundamental GUI Programming Concepts- Overview of Swing Components
- Displaying Text and Graphics in a Window
- Event Handling with Nested Classes
- GUI Event Types and Listener Interfaces
- Mouse Event Handling
- Layout Managers
, Introduction to Computer Programming & Thinking Like a Programmer
Programming Tools
Explain why we use various tools when programing
Define the four major types of tools
Lab: Setup the Development Environment'
Programming Basics
Explain why different languages have different syntax
Understand some basic features of any program
Explain why we would break a program apart
Using an IDE / Integrated Development Environment
Thinking About Objects
Define what an object is
Explain the difference between an object and a class
Design a class using a class diagram
Understand how to define a basic class
Explain how to compile and run a C++ application
Programming Constructs
Explain what variables and constants are and when to use the
Explain what arrays are and why they are used
Explain what a method is
Write if statements
Write loops
Modeling an Television Object
C++ Basics
C++ General Language Features
Basic syntax
Data types
Program flow
If/else
Loops
Intro Functions
Data Structures
Structures
Classes
Intro Object-Oriented Features
Overview of O-O concepts
Constructors/Destructors
Static (class members)
Constants
Object Relationships
Abstract Types
Dynamic Memory
Object Lifecycle
new
delete
Inheritance
Base Classes
Derived Classes
Overriding members
Abstract members and classes
Value Types vs Reference Types
Exceptions
Throwing
Catching
Defining custom exceptions
Intro C++ Standard Library
I/O classes
Collections
Utility