These are the courses that I teach regularly or occasionally. Students enrolled for the course should find more info from D2L course page.
This course introduces principles and practices of object oriented software design and implementation. Also discussed is the ideas and implementations of software design patterns. In the term project, students will develop 2D animation based multi-threaded games utilizing design patterns. Currently, this class is taught with Java progamming language with IntelliJ Idea IDE.
Theory and practice of mobile application programming is studied, which includes the study of mobile computing platform, mobile user interfaces, animation, graphics, and the use of the media framework and telephony APIs. Currently, this class is taught with Flutter platform with Dart. Flutter is a platform indepedent framework for mobile application development.
In this course, we will study the ‘things’ that make up the Internet of Things (IoT). The topics cover all aspects of the IoT with emphasis on the networking of IoT devices, the use of a cloud platform (Google Firebase) to collect and analyze large sets of data generated by IoT devices, and the security and privacy issues surrounding the IoT. In the term project, students will design and develop new IoT applications.
This is the capstone class for all CS majors. Students should take this in their last semester to graduation. Students do a team-based large-scale software development based on Scrum agile method.
This is the capstone class for SE majors. Students should take this in their last semester to graduation. Students do a team-based large-scale software development based on Scrum agile method.