Some syllabus:

The basics (how bullets work):

  • Number representation
  • Boolean algebra
  • Programming constructs (sequential execution, if-then-else, loops, switch/case statement)
  • Basic input and output
  • Modular programming (functions, parameter passing)
  • Data structures (arrays, lists, linked lists, queues, trees, hash tables, sets)
  • Algorithms: numeric algorithms, searching, sorting, recursion, etc.
  • Exceptions and error handling

Object oriented programming (how weapons work):

  • Objects and classes
  • Encapsulation
  • Composition and inheritance
  • Polymorphism

Design patterns (how machine guns work):

  • Factory, singleton pattern, builder, prototype
  • Adapter, facade
  • Iterator, command, mediator
  • Publisher, subscriber
  • etc.

GUI programming (how to fight a battle):

  • Event driven basics
  • Forms and controls
  • Drag and drop
  • Clipboard
  • Many other topics too numerous to name

Real programming (how to fight a war):

  • File I/O
  • Network programming
  • Regex
  • Multimedia
  • Speech
  • Encryption
  • Many other topics too numerous to name

Sounds like a lot? It is. But remember this: every ocean starts with one drop of water.