• Key Areas of Expertise: Software Engineering, Computer Science, Software Project Management, Software Architecture, Robotics, Autonomous Control Systems, Artificial Intelligence, Programming Languages
• Strongest Computer Science Areas: Artificial Intelligence, Computer Graphics, Operating Systems, Computer Networks, Programming Languages, Data Structures & Algorithms, Computer Architecture, Compilers, Database Management Systems, Theory of Computation, Discrete Mathematics
• Programming Paradigms: Functional, Object-Oriented, Procedural/Imperative
• Programming Languages: C++, C, OCaml, Python, Matlab, Java
• Software Development Skills: Disciplined Software Engineering, Configuration Management Systems/Revision Control Systems, Bug Tracking Systems, Code Documentation Systems, Multi-threaded Programming, Design Patterns, Code Refactoring, Regression Testing, RTFM
• Software Development Tools: gcc, Qt Creator, MS Visual Studio, Eclipse, gdb, Code::Blocks, mex (Matlab-C interface), GNU Make, CMake, iPython, lex, yacc, git, GitHub, Subversion (svn), Unified Modeling Language (UML), Arduino IDE, Doxygen, LaTeX
• Software Development Libraries: ROS (robotics), MOOS (robotics), Boost (C++ extensions), POCO (C++ extensions), OpenGL (3D graphics), OpenCV (computer vision), BSD sockets (network programming), Gtk+ (GUI programming), MFC (GUI programming), sqlite (database), MySQL (database), GDI/GDI+ (2D graphics), pthreads (POSIX threads), lpsolve (linear program solver), DevIL (image rendering), Gambit (game theory solver), Festival (speech synthesis),
CMU Sphinx (speech recognition)
• Operating Systems: Linux, Unix, Windows, MacOS X, Android