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.