Ph.D. or M.Sc. with Appropriate Experience in Computer Science or a closely related discipline
Prior Teaching Experience:
Successful teaching related to field at college or university level
Required competence, capability, skill and ability related to course content:
* Able to fluently communicate in written and spoken English.
* Must be available to attend and conduct scheduled in-person lectures
* Must be available to attend and conduct scheduled in-person office hours throughout the entire semester, attend weekly meetings, and be available to moderate online forums, if applicable.
* Must have excellent writing skills and be able to effectively critique student assessments in writing.
* The ability to communicate computer science concepts to students effectively, both in written form and verbally.
* Software development experience, with particular emphasis on C
* Demonstrated knowledge of system-level programming, manual memory management, POSIX processes and threads, shell programming, working with files, and library development.
* Proficiency in using command-line C tools, particularly gcc, gdb, and valgrind.
* Notable experience in guiding students in debugging C programs and explaining C programming concepts.
* Experience with portability concerns, and ablity to teach programming for simultaneous use of the same system-oriented C code on Linux, MacOSX and Windows platforms