General
- Embedded systems
- Software architecture
- Object Oriented Design
- Schedule creation and maintenance
- Requirements gathering
- Specification writing
- Unified Modeling Language
- Design patterns
- Classroom-based instruction/community college teaching (Electronics, OOD, Programming )
Languages
- C
- C++
- Java
- Objective C
- Power PC, 68000, i386, and other assembly languages
- Perl
- Javascript/HTML/CSS/AJAX
- Unix shells
- Tcl, Expect
Tools
- GNU tool chain, CygWin
- Eclipse
- Green Hills MULTI tool chain
- Microsoft Visual Studio
- Apple XCode
- STL, Boost
- Subversion source control
- CVS source control
- Perforce source control
- PVCS source control
- Microsoft Visual Source Safe
- Microchip MPLAB
- Cypress PSoC Designer
- Enterprise Architect UML tools
- Doxygen, JavaDoc
|
Operating System Programming
- Linux kernel development
- Linux driver development
- Linux systems administration
- Pthreads programming
- LynxOS Real Time OS
- Green Hills VelOSity
- ThreadX
- MicroC/OS-II
- Windows Win32
- Mac OSX
- Phar Lap ETS
Communications
- Sockets programming
- TCP/IP, UDP, Multicast, HTTP
- Bonjour/Zeroconf
- I2C
- SPI
- RS-232, 422, 485, etc.
- USB
- HDLC, BISYNC
- SCSI
- I2S, SPDIF
- MIDI
- NMEA protocol
Hardware
- Intel 8086 - Pentium processors, real and protected modes
- Motorola 68000 processors
- Freescale ColdFire processor (5206, 5307, 5272, 5474)
- Freescale Power PC processors
- ARC processors
- Microchip PIC processors
- Atmel AVR processors
- Cypress PSoC processors
- Zilog Z80 processor
- Motorola HC11 processor
- PC-104 systems
- Flash memory technologies
- Logic Analyzers, scopes, etc.
- Basic digital hardware design
|