Robotics (2024-25)
The course is an
introduction to concepts and techniques in Robotics using Arduino Technology. Topics covered include electricity and electronics, analog
and digital signals, basic test instruments, Arduino for robotics, components
assembly, sensors, and programming. Upon course completion, one major learning
output will be developed, a type of robot explorer capable of following given
tracks.
Digital Image Processing
Cameras and digital sensors becoming integral parts of the emerging technologies, it is vital for computer and data scientists to master various techniques for analyzing and processing data from these sensors. This course aims to equip students with a robust understanding of digital image processing methods and algorithms used to enhance images and video streams. Throughout the semester, students will explore topics such as image digitization, image representation, convolution filters, 2D and 3D signal processing, Fourier transforms, image sampling and resampling, grayscale operations, segmentation, morphology, thinning, edge detection, image restoration, biomedical imaging, and image compression. Concepts will be presented through lectures and practical examples, and projects will offer hands-on experience in applying these concepts to real-world challenges.
CSAC 328/CSAM 221 - Probability and Statistics in Computer Science 24-2
This course provides an elementary introduction to probability and statistics with applications. Topics include basic combinatorics, random variables, probability distributions, Bayesian inference, hypothesis testing, confidence intervals, and linear regression as well as illustrative examples and simulation exercises from queuing, reliability, and other CS applications. At the end of the course, students are expected to submit an analysis report illustrating the application of probabilistic and statistical techniques on their chosen computing-related topic of interest.
CS 212 Algorithms and Complexity 24-2
This
course provides an introduction to algorithms and complexity at the
undergraduate level. The course will cover the most important algorithmic
techniques as well as methods for analyzing algorithm performance. The major
topics will include algorithms such as brute force, greedy, divide-and-conquer,
dynamic programming, and iterative improvement. Algorithm limitations will also
be discussed including NP-completeness, approximation algorithms, and
randomized algorithms. Students are expected to conduct an analysis report as
an evaluation of the algorithms they have chosen to help solve the given
real-life problem.
CS 3215 - Human Computer Interaction 24-2
Network Security
This
course offers a comprehensive exploration of network security principles,
strategies, and technologies within the context of computer science. It equips
students with the knowledge and skills necessary to protect computer networks,
systems, and data from a wide range of threats and vulnerabilities. By the end
of this course, students will have a strong foundation in network security
concepts and practices tailored to the field of computer science. They will be
prepared to analyze, design, and implement security measures to safeguard
computer networks and systems from evolving threats.