University Teaching

  • About - Learn more about me and my background
  • Contact - Get in touch with me
  • Blog - Read my latest articles
  • Social - Connect with me on social media
  • University - My educational background and achievements
  • GitHub - My GitHub profile and projects

Teaching Experience

University of Manizales

Professor of Software Development

As a professor at the University of Manizales, I teach comprehensive software development courses that prepare students for modern software engineering careers. My courses cover the full spectrum of software development, from foundational programming concepts to advanced enterprise application architecture.

Course Overview: Software Development

The Software Development course provides students with hands-on experience using industry-standard technologies and best practices. Throughout the program, students learn to build complete, production-ready applications using professional development workflows.

Technologies & Topics Covered

Backend Development

  • .NET Framework & .NET Core - Building robust server-side applications with C#
  • ASP.NET Core - Creating RESTful APIs and web services
  • Entity Framework Core - Database design and ORM implementation
  • SQL Server & Database Design - Relational database management and optimization

Frontend Development

  • HTML5, CSS3, JavaScript - Modern web standards and best practices
  • React.js - Component-based UI development
  • Angular - Enterprise-scale single-page applications
  • Responsive Design - Mobile-first development approaches

Full Stack Integration

  • REST API Design - Creating scalable web services
  • Authentication & Authorization - Security implementation with JWT and OAuth
  • Microservices Architecture - Distributed systems design
  • Cloud Deployment - Azure and cloud-native application development

Development Practices

  • Version Control - Git workflows and collaborative development
  • Agile Methodologies - Scrum and iterative development processes
  • Testing - Unit testing, integration testing, and TDD practices
  • CI/CD - Continuous integration and deployment pipelines
  • Design Patterns - SOLID principles and software architecture patterns

Teaching Philosophy

My approach emphasizes practical, project-based learning where students build real-world applications from start to finish. By combining theoretical foundations with hands-on coding experience, students develop both the technical skills and problem-solving abilities needed to succeed as professional software developers.

Student Outcomes

Graduates from my courses are prepared to:

  • Design and implement full-stack web applications
  • Work effectively in professional development teams
  • Apply industry best practices and modern development methodologies
  • Continue learning and adapting to evolving technologies
  • Build scalable, maintainable, and secure software solutions