Imperative Programming
Digital Electronics
Operating Systems
Discrete Mathematics
Communication Skills