Class Syllabus: Object Oriented Programming in C++
|  | |
|
Office Hours: |
available on email to answer all your questions
|
|
|
Course Description
This course was developed for anyone who wants to learn Object Oriented Programming and C++ Programming in particular and knows at least one programming language. This course WILL NOT teach you C Programming but knowledge of C is essential to learn C++. If you know at least one programming language but that language is not C, then you should sharpen your C skills first before taking this course. This is an Object Oriented Programming course using C++ and designed to match the standard of any C++ Programming course or Object Oriented Programming course at the graduate level. Topics include: Traditional Programming Approach, Problems with Traditional Programming Approach, Object Oriented Technique, Advantages of Object Oriented Programming, C++ Programming Features, Components of C++ Program, Keywords in C++, C++ Objects, C++ Classes, C++ Derived classes, C++ constructors, C++ destructors, C++ inline functions, C++ static functions, C++ constant functions, C++ friend, C++ Pointers, C++ Void pointers, C++ Overloading, C++ Polymorphism, C++ Virtual functions, C++ dynamic binding, C++ namespaces, C++ Standard Template Library, C++ Templates, C++ Exception Handling) . By the end of this course you will be proficient in C++ Programming and will be able to: - Write complex C++ Programs Object Oriented Programming in C++
- Understand the flow of already written complex C++ Programs
- Debug complex C++ ProgramsObject Oriented Programming in C++
Each lesson would be followed by a C++ programming assignment to master all the concepts taught in the lesson. Each assignment will require you to write a couple of C++ programs. I will be there to assist in doing the programming assignments. Learn C++ Programming, the most demanding Object Oriented Programming language. This course is not a C++ tutorial but an instructor led online course to learn Programming in C++. C++ programming exercises will require you to compile, debug and run programs in C++. Students also need to take an online quiz after completing each lesson. The Quiz will test you on C++ Programming concepts taught in the class lessons. I will be there to answer all your questions related to class lessons, programming assignments, quiz and exams. You can complete this course at your own pace and start programming in C++.
Course Requirements
You should either know one language like Java or C already. You need to have a C++ compiler. You can download a free C++ compiler from the URL provided in my Class Netlinks under the Downloads section.
Course Goals
Students who complete this course will :
- Understand Object Oriented Programming technique
- Understand differences between C and C++
- Be able to create classes and objects in C++
- Be able to write polymorphic functions
- Be able to derive classes using inheritance
- Be able to overload operators
- Be able to use C++ Input/Output System
- Be able to implement friend functions
- Be able to use STL, namespaces
- Be able to use try, catch to implement exception handling
Course Contents
Lesson 1: Introduction to Object Oriented Programming
Traditional Programming Approach
Problems with Traditional Approach
Object Oriented Approach
Advantages of Object Oriented Approach
Abstraction
Encapsulation
Data Hiding
Re-use
What do we mean by Object Oriented Development
Class
Object
Polymorphism
Inheritance
Abstract Class
Static Binding
Dynamic Binding
A little Introduction to C++
Keywords of C++
Writing the first C++ Program
Why C++
Components of a C++ Application
Beginning with Classes and Objects
Class
Class Declaration
Components of a Class
Class Data
Member Functions
Constructors
Destructors
Private Portion of a Class
Public Portion of a class
Protected Portion of a Class
Object
Simple Object Creation and Usage
Lesson 2: Classes and Objects in Detail
Inline Functions
Class Functions with default arguments
Class Constructors
Default Constructors with no arguments
Default Constructors with Initialization List
Constructors with arguments
Copy Constructor
Const Keyword
Constant Member Functions
Static Data Members
Static Functions of the class
Nested Classes
Object Arrays
this Pointer
Friend
Lesson 3: C++ and Pointers
What is a pointer
Declaration of a Pointer Variable
Initializing a Pointer Variable
Using a Pointer Variable
Pointers to Objects
Pointer Arithmetic
Why use Pointers
As Function Arguments
Pointers and Array
Dynamic Memory Allocation
New
Delete
Void Pointers
Lesson 4: Overloading
Function Overloading
Function Overloading With different number of arguments
Function Overloading - with different types of arguments
Operator Overloading
Overloading Binary Operators
Overloading Unary Operators
Operator Overloading with Friends
Lesson 5: Inheritance
Terms related to Inheritance
Base Class
Derived Class
Single Inheritance
Multiple Inheritance
Virtual Functions
Pure Virtual Functions
Abstract Class
Inheritance in C++
Single Inheritance
Protected Members
Multiple Inheritances
Lesson 6: Polymorphism
Pointers to Derived Classes
Virtual Functions
Abstract Class
Dynamic Binding
Lesson 7: C++ streams
Input Streams
Output Streams
File Streams
String Streams
Input/Output for user defined types
Lesson 8: Standard Template Library
Vector
List
Queue
Stack
Dequeue
Priority Queue
Set, Multiset
Map, Multi map
Lesson 9: Exception Handling
Try
Catch
Throw
Deriving exceptions
Standard Exceptions
Lesson 10: Templates
What are Templates?
Defining a Template
Using a template
Template Functions
Deriving a Template
Lesson 11: Namespaces
What are Namespaces?
Namespaces Aliases
Interface of a Namespace
Using Namespaces
Composing Namespaces
Grading Policy
Assignments: 73
Final Exam: 12
Quiz: 15
A = 86 +
B = 76 +
C = 66 +
D = 55 +
E = 50 +
F = below 50 in which case you fail the course
Copy Rights
No material from this course should be copied, reproduced, or distributed without the written permisson of instructor of this course.
Course Expectations
-You need to complete all lessons and their associated assignments and quizes to pass this course.
-You need to come up with any queries you have as you go along the lessons.
-To get my help on the assignments, all you need to do is to email me.
What you will receive in this package
- You will recieve my personalized instructions throughout the course.
- You will receive constant feedback on how are you are doing in the course
- You will receive the solutions to all programming exercises, assignments and quizes
- You will able to participate in ongoing discussions on course lessons
Other Related Classes in Programming C++ - Business Math 101 This course takes you through an overview of the wonderful world of business mathematics. The course is designed for a person of any age and anywhere in the world. All that is required of the learner are a computer, a connection to the internet, a c...
- Computer Basics 101 Do you find yourself intimidated by computer jargon? Would you like to have a clearer understanding (in non-jargon language) of how your computer works? Computer Basics 101 will demonstrate and explain in an easy-to-follow self-paced format. This cl...
- Electronics 101 Whether performing a minor repair, such as your phone or DVD player, or applying for a new and technology focused career, an understanding of the principles directing basic electronics will prove helpful throughout life. This course in basic electronics ...
- Excel 2007 Microsoft Excel 2007 is Microsoft's latest version of its very popular business productivity application for the management and manipulation of data. Microsoft Excel is often packaged as part of Microsoft Office that includes other applications such as M...
- MS Office 2003: Word, Excel, PowerPoint This all in one training course will provide comprehensive instruction on three popular MS Office programs: MS Word 2003, MS Excel 2003, PowerPoint 2003. MS Word 2003 T his course teaches you all the basics of MS Word, from doing simply functions li...
- MS Word 2003 It doesn't matter if you've never used MS Word before or you just want to familiarize yourself with MS Word 2003. This course teaches you all the basics of MS Word, from doing simply functions like typing in the text area to formatting text, to give the ...
- MS Word 2007 This Microsoft Word 2007 course is not only designed to give the experienced MS Word user a tour of the new version of Word, but to also introduce new MS Word users to a comprehensive look at the features and utilities that this word processing software...
- Outlook 2007 The purpose of this course is to help you understand what Outlook 2007 can do for you, whether you are familiar with Outlook 2003 or new to the application altogether. This course has been developed to be of benefit to new users of Outlook, individuals ...
- PowerPoint 2003 MS PowerPoint 2003 is probably one of the most convenient software applications in the Office suite because it allows you to do so much – easily. Whether you want to create professional presentations for the office or just brush up on your skill...
- PowerPoint 2007 The purpose of this course is to help you understand what PowerPoint 2007 can do for you, whether you are familiar with PowerPoint 2003 or new to the application altogether. One of the most noticeable changes is the new user interface called the Microsof...
- Typing and Keyboarding 101 Today, knowing how to type fast is almost a necessity in the business world. More and more corporate-world employees are being asked to create reports, sales letters, business plans, blogs, web content, forecasts and more. Knowing how to type can sav...
| | | |
| |
| |