teaching

Course materials, schedules, and resources for classes taught.

⚙️ Compilers

  • Level: Undergraduate (Computer Engineering)
  • Languages/Tools: Java, Haskell, Python, nand2tetris framework
  • Focus: Lexical analysis, parsing, code generation, and optimization through hands-on compiler construction
  • Open Resources: GitHub RepoSample Project: Build a Simple Interpreter
  • Why it matters internationally: Develops transferable skills in formal languages, automata theory, and tooling — foundational for PL research, verification, and compiler engineering roles.

🧮 Algorithms & Data Structures

  • Level: Undergraduate (Computer Engineering)
  • Languages: Python, Java, C
  • Focus: Algorithm design patterns, complexity analysis, and efficient data organization for geospatial and environmental datasets
  • Project Example: Implement spatial indexing structures (R-trees, quadtrees) for land-use data queries
  • Global relevance: Core competency for technical interviews and research in computational geography, optimization, and large-scale data processing.

🔄 Programming Paradigms

  • Level: Undergraduate (Computer Engineering)
  • Paradigms Covered: Imperative, Object-Oriented, Functional (Haskell), Logic
  • Focus: Comparative analysis of paradigms; when and why to choose each approach for scientific computing problems
  • Open Resource: Functional Programming Exercises in Haskell
  • International value: Prepares students for diverse codebases and research environments that mix paradigms (e.g., data engineering pipelines).

λ Functional Programming

  • Level: Undergraduate elective / Graduate module
  • Language: Haskell
  • Focus: Pure functions, type systems, monads, and declarative problem-solving for reproducible scientific workflows
  • Connection to research: Functional approaches support verifiable, side-effect-free geospatial data transformations
  • GitHub: Functional Geo-Exercises

🗺️ Introduction to Geoprocessing (Graduate)

  • Program: Professional Master’s in Environmental Science & Technology (PPGCTAmb)
  • Tools: QGIS/PyQGIS, PostGIS, TerraLib, OGC standards
  • Focus: Spatial data models, coordinate systems, geoprocessing workflows, and environmental modeling fundamentals
  • INPE Connection: Builds on methodologies developed during my PhD research in dynamic land-use/land-cover modeling at INPE
  • Output: Students produce reproducible geoprocessing pipelines for regional environmental analysis
  • Resources: Sample Dataset + TutorialOGC Standards Quick Reference

💻 Introduction to Computers (Graduate)

  • Program: Professional Master’s (PPGCTAmb / PROFCOMP)
  • Focus: Information representation, computer architecture fundamentals, operating system concepts for scientific workflows