Courses for Universities
I have offered the following courses as part of my university-level academic programs.
Courses for Universities
I have offered the following courses as part of my university-level academic programs.
Object-Oriented Programming (in Java)
This course provides a comprehensive foundation in Object-Oriented Programming (OOP), focusing on abstraction, encapsulation, inheritance, and polymorphism to design modular and reusable software. Using an object-oriented programming language such as Java, students will apply these principles to develop class hierarchies and real-world systems, gaining both conceptual understanding and practical skills for creating robust and maintainable applications.
System Analysis and Design
This course provides a foundation in System Analysis and Design, applying Object-Oriented Analysis and Design (OOAD) principles and Design Patterns to model, analyze, and design effective systems. Students will learn to capture user requirements, develop models such as UML diagrams, and apply proven patterns to create scalable, maintainable, and user-centered solutions. Through case studies and projects, the course strengthens both analytical and practical skills for designing robust and efficient information systems. .
System Analysis and Design
This course provides a foundation in System Analysis and Design, applying Object-Oriented Analysis and Design (OOAD) principles and Design Patterns to model, analyze, and design effective systems. Students will learn to capture user requirements, develop models such as UML diagrams, and apply proven patterns to create scalable, maintainable, and user-centered solutions. Through case studies and projects, the course strengthens both analytical and practical skills for designing robust and efficient information systems. .
Software Architecture
This course provides a solid foundation in Software Architecture, focusing on principles, methods, and best practices for designing and evaluating large-scale software systems. Students will explore architectural styles, patterns, and frameworks, and learn how to address quality attributes such as scalability, performance, and security. Through case studies and projects, the course develops both conceptual understanding and practical skills for creating robust, adaptable, and maintainable software architectures.
Machine Learning
This course provides practical grounding in Machine Learning, focusing on core concepts, algorithms, and techniques for building data-driven models. Students will explore supervised, unsupervised, and reinforcement learning methods, along with advanced topics such as deep learning, Large Language Models (LLMs), and Generative AI. Through hands-on projects and case studies, the course develops both theoretical understanding and practical skills for applying machine learning to real-world problems across various domains.