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. Extensive practice on a specific mobile development platform is included. Currently, this class is taught with Android platform with Kotlin.
Theory and practice of web server-side programming, including materials on presentation logic, business logic, session control, and database management are studied. Extensive practice in a specific server-side programming language is included. Currently, this class is taught with Node.js. Students are strongly advised to take this course after CMSC 4003 Applications of Database Management Systems.
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.