Skip to content

praveenramanujam/open_training

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Internal training for Junior Software Engineers

Basic Math

Reference: Basic Math

  • Linear Algebra
  • Analytic Geometry
  • Matrix Decompositions
  • Vector Calculus
  • Probability and Distribution
  • Continuous Optimization

C++

Reference: cme212

  • C++ keywords, identifiers and tokens
  • Pointers, arrays, strings
  • Memory management
  • Functions
  • Classes and namespaces
  • Abstractions
  • Templates and STL
    • Pair
    • vector
    • list, forward_list, deque, stack, queue, priority_queue
    • set, multiset, map, multimap, Unordered_set, unordered_map
  • Inheritance and polymorphism
  • Operator overloading
  • Encapsulation
  • Constructors and destructors
  • Parallelism, multithreaded applications and concurrency
  • Tools: UNIX, Git, Make, C++

Tools

  • Introduction to GDB, valgrind, cachegrind (profiling optimization).

Algorithms

Reference: Course252

Textbook: Cormen, Leiserson, Rivest and Stein Introduction to Algorithms, 3rd edition.

  • Algorithmic problems:
    • Sorting and searching
    • Graph algorithms:
      • Graph traversal (DFS, BFS) and applications
      • Connectivity, strong connectivity, bi-connectivity
      • Minimum spanning tree
      • Shortest path
      • Matchings
      • Network flow
    • Hard problems:
      • Traveling salesman problem
      • Longest path, Hamilton cycle
      • Boolean circuit satisfiability
      • Clique
      • Vertex cover
  • Algorithm design:
    • Divide-and-conquer
    • Graph traversal
    • Greedy
    • Dynamic Programming
    • Reductions
    • Use of advanced data structures
  • Algorithm correctness:
    • Proofs and proof techniques (assumptions, basic logic inference and induction)
    • Tree and graph properties that make graph algorithms work
    • When does the greedy algorithm work?
  • Algorithm analysis:
    • Time and space complexity
    • Asymptotic analysis: Big Oh, Little oh, Theta
    • Worst case and average case analysis
    • Lower bounds
  • Tractable and intractable problems:
    • Polynomial time algorithms
    • NP-algorithms
    • NP-hardness and NP-completeness
    • NP-Reductions

Python

Basic Robotics

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors