Courses

These are the courses that I teach regularly or occasionally. Students enrolled for the course should find more info from D2L course page.


SE 3103 Object Oriented Software Design and Construction

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.


CMSC 4303 Mobile Apps Programming

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.


CMSC 4373 Web Server Programming

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.


CMSC 4513 Software Design and Development

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.


SE 4513 Software Engineering Senior Project

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.