Computer Science Professor

Professor, Unisinos, Bachelor's degree in Computer Science, 2025

I joined the Bachelor’s degree in Computer Science program at Universidade do Vale do Rio dos Sinos (Unisinos) as a professor, starting this semester (2026 h1). This new position allows me to contribute to the formation of future software engineers and computer scientists through three fundamental courses in the curriculum.

Courses

Software Engineering: Architecture and Patterns - This course focuses on building robust, scalable, and maintainable software systems. Students learn design patterns and architectural principles, evaluate software architecture quality attributes, and explore modern architectural styles including microservices and event-driven architectures. The course emphasizes hands-on projects implementing real-world architectural solutions.

Software Engineering: Project and Development - Covering the complete software development lifecycle from conception to deployment, this course addresses project management methodologies including Agile, Scrum, and DevOps practices. Students develop expertise in software development best practices, team collaboration strategies, and version control systems through full-stack development projects using industry-standard tools.

Algorithms and Programming: Data Structures - As the foundation of efficient programming and computational thinking, this course covers core data structures such as arrays, linked lists, trees, graphs, and hash tables. Students engage with algorithm design and complexity analysis, problem-solving techniques, and optimization strategies. Implementation work is conducted in modern programming languages with emphasis on practical applications.

Teaching Approach

My teaching methodology integrates theoretical foundations with hands-on practical experience, ensuring students can apply learned concepts in real-world scenarios. The courses incorporate interactive coding sessions, industry-relevant projects that contribute to student portfolios, collaborative learning through team-based assignments, and contemporary tools and technologies actively used in the software industry.

The goal is to bridge the gap between academic knowledge and industry requirements, preparing students to become skilled professionals capable of tackling complex computational challenges and contributing meaningfully to the technology sector.