\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[cm]{fullpage}
\usepackage{hyperref}
\usepackage{url}


\title{Syllabuses of all courses taken during undergraduate studies}
\author{João Paulo Pizani Flor}
\date{December 15th, 2011}

\begin{document}
    \maketitle

    \section{General information}
        This document is a faithful translation of the information contained in all syllabuses of the courses I have
        taken as an undergraduate student at the Federal University of Santa Catarina, in the pursuit of a
        B.Sc degree in Computer Science (between March 2007 and June 2011). For each course, there is an outline
        of the topics covered, the final grade obtained and the number of class hours and credits provided by
        that course.

        \subsection{Grading}
            Grades in the Federal University of Santa Catarina are given in a scale from 0.0 to 10.0
            with a granularity of at least 0.5. The threshold for passing a course is 6.0, and
            having a final grade under this mark means the student failed and must take the course again at
            another semester. The final grade average (IAA in Portuguese) of a student on graduation is a
            simple weighted average of the final grades of every course taken by the student, where the
            weights are the number of credits each course provides. Statistical data from the university's
            department of academic records reveal that the mean IAA for the Computer Science programme is 5.58.

        \subsection{Credits and class hours}
            In Brazil, a class hour lasts 50 minutes, and a credit is defined as the number of class hours
            that a course has per week. Each academic term has 18 weeks, therefore 1 credit is equivalent to 18
            class hours.

    \bigskip

    \textbf{Note 1:} The course listing is in increasing order of the term they were taken. Courses taken in my
    first terms are first, the ones taken close to my graduation are last\ldots

    \textbf{Note 2:} The course titles in this document not always reflect what a \emph{literal} translation
    from Portuguese would be, but rather the worldwide accepted name under which the discipline is known in
    English.

    \bigskip
    \bigskip
    \bigskip

    \section{Course listing}
        \bigskip

        \subsection{Term 1 -- 2007/1}
            \bigskip
            \subsubsection{Introduction to Computer Science (compulsory)}
                \begin{description}
                    \item[Credits:] 2 credits -- 36 class hours
                    \item[Topics covered:] Usage vs. internal workings of a computer. Computer Architectures.
                        Theoretical Computer Science. Programming Languages. Mathematical foundations of
                        Computer Science (Discrete Mathematics). Computing technologies: databases, computer
                        graphics, cryptography, artificial intelligence. Ethics in computing.
                    \item[Final grade:] 10.0
                \end{description}
                
            \bigskip
            \subsubsection{Object-Oriented Programming I (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Definition of algorithm. Computer Programming. Problem solving through
                        algorithms. Elements of imperative programming: variables, simple and multidimensional
                        collections, type systems, statements, procedures and functions. Fundamentals of the
                        Object-oriented programming paradigm: object, field, method, class. Practical
                        programming assignments using an object-oriented programming language.
                    \item[Final grade:] 10.0
                \end{description}

            \bigskip
            \subsubsection{Digital Circuits and Techniques (compulsory)}
                \begin{description}
                    \item[Credits:] 5 credits -- 90 class hours
                    \item[Topics covered:] (N/A)
                    \item[Final grade:] 10.0
                \end{description}
                
            \bigskip
            \subsubsection{Discrete Mathematics for Computer Science (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Propositional logic, First-order logic, Theorem proving, Set theory,
                        Induction and Recursion. Modular arithmetic. Sequences and sums. Combinatorial analysis.
                        Discrete probability. Relations: general properties, equivalence relations, partial
                        orders, lattices. Boolean algebra. Discrete functions: partial and total. Function
                        composition. Notions of models of computation. Algebraic structures: semi-groups and
                        groups. Applications of group theory: error-correcting codes.
                    \item[Final grade:] 8.0
                \end{description}
                
            \bigskip
            \subsubsection{Calculus A (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits - 72 class hours
                    \item[Topics covered:] Real functions of one real variable. Elementary functions. Notions
                        about limits and continuity. Derivatives and applications. Defined and undefined integral.
                        The Fundamental Theorem of Calculus.
                    \item[Final grade:] 9.5
                \end{description}
                
        \bigskip
        \bigskip
        \bigskip
                
        \subsection{Term 2 -- 2007/2}
            \bigskip
            \subsubsection{Object-oriented Programming II (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Inheritance. Polymorphism. Software reuse and software components.
                        Creation and usage of class libraries. Design Patterns. Graphical User Interfaces.
                        Exceptions. Inter-class relations: aggregation, composition and specialization.
                        Persistence: primitive data and object serialization. Programming assignments in an
                        object-oriented programming language.
                    \item[Final grade:] 10.0
                \end{description}
                
            \bigskip
            \subsubsection{Probability Theory and Statistics (compulsory)}
                \begin{description}
                    \item[Credits:] 5 credits -- 90 class hours
                    \item[Topics covered:] Combinatorial analysis. Design of experiments. Exploratory data
                        analysis. Probability. Discrete and continuous random variables. Main theoretical models
                        of probability. Parameter estimation. Hypothesis tests.
                    \item[Final grade:] 8.0
                \end{description}
                
            \bigskip
            \subsubsection{Digital Systems (compulsory)}
                \begin{description}
                    \item[Credits:] 5 credits -- 90 class hours
                    \item[Topics covered:] Synchronous state machines (Moore and Mealy machines) and their
                        representation (state transition diagrams and description using an HDL). Synthesis of
                        sequential circuits (state coding and minimization). Implementation alternatives for
                        state machines (hardwired, ROM, PLA, FPGA). Case studies: memory controllers,
                        interrupt controllers, DMA. Digital systems simulation at the register-transfer level.
                        The CPU seen as a digital system (datapath and control unit). The control unit of a
                        simple CPU (hardwired and microprogrammed).
                    \item[Final grade:] 8.5
                \end{description}
            
            \bigskip
            \subsubsection{Science, Technology and Society (compulsory)}
                \begin{description}
                    \item[Credits:] 3 credits -- 54 class hours
                    \item[Topics covered:] Study of the relations among science, technology and society through
                        the course of History, emphasizing current times. Philosophy of Science. Analysis of
                        values and ideologies involving the production and spreading of scientific and
                        technological ideas. The influence of cultural differences on the definition of science
                        and technology and their relations with society. The participation of society in the
                        definition of policies regarding scientific, technological, economic and ecological
                        matters. The impact of computers in society.
                    \item[Final grade:] 10.0
                \end{description}
            
            \bigskip
            \subsubsection{Analytical Geometry (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Matrices. Determinants. Systems of linear equations. Vector algebra.
                        The straight line, the plane, curves on the plane and surfaces on three-dimensional space.
                    \item[Final grade:] 9.5
                \end{description}
            
            \bigskip
            \subsubsection{Calculus B (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Applications of the defined integral. Improper integrals. Multivariate
                        functions. Partial derivatives. Series of real numbers. Taylor series and Maclaurin series.
                    \item[Final grade:] 10.0
                \end{description}
            
        \bigskip
        \bigskip
        \bigskip
        
        \subsection{Term 3 -- 2008/1}
            \bigskip
            \subsubsection{Data Structures (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Dynamic memory allocation. Static and dynamic variables. Linear
                        data structures (arrays, lists). Hash tables. Trees. Search trees. Sorting algorithms.
                        Iterative and recursive techniques for the implementation of data structures.
                        Computational complexity (time and space) of data structures and its algorithms.
                    \item[Final grade:] 8.5
                \end{description}
            
            \bigskip
            \subsubsection{Numerical Analysis (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Digital representation of numbers: precision, accuracy and errors.
                        Floating-point arithmetic. Systems of linear equations. Computational solution of
                        systems of linear equations. Solution of transcendental equations. Function
                        approximation: splines, curve adjusting, rational approximation and approximation
                        using Chebyschev polynomials. Numerical integration: Newton-Cotes and Gaussian quadrature.
                    \item[Final grade:] 6.0
                \end{description}
            
            \bigskip
            \subsubsection{Concurrent Programming (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Multiprogramming. Multitasking. Concurrent execution. Resource sharing
                        and mutual exclusion. Critical sections. Coordination of processes and threads.
                        Semaphores. Monitors. Message passing. Object-oriented concurrent programming. Deadlocks.
                        Models of concurrent programming.
                    \item[Final grade:] 9.5
                \end{description}
            
            \bigskip
            \subsubsection{Computer Organization and Design (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Technological trends in the CPU and memory manufacturing process.
                        CPU: instructions and addressing modes. Instruction formats and assembly language.
                        Simulator and assembler. Performance measurements. Datapath and control unit.
                        Alternatives for the implementation of CPUs: single-cycle, multicycle, pipeline,
                        superscalar). Exceptions and interruptions. Structural hazards, data hazards and
                        control hazards. Memory hierarchy and associativity (caches and TLBs). Input/Output
                        devices: types, characteristics and connection to the CPU and memory subsystem.
                        Communication with the CPU: polling, interruptions, DMA.
                    \item[Final grade:] 8.0
                \end{description}
            
            \bigskip
            \subsubsection{Linear Algebra (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Vector spaces. Linear transformations. Base change. Inner product.
                        Orthogonal transformations. Eigenvalues and eigenvectors of an operator. Diagonalization.
                        Applications of linear algebra in science and engineering.
                    \item[Final grade:] 8.0
                \end{description}
        
        \bigskip
        \bigskip
        \bigskip
        
        \subsection{Term 4 -- 2008/2}
            \bigskip
            \subsubsection{Operating Systems I (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Systems programming. History of operating systems. Architecture of
                        operating systems. Process and thread management: control and scheduling.
                        Memory: allocation, management and virtual memory. Input/Output: hardware/software
                        principles, peripheral devices. Filesystems: files, directories, implementation of a
                        filesystem. Protection and security in operating systems. Multicore operating systems.
                    \item[Final grade:] 9.0
                \end{description}
                
            \bigskip
            \subsubsection{Computer Networks I (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Channel capacity and transmission rate. Analog-to-Digital and
                        Digital-to-Analog conversion. Channel coding. Fundamentals of the main computer network
                        models: OSI and TCP/IP. Data transmission media. Services offered at the link layer.
                        Case study of some datalink-level protocols. Circuit switching and packet switching
                        networks.
                    \item[Final grade:] 8.0
                \end{description}
            
            \bigskip
            \subsubsection{Theory of Computation (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Algorithms, machines and computations. Turing machines. Recursive
                        functions. Computability. Decidability. Complexity analysis of algorithms (time and
                        space). Complexity classes.
                    \item[Final grade:] 9.0
                \end{description}
            
            \bigskip
            \subsubsection{Programming Paradigms (compulsory)}
                \begin{description}
                    \item[Credits:] 5 credits -- 90 class hours
                    \item[Topics covered:] Characterization and classification of programming paradigms.
                        Problem sets tractable by each paradigm. The main imperative and declarative
                        paradigms. Logic programming. Functional programming. Programming assignments in
                        each of the presented paradigms.
                    \item[Final grade:] 9.0
                \end{description}
            
            \bigskip
            \subsubsection{Software Engineering I (compulsory)}
                \begin{description}
                    \item[Credits:] 5 credits -- 90 class hours
                    \item[Topics covered:] Requirement analysis: functional and non-functional requirements.
                        Techniques for the acquisition and representation of requirements, including use cases.
                        Object-oriented modeling: class, field, association, aggregation and inheritance.
                        Object-oriented design: design techniques, design patterns, frameworks and components;
                        architectural design; object-relational mapping. Object-oriented specification
                        languages. Development of an OO software using the learned techniques.
                    \item[Final grade:] 7.5
                \end{description}
        
        \bigskip
        \bigskip
        \bigskip
        
        \subsection{Term 5 -- 2009/1}
            \bigskip
            \subsubsection{Distributed Computing (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Distributed Systems architecture. Distributed Computing paradigms:
                        message passing, client/server, group communications, distributed objects.
                        Inter-process communication. Operating System support for distributed computing.
                        Synchronization in distributed systems. Data consistency and data replication in
                        distributed systems. Distributed filesystems. Grid computing.
                    \item[Final grade:] 8.0
                \end{description}
            
            \bigskip
            \subsubsection{Software Engineering II (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] The evolution of software development practices. Quality of software
                        artifacts. Modularity and re-usability. Structural and dynamic modeling in
                        object-oriented systems. Object-oriented analysis and design methodologies. Software
                        testing. Software maintenance. Software life cycle models. Reverse engineering. Formal
                        modeling of software systems. Computer-Aided Software Engineering tools.
                    \item[Final grade:] 7.5
                \end{description}
            
            \bigskip
            \subsubsection{Computer Graphics (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] The fundamentals of computer graphics. Interactive Graphical System.
                        2D geometrical transformations and homogeneous coordinates. Clipping. Parametric
                        curves in 2D and 3D. Data Structures for 3D objects. 3D navigation. Projections,
                        perspective and 3D clipping. Bi-cubic parametric surfaces. Rayshading, raycasting and
                        raytracing. Z-buffer. Lightning and the implementation of a rayshader. Graphics APIs
                        and OpenGL. Animation using hierarchical models. Simulation of the movements of animals
                        and human beings. Virtual reality and VRML.
                    \item[Final grade:] 8.5
                \end{description}
            
            \bigskip
            \subsubsection{Computer Networks II (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] The TCP/IP layers: addressing, routing, protocols. Application
                        layer: concepts and protocols. Security aspects in computer networks. Interconnection
                        devices, network processors. Formal methods for the specification and verification of
                        protocols. Computer networks administration.
                    \item[Final grade:] 9.0
                \end{description}
            
            \bigskip
            \subsubsection{Database Systems I (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Databases. Database Administration Systems: main modules, user
                        categories, data dictionary. Relational model: concepts, integrity checks, relational
                        algebra, relational calculus. Structured Query Language: DDL, DML, integrity checks,
                        views, access control. Database design: entity-relationship model (ER), ER-relational
                        mapping. Normalization: goals, functional dependencies, normals forms.
                    \item[Final grade:] 9.0
                \end{description}

        \bigskip
        \bigskip
        \bigskip

        \subsection{Term 6 -- 2009/2}
            \bigskip
            \subsubsection{Formal languages and compilers (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] The compilation process. Languages and their representations.
                        Formal grammars: definition, classification (Chomsky hierarchy), properties, decision
                        problems and applications. Regular grammars, finite automata, regular sets and regular
                        expressions. Context-free grammars. Stack automata. Parsing theory. Lexical and
                        syntactical analysis.
                    \item[Final grade:] 6.0
                \end{description}

            \bigskip
            \subsubsection{Operating Systems II (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Operating systems development: logical design, architecture,
                        bootstrapping, components (processes, threads, scheduler, synchronizers, memory
                        managers, filesystems, device drivers), testing, debugging, case studies.
                    \item[Final grade:] 8.0
                \end{description}
        
            \bigskip
            \subsubsection{Modeling and simulation (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours 
                    \item[Topics covered:] (N/A)
                    \item[Final grade:] 7.0
                \end{description}

            \bigskip
            \subsubsection{Informatics and society (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours 
                    \item[Topics covered:] Personal ethics, professional and public ethics in informatics.
                        Ethical dilemmas of the computing professional. Privacy, viruses, hacking, copyright,
                        etc. Unemployment and automatization. Social responsibility. Entrepreneurship as an
                        option to the computing professional. Legislation: national policy on informatics.
                    \item[Final grade:] 8.5
                \end{description}

        \bigskip
        \bigskip
        \bigskip

        \subsection{Term 7 -- 2010/1}
            \bigskip
            \subsubsection{Graph theory (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours 
                    \item[Topics covered:] Graph and digraphs. Problem solving using graphs. Paths, cycles and
                        shortest path problems. Connectivity and reachability problems. Graph coloring and
                        planar graphs. Hamiltonian and eulerian graphs. Network flow. Computational
                        representations and data structures for graphs. Complexity analysis (space and time)
                        of graph algorithms.
                    \item[Final grade:] 8.0
                \end{description}

            \bigskip
            \subsubsection{Compiler Construction (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Specification and design of programming languages. Implementation
                        of each of the steps in the compilation process: Lexical analysis, Syntactical
                        analysis, Semantic analysis, optimizations and code generation. Evolution and current
                        trends in compilers and programming languages.
                    \item[Final grade:] 9.5
                \end{description}

            \bigskip
            \subsubsection{Project management (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Projects. Methodologies for project planning and management. Knowledge
                        areas related to project management: Scope, time, risk, integration, communication,
                        cost, human resources, acquisition, quality. Process groups: Initiative, planning,
                        execution, control, finalization. Computer-aided project management tools. Case
                        studies.
                    \item[Final grade:] 8.0
                \end{description}

            \bigskip
            \subsubsection{Computer Security (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Application security: secure programming, error detection,
                        malicious code (malware). Operating system security: access control principles,
                        dependable systems. Security in computer networks: attacks and defenses. Principles of
                        cryptography: symmetric and asymmetric cryptography, data integrity. Authentication
                        protocols: principles, public key infrastructures and applications (X.509, OpenPGP,
                        SPKI, IBE), cryptographic protocols (S/Mime, IPSec, SSL, OpenSSH, Kerberos, VPNs).
                    \item[Final grade:] 7.0
                \end{description}

            \bigskip
            \subsubsection{Multimedia Systems (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Definition of multimedia systems. Digital representation of audio,
                        images and video, lossless and lossy compression algorithms. Multimedia applications:
                        characterization and requirements. Media transport protocols. Quality-of-Service.
                    \item[Final grade:] 8.0
                \end{description}

            \bigskip
            \subsubsection{Database Systems II (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Embedded SQL: Static and dynamic instructions, cursors. Query
                        processing: algebraic optimization, execution plan, indices, buffers and pipelines.
                        Transactions: definition, properties, states. Error recovering: categories of errors,
                        buffer management, error recovering techniques. Concurrency control: serializability
                        theory, optimistic and pessimistic schedulers, deadlock control. Basic concepts about
                        distributed database systems: architectures, design, query processing, transaction
                        management.
                    \item[Final grade:] 7.0
                \end{description}

            \bigskip
            \subsubsection{Embedded Systems Laboratory (elective)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Historical perspective on embedded systems, review of computer
                        organization, microprocessors and microcontrollers. Design principles of embedded
                        systems, real-time constraints, implementation techniques, testing, emulation and
                        debugging. Input/Output (ports, interruption handling, programmed I/O, DMA). Clocks,
                        timers and counters. Analog interfaces (Analog-digital and Digital-analog conversion,
                        sensors and actuators). Case studies: microcontroller-based embedded systems, embedded
                        system prototyping using programmable logic, RTOS-based embedded systems.
                    \item[Final grade:] 9.5
                \end{description}

        \bigskip
        \bigskip
        \bigskip

        \subsection{Term 8 -- 2010/2}
            \bigskip
            \subsubsection{Tennis (elective)}
                \begin{description}
                    \item[Credits:] 3 credits -- 56 class hours
                    \item[Topics covered:] (N/A)
                    \item[Final grade:] 9.5
                \end{description}

            \bigskip
            \subsubsection{Final Project (First half) (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Principles and techniques for the preparation of research projects:
                        introduction, goals, hypotheses, methodology, expected results, state of the art,
                        development, experiments, conclusions. Bibliography review and the writing of research
                        papers. Mentoring for the student's final project. Status reports about the student's
                        project.
                    \item[Final grade:] 9.5
                    \item[Note:] In Brazil, it is a requirement for every student wishing to obtain a
                        bachelor's degree to develop research in his field and present a thesis before a
                        committee of 3 professors. This thesis must be around 50 pages long and contain
                        relatively original material.
                \end{description}

            \bigskip
            \subsubsection{Artificial Intelligence (compulsory)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] History of artificial intelligence, Problem Theory, Symbolic
                        artificial intelligence, Modeling of intelligent agents. Search methods. Computerized
                        knowledge representation, inference methods, expert systems, fuzzy logic,
                        connectionist artificial intelligence, neural nets and learning algorithms.
                        Evolutionary artificial intelligence, genetic algorithms.
                    \item[Final grade:] 6.0
                \end{description}

            \bigskip
            \subsubsection{Computer Architectures II (elective)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] Modern computer architectures. The Flynn taxonomy (SISD, SIMD,
                        MISD, MIMD). Interconnection networks. Multicomputers. Multiprocessors. Unified Memory
                        Access (UMA) machines. Symmetric Multiprocessing (SMP). Non-Uniform Memory Access
                        machines (NUMA). Massively Parallel Processors (MPP). Distributed Systems. Clusters.
                        Grids.
                    \item[Final grade:] 9.0
                \end{description}

            \bigskip
            \subsubsection{Introduction to Symbolic Logic (elective)}
                \begin{description}
                    \item[Credits:] 2 credits -- 36 class hours
                    \item[Topics covered:] Scope and applications of logic. Sequent calculus for propositional
                        and first-order logic. Notions about semantics for propositional and first-order
                        logic. Knowledge representation.
                    \item[Final grade:] 8.5
                \end{description}

        \bigskip
        \bigskip
        \bigskip

        \subsection{Term 9 -- 2011/1 -- Final term}
            \bigskip
            \subsubsection{Final project (Second half) (compulsory)}
                \begin{description}
                    \item[Credits:] 6 credits -- 108 class hours
                    \item[Topics covered:] Guidance and orientation for the last steps in the development of
                        the student's final project in Computer Science. Public presentation and defense of
                        the work before a committee of professors in the field.
                    \item[Final grade:] 9.5
                    \item[Note:] The complete thesis (in PDF format) can be found at:
                        \url{http://joaopizani.hopto.org/graduacao/tcc}
                \end{description}

            \bigskip
            \subsubsection{Symbolic Logic II (elective)}
                \begin{description}
                    \item[Credits:] 2 credits -- 36 class hours
                    \item[Topics covered:] (N/A)
                    \item[Final grade:] 7.0
                \end{description}

            \bigskip
            \subsubsection{Pattern Recognition (elective)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] What are patterns and what is pattern recognition. Symbolic
                        techniques (nearest neighbor, IBL, etc.). Sub-symbolic techniques: neural nets.
                        Case-based reasoning - extending Pattern Recognition with an Artificial Intelligence
                        framework. Pattern generation: images and signal analysis. Development of an
                        application involving pattern recognition.
                    \item[Final grade:] 10.0
                \end{description}

            \bigskip
            \subsubsection{Dance and Improvisation (elective)}
                \begin{description}
                    \item[Credits:] 4 credits -- 72 class hours
                    \item[Topics covered:] (N/A)
                    \item[Final grade:] 8.0
                \end{description}


\end{document}
