Keynotes and Speakers for ITx Rutherford
Eastern Institute of Technology
PhD. Daniel Dang, ICT lecturer at school of computing at EIT. He is currently teaching all papers related to software design and development, web app development and database management systems.
His research interests are Energy Efficiency in the digital world, Emerging technologies in Mobile App & Web App.
Teaching OOP principles is considered challenging mostly because it requires new way of analyzing problem, designing the solution, and coding style which are all involved around classes, objects and the application of four pilar OOP concepts: encapsulation, abstract, inheritance and polymorphism.
It can be easy for novice learners to learn theoretical object-oriented concepts but most of them find it difficult when it comes to model the real-world into objects and classes. Whereas, SCRUM is a popular AGILE framework used in industry to design and develop a complex and real-world software.
This paper presents first the close connection between OOP principles and the SCRUM principles, then show a case study of using SCRUM framework to teach OOP concepts. Upon the completion of software implementation and by mixture of OOP and SCRUM principles, learners not only grasp the importance of all OOP principles but also the real-world software development process to meet the customer changing requirements.
As for web app development, we can either develop from scratch or use existing frameworks such as ASP.NET (C#), Rails (Ruby), Laravel (PHP), CakePHP, CodeIgniter (PHP), Spring (Java), Express (Node.js). All those frameworks are so different regarding programming languages and syntax but most of them are built upon the Model-View-Controller (MVC) pattern.
In the educational environment, it’s a challenge to pick up the best framework to teach in class because each framework has its own advantages and drawbacks. To the best of our knowledge, there doesn’t exist a suitable framework that helps learners to understand deeply MVC concepts (business logic, view UI and controller operation) since learners only learn how to use the framework to develop quick prototype. Moreover, learning a specific framework doesn’t facilitate learners to explore and self learn another framework easily. With the time constraint, we can not introduce all frameworks in class. Therefore, in this paper we suggest to teach about the MVC pattern and then implement a core MVC-based mini-framework (in PHP language). After having got this baseline framework, learners move on to extend it to build different web applications such as e-commerce apps. With strong knowledge of MVC pattern implementation, they are able to explore comfortably different frameworks by themselves.