Week 1: Introduction

  • Basic program Structure.
  • Control idioms.
  • Program Structure.
  • Compilation Cmake
  • Installation QT (Windows)
  • Debugging tutorial

Week 2: Functions

  • Introduction to functions
  • Return function
  • Functions and Arrays
  • Set of problems
  • Introduction to Recursion

Week 3: Strings

  • Class string
  • Converting from other types
  • Concatenating two strings
  • Index Access
  • Seerching with POS
  • Substring
  • String comparison
  • Modifiers (Good intro to StringStream)
  • StringStream

Week 4,5: Arrays and Pointers

  • Pointer variable.
  • Pointer operators.
  • Simples Arrays.
  • Allocating on the heaps.
  • Functions and pointers.
  • The vector class.
  • Problem set.

Week 6, 7: Class Concept

  • Creating your own classes.
  • Encapsulation.
  • Const methods.
  • Inheritance.
  • Abstraction.
  • Templates.

Week 8:Collections zoology

  • Linked List.
  • Dequeue.
  • Sets.
  • Maps.
  • Application.

Week 9: Linked Lists

  • Definition of Linked Lists.
  • Implementing a Linked list.
  • Insertion at the top.
  • Insertion at the end.
  • Insertion at index.
  • Delete node.

Week 10: Stacks and Queues

  • Concept of a Queue.
  • Array Based Queue.
  • Linked List Queue.
  • Circular Queue.
  • Applications.
  • Stacks

Week 11, 12: Recurrence

  • Basic consepts.
  • Hard Problem.
  • BackTracking.
  • Applications.

Week 13: Binary Trees

  • Implementing.
  • Search in Tree.
  • Inserting node.
  • Deleting nodes.

Week 14: Binary Search Tree.

  • Search in value.
  • Problems