Current courses
GCC218 - Algorithms on Graphs
Introduction to graph theory. Terminology. Directed and undirected graphs, subgraphs, trees, cuts, isomorphism, graph representation. Path algorithms in graphs, vertex relabeling, conectivity, paths, cycles, minimum spanning trees, flows on graphs. Planar graphs. Coloring and covering of vertexes and edges. Problems modeled by graphs.
PCC512 - Project and Analysis of Algorithms
Asymptotic Analysis. Recurrence. Paradigms and Techniques of Algorithm Design: Divide and Conquer, Dynamic Programming, Greedy Algorithms. Complexity of Algorithms: Sorting, Algorithms on Graphs. Amortized Analysis. Linear Programming. Binary and Fibonacci Heaps. NP-Completeness. Techniques to deal with NP-Complete problems, Approximate Algorithms.
Past courses
GCC101 - Algorithms and Data Structures I
Introduction to laboratory practices. The concept of algorithm. Algorithms construction. Basic data types. Conditional and repetition instructions. Records. Vectors and Matrices. Modularization. Data input and output. Files: text and binary.
GCC103 - Discrete Mathematics
Boolean Algebra. Set Theory. Relations. Counting. Mathematical Induction. Recursion. Combinatorics. Introduction to Graph Theory.
GCC111 - Project and Analysis of Algorithms
Asymptotic Analysis. Recurrence. Paradigms and Techniques of Algorithm Design: Divide and Conquer, Dynamic Programming, Greedy Algorithms. Complexity of Algorithms: Sorting, Algorithms on Graphs. Amortized Analysis. NP-Completeness. Techniques to deal with NP-Complete problems, Approximate Algorithms.
GCC118 - Mathematical Programming
Modeling. Fundamentals of mathematical programming. Linear programming and its applications. Simplex method. Sensitivity and duality analysis. Network optimization. Dynamic programming.
GCC224 - Introduction to Algorithms
Computer Operations: overview architecture of a computer; overview of number system. Variables and constants. Sequential, conditional and repeating structures. Vector and matrix. Files and records. Search algorithms. Internal ordering. Modularization. Recursion. Pointers and dynamic allocation.