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 Repo • Sample 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 + Tutorial • OGC 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