Teaching

CSCE 4623 — Mobile Programming

Mobile devices are the predominant form of computing. In 2016, mobile computing represented 65% of all internet digital media time. The trend away from the desktop computing environment is clear. The importance of teaching our students to develop software specific to mobile computing cannot be understated. This course serves as an introduction to development on mobile devices. The course is taught using the Android platform as a vehicle to introduce and teach mobile development components including: user interface, localization, sensors, operating systems, data management, cloud services, context-awareness, and application testing and verification. The course includes two written examinations, four programming projects, and a final project.

Class Webpages:
Fall 2017 — (Student Evaluation: Course — 4.6/5, Instructor — 4.6/5)
Fall 2017 Final Projects

CSCE 4/5013 — Wearable and Ubiquitous Computing

Technological miniaturization and advances in radio frequency technology have created a computing environment that has enabled growth in the number and variety of non-traditional computing systems. Machine-to-machine communication and the Internet of Things (IoT) represent a movement of computation away from single-user systems tethered to physical locations. This course will introduce wearable and ubiquitous computing paradigms with emphasis on the engineering and development. Three key themes that will be taught during this course the systems and infrastructures which compose IoT and wearable systems, the devices and techniques for gathering data and communicating with the user, and the applications of these technologies including the user experience. The course includes a written examination, three programming projects, weekly readings, and a final project.

Class Webpages:
Spring 2019 — (Student Evaluation: Course — 4.62/5, Instructor 4.81/5)
Spring 2018 — (Student Evaluation: Course — 4.61/5, Instructor — 4.78/5)
Spring 2018 Final Projects

CSCE 4114 — Embedded Systems

The architecture, software, and hardware of embedded systems. Involves a mixture of hardware and software for the control of a system (including electrical, electro-mechanical, and electro-chemical systems). They are found in a variety of products including cars, VCRs, HDTVs, cell phones, pacemakers, spacecraft, missile systems, and robots for factory automation.Embedded systems have become more prevalent in recent years due to the Internet of Things. Billions of connected devices communicate with each other every day with no direct intervention from humans for computation. This course will introduce Embedded Systems — including theoretical and hands-on instruction in the development, programming, and evaluation of systems.

Class Webpages:
Fall 2018 — (Student Evaluation: Course — 4.65/5, Instructor — 4.79/5)