Programming C++ Advanced)

Learning Outcomes:

At the end of this course students will be able to:

  1. Prerequisites:Programming in C++ Basic. This course is a continuation of Programming in C++ Basic.
  2. Object-oriented problem solving and programming techniques
  3. Provide a thorough study of methods, including passing parameters into and out of methods and overloading them
  4. Understand object-oriented concepts of inheritance and exception
  5. Object-oriented programming: encapsulation, polymorphism (including dynamic binding), inheritance
  6. Static allocation vs. dynamic allocation of memory
  7. Basic algorithmic analysis techniques are introduced.
  8. Elementary data structures such as lists, stacks, queues, trees and graphs are introduced.
  9. Software engineering principles are explored using an object-oriented language

Course Content/Outline

Module 1

  1. Procedural Programing and Object Oreinted Programing
  2. Object Orinted Concepts
  3. Uderstanding classes
  4. Implementing classes and data incapsulation
  5. Quiz 1

Module 2

  1. Understading and creating contructors and distructions
  2. Object and Abstract Data Type.
  3. Creating Objects using pointers
  4. Implemeting Polymorphsim and Overloading
  5. Quiz 2

Module 3

  1. Implementing inheritance
  2. Static allocation vs. dynamic allocation of memory
  3. Data Abstractions: Arrays, Aggregates, Lists, Trees
  4. Stacks Heap and Queues
  5. Final Exams

There will be hands-on in each lesson. There will be an Assingnment after each class or lesson. Students will submit a final class project