You must have the following:
-
CSC 416 or equivalent courses on data structures (linked
lists, stacks and queues, trees, heaps and priority
queues, hash tables, graphs) and some theoretical topics
(automata, regular languages, grammars, and context-free
languages).
-
CSC 224 (or 211 and 212) or equivalent experience
programming in Java.
This course is not an introduction to Java. You will be
expected to be proficient enough in Java to complete the first
homework assignment with little to no difficulty.
If you do not have 416 or java experience, drop now.
Useful, but optional:
-
CSC 447 Programming Languages (machine models and basic language principles)
-
SE 430 Object-Oriented Modeling (OO analysis and the UML)
-
CSC 313/314 (More Java experience)
-
CSC 343 Operating Systems (multi-threading)


