Keynotes and Speakers for ITx Rutherford
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.
Object-oriented programming (OOP) is a paradigm of software programming that focuses on the creation of classes/objects and the interaction between them.
Teaching OOP is considered challenging mostly because it requires a new way of thinking about problem analysis, solution design and coding style. It can be easy for novice students to learn theoretical object-oriented concepts but most of them find it difficult when it comes to solving real-world problems.
Students struggle to apply all those four object-oriented principles together in a single solution. This paper presents a good case study – development of a library management system in Java, which can be used in practical session, to help students not only gain a better understanding of OOP principles but also apply effectively them all to create a complete application.
This paper also shows the best practices to figure out candidate classes and their relationship to draw a tightly encapsulated, loosely coupled and highly cohesive class diagram as a guideline for coding phase. The paper concludes in demonstrating how to customize this solution to solve three other different problems that have the similar solution pattern: development of online bookstore software, creation of an online rental car system, and implementation an online hotel room booking application.
As mobile app development becomes more mainstream, many educational institutions in New Zealand recognize a need to integrate this subject into the programming-related curriculum. However, one challenge is to select the best framework and development tool to use in the practical labs amongst many available frameworks.
By using Flutter framework, which is integrated in Android Studio, students gain the capability of creating a cross-platform apps running on both Android and iOS smartphones. Furthermore, the paper recommends a collection of eight specific topics which should be covered in the practical sessions to provide students with sufficient technical skills to develop all types of mobile apps at their disposition. While the focus is on Android platform, these topics can be used to teach other native iOS apps or cross-platform apps.