Teaching
ACSC423 - Mobile and Ubiquitous Computing and Applications (Android)
The aim of this course is to provide students with the theoretical and practical knowledge that is necessary to enable them to participate in the design and deployment of mobile and ubiquitous computing solutions in a wide range of applications and environments. This course will also introduce the fundamental principles of Smartphone programming. In particular, development of Android applications.
ACSC359 - Software Methodology (Java, MS SQL, JDBC)
The main objective of this course is to introduce engineering students to software methodology, i.e. the tasks of software development, Requirements Engineering, Design, Process Models, Project Management as well as Object-Oriented Programming and Databases. By the end of the course students should be able to design and implement elementary projects using Java, MS SQL and JDBC.
ACSC299 - Visual Programming (Visual C# & Android)
The course provides an introduction to Human-Computer Interaction (HCI). HCI is concerned with understanding, designing, implementing and evaluating user-interfaces so that they better support users in carrying out their tasks. On completing the course you will have knowledge of the theoretical foundations of designing for interaction between humans and computers. The course offers practical experience in implementing and evaluating graphical user interfaces in both desktop and mobile phone environments. This course also introduce the fundamental principles of event-driven programming and programming using a visual environment through the use of the Visual C# programming language and Android.
ACSC183 - Programming Principles II (C++)
The main objective of this course is to understand the use of structures and arrays and apply them to construct and manipulate programmatically composite data types. Develop programs that read and write from/to files and can handle strings. Show the ability to use pointers and dynamic data types in programming exercises. Be able to design medium size programs using a modular approach and command the use of functions for developing algorithmic units and their communication through parameter passing and function returns. Appreciate the benefits and core concepts of object oriented C++ programming and develop simple programs using object-oriented terminology.
WSS551 - Interactive Design for Web Systems
The aim of this course is to provide an overview of concepts on Human Computer Interfaces design in making more comprehensive and user-friendly computer-based systems. The course will allow students to understand the theoretical dimension of human factors in the acceptance of computer interfaces and identify the impact of usable interfaces in the performance of Mobile and Web systems. The course enables students to identify techniques and practice in various platforms and toolkits for interface design, analysis and evaluation as well as develop creative skills in designing competitive user interfaces in web and mobile systems. Particular emphasis is given to extend students critical awareness of the issues and challenges associated to ubiquitous computing and augmented reality.
WSS503 - Ubiquitous Computing (Android)
The aim of this course is to provide students with critical understanding of the technology, issues and challenges of smartphones and next generation mobile systems. The course will enable students to practice in various platforms and toolkits to develop skills in designing mobile applications, especially on Android, Windows Phone, iOS and Blackberry operating systems, and enhance students understanding of the mobile systems business aspect. Particular emphasis is given to extend students critical awareness of the issues and challenges associated with distributed, peer-to-peer and client/server architectures on mobile systems.