DESIGN AND ANALYSIS OF ALGORITHMS: Algorithm time complexity, Advanced design and analysis paradigms. Graph algorithms. NP-Complete and NP-Hard problems. Approximate algorithms.
COMPUTER ARCHITECTURE: Review of computer organization. Design of memory systems. Pipeline processing techniques. Integer and floating point arithmetics. Interconnection networks. Matrix and vectorial processors. Multiprocessors. Non-conventional processors. (Also in the Computer Systems area)
FORMAL LANGUAGE THEORY: Classification and properties of formal grammars. Decidable problems in each grammar type and the respective language. Languages accepted by linear-bounded automata and Turing Machines. Notions of language parsing. Deterministic parsing. LL(k) and LR(k) grammars. (Also in the Theory area)
SPECIAL TOPICS ON COMPUTER SCIENCE: Variable course syllabus depending on emphasis offered.
TEACHING ASSITANTSHIP I
TEACHING ASSISTANTSHIP II