Curriculum Design and Instruction To Teach
C++ For C Programmers: An Overview of C++
and Object-Oriented Programming:
Author: Charles Hayes:
C++ is a general-purpose, high-level
programming language with low-level
facilities. It is a statically typed
free-form multi-paradigm language,
supporting procedural programming,
data abstraction, object-oriented
programming, and generic programming.
Since the 1990s, C++ has been one of
the most popular commercial programming
languages.
Special Features Of The Curriculum
Design and Instruction Include:
* Phases For Conducting a Needs Assessment:
* Curriculum Design Supplement:
* |a|. Subject-Questions-Answers:
* Curriculum Design Plan:
* Curriculum Design Goals:
* Curriculum Design Objectives:
* Instructional Goals:
* Instructional Objectives:
* Instructional Activities:
* Instructional Evaluation Techniques:
* Lesson Plans:
* Standard Vocabulary:
* Learning Objectives:
* A Limited Glimpse:
Topics Include:
* Introduction:
@ An Overview of C++ and
Object-Oriented Programming:
A. Object-Oriented Programming:
B. Why Learn C++:
C. C as a Starting Point:
D. Classes and Abstract Data Types:
E. Constructors and Destructors:
F. Overloading:
[1]. Dissection of the operator+0 Function:
G. Inheritance:
H. Moving from C++ to Java:
[1]. Dissection of the improved Program:
I. Benefits of Object-Oriented Programming:
J. Pragmatics:
K. Summary:
* Introduction:
@ Native Types and Statements:
A. Program Elements:
1. Comments:
2. Keywords:
3. Identifiers:
4. Literals:
5. Operators and Punctuators:
B. Input/Output:
C. Program Structure:
D. Simple Types:
1. Initialization:
E. The Traditional Conversions:
F. Enumeration Types:
1. Typede f Declarations:
G. Expressions:
H. Statements:
1. Assignment and Expressions:
2. The Compound Statement:
3. The if and if-else Statements:
4. The while Statement:
5. The for Statement:
6. The do Statement:
7. The break and continue Statements:
8. The switch Statement:
I. The goto Statement:
I. Pragmatics:
J. Moving for C++ to Java:
[1]. Dissection of the Moon Program:
K. Summary:
* Introduction:
@ Functions, Pointers, and Arrays:
1. Functions:
A. Function Invocation:
2. Function Definition:
3. The return Statement:
4. Function Prototypes:
A. Recursion:
5. Default Arguments:
6. Functions as Arguments:
7. Overloading Functions:
8. Inlining:
9. Scope and Storage Class:
A. The Storage Class auto:
B. The Storage Class extern:
C. The Storage Class register:
D. The Storage Class static:
E. Linkage Mysteries:
10. Namespaces:
11. Pointer Types:
A. Addressing and Dereferencing:
B. Pointer-Based Call-by-Reference:
[1]. Dissection of the order O Function:
12. Reference Declarations and
Call-by-Reference:
13. The Uses of viod:
14. Arrays and Pointers:
1. Subscripting:
2. Initialization:
15. The Relationship Between
Arrays and Pointers:
16. Passing Arrays to Functions:
17. The Char* String: A kernel
Language ADT:
18. Multidimensional Arrays:
19. Assertions and Program
Correctness:
20. Free-Store Operators new
and delete:
[1]. Dissection of the dynarray
Program:
21. Pragmatics:
A. Vector Instead of Array:
B. String Instead of char*:
22. Moving form C++ to Java:
[1]. Dissection of the SumArray
Program:
23. Summary:
* Introduction:
@ Classes:
A. The Aggregate Type struct and class:
B. Structure Pointer Operator:
C. Member Functions:
D. Access: Private and Public:
E. Classes:
F. Class Scope:
1. Scope Resolution Operator:
2. Nested Classes:
G. An Example: Flushing:
H. static and const Members:
[1]. Dissection of the salary Program:
[2]. Mutable Members:
I. The this Pointer:
J. Unions:
K. Bit Fields:
L. A Container Class Example: ch_stack:
M. Pragmatics:
N. Moving from C++ to Java:
* Introduction:
@ Constructors and Destructors:
A. Classes with Constructors:
1. The Default Constructor:
2. Constructor Initializer:
3. Constructors as Conversions:
4. Improving the point Class:
B. Constructing A Dynamically
Sized Stack:
1. The Copy Constructor:
C. Classes with Destructors:
D. An Example: Dynamically Allocated
Strings:
[1]. Dissection of the my_string Class:
E. The Class db1_vect:
1. db1_vect as a Linear Vector Type:
F. Members That Are Class Types:
G. Example: A Singly Linked List:
[1]. Dissection of the print 0 and
release 0 Functions:
H. Two-Dimensional Arrays:
I. Polynomials as a Linked List:
J. Strings Using Reference Semantics:
K. No Constructor, Copy Constructor,
and Other Mysteries:
1. Destructor Details:
L. Pragmatics:
M. Moving from C++ to Java:
N. Summary:
Curriculum Design and Instruction To Teach
C++ For C Programmers: Operator Overloading
and Conversions:
Author: Charles Hayes:
C++ is a general-purpose, high-level
programming language with low-level
facilities. It is a statically typed
free-form multi-paradigm language,
supporting procedural programming,
data abstraction, object-oriented
programming, and generic programming.
Since the 1990s, C++ has been one of
the most popular commercial programming
languages.
Special Features Of The Curriculum
Design and Instruction Include:
* Phases For Conducting a Needs Assessment:
* Curriculum Design Supplement:
* |a|. Subject-Questions-Answers:
* Curriculum Design Plan:
* Curriculum Design Goals:
* Curriculum Design Objectives:
* Instructional Goals:
* Instructional Objectives:
* Instructional Activities:
* Instructional Evaluation Techniques:
* Lesson Plans:
* Standard Vocabulary:
* Learning Objectives:
* A Limited Glimpse:
Topics Include:
* Introduction:
@ Operator Overloading and Conversions:
A. ADT Conversions:
B. Overloading and Function Selection:
1. Dissection of the rational Program:
C. Friend Functions:
D. Overloading Operators:
E. Unary Operator Overloading:
F. Binary Operator Overloading:
G. Overloading Assignment and
Subscripting Operators:
[1]. Dissection of db1_vect::operator=0 Function:
H. Polynomial: Type and Language Expectations:
I. Overloading I/0 Operators >:
J. Overloading Operator 0 for Indexing:
[1]. Dissection of the Class matrix:
K. Overloading the Pointer Operator ->:
L. Overloading new and delete:
M. Pragmatics:
1. Signature Matching:
N. Moving from C++ to Java:
O. Summary:
* Introduction:
@ Templates, Generic Programming,
and STL:
A. Template Class stack:
B. Function Templates:
1. Signature matching and Overloading:
C. Class Templates:
1. Friends:
2. Static Members:
3. Class Template Arguments:
4. Default Template Arguments:
5. Member Templates:
D. Parameterizing the Class vector:
E. STL:
1. STL Example Code:
F. Containers:
1. Sequence Containers:
[1]. Dissection of the stl_vect
Program:
2. Associative Containers:
3. Container Adapters:
G. Iterators:
1. The istream_iterator and
ostream_iterator:
2. Iterator Adapters:
H. Algorithms:
1. Sorting Algorithms:
2. Nonmutating Sequence
Algorithms:
3. Mutating Sequence Algorithms:
4. Numerical Algorithms:
I. Numerical Integration Made Easy:
J. Pragmatics:
K. Moving form C++ to Java:
L. Summary:
* Introduction:
@ Inheritance:
A. A Derived Class:
1. Typing Conversions and Visibility:
2. Virtual Functions:
3. Abstract Base Classes:
4. Templates and Inheritance:
5. Multiple Inheritance:
6. Inheritance and Design:
A. Subtyping Form:
B. Code Resuse:
7. Runtime Type Identification:
8. Pragmatics:
9. Moving from C++ to Java:
10. Summary:
* Introduction:
@ Exceptions:
A. Using the assert Library:
B. C++ Exceptions:
C. Throwing Exceptions:
1. Rethrown Exceptions:
2. Exception Expressions:
D. Try Blocks:
F. Handlers:
G. Exception Specification:
H. terminate 0 and unexpected 0:
I. Example Exception Code:
J. Standard Exceptions and Their Uses:
K. Pragmatics:
L. Moving from C++ to Java:
M. Summary:
* Introduction:
@ OOP Using C++:
A. OOP Language Requirements:
1. ADTs: Encapsulation and Data
Hiding:
2. Reuse and Inheritance:
3. Polymorphism:
B. OOP: The Dominant Programming
Methodology:
C. Designing with OOP in Mind:
D. Class-Responsibility-Collaborator:
E. Design Patterns:
F. Moving From C++ to Java:
G. Summary:
* STATE OF THE ART CURRICULUM DESIGN:
* NEW:
* ASSII CHARACTER CODES:
* OPERATOR PRECEDENCE AND ASSOCIATIVITY:
* LANGUAGE GUIDE:
* INPUT/OUTPUT:
* STL AND STRING LIBRARIES:
* DIAGRAMS:
* CHARTS:
* ILLUSTRATIONS
* PHOTOS:
* BIBLIOGRAPHY:
* REFERENCES:
* PAPERBACK:
* TRANSPARENT FRONT PAGE:
* BLACK-WHITE-RED OR BLUE BACK PAGE COVER:
* BINDED WIRE-0: BLACK-WHITE-RED OR BLUE:
* 500 PAGE OF WHITE PAPER: 8X11"
* ALLOW 4 TO 6 WEEKS TO RECEIVE ITEM:
* ORDER EARLY WHILE SUPPLIES LAST: