Ph.D. or M.Sc. with Appropriate Experience in Computer Science or a closely related discipline
Prior Teaching Experience:
Post-secondary teaching of a similar course
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 office hours throughout the entire semester.
* Extensive software development experience, with particular emphasis in the area of C and Java.
* Demonstrated knowledge of the compilation process as well as interpreters, overall design implementation of a compiler, techniques for parsing, building and manipulating intermediate representations of a program, implementation of important features, code generation, and optimization
* Must have excellent writing skills and be able to effectively critique student assignments in writing.
* The ability to communicate computer science concepts to students effectively, both in written form and verbally.
* Demonstrated knowledge and mastery in the field of computational theory and its major theoretical constructs.
* Demonstrated knowledge and mastery in Context-Free Grammars (CFGs) and Regular Expressions implmentation strategies.
* Familiar with Linux systems and commands.