University Teaching
Navigation
- 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