CS317 :: Automata Theory and Formal Languages
Introduction to Computing
This course provides an overview of the Computing Industry and Computing
of profession, including research
and Applications in different fields; an Appreciation Computing in different
fields such as Biology, Sociology, Environment and Gaming; an Understanding of
ACM Requirements; an Appreciation of the history of computing; and Knowledge of
the Key Components of Computer Systems (Organization and Architecture),
Malware, Computer Security, Internet and Internet protocols, HTML5 and CSS
GE ELECT 4 - Gender and Society
This course critically examines the ways gender informs the social world which we live. This course exposes the “common sense” world of gender around us; considers how we develop our gendered identities; explores the working of the institutions that shape our gendered lives; and leads to an understanding of the relationship between gender and the social structure. The exploration of key institutions such as the family, state and workplace will give us some understanding of the social, economic and cultural factors that shape our lives as women and men.
Network Security 2021-2022
The
course is a deep and comprehensive study of the security principles and
practices of computer and network systems. Topics include basic computer
security concepts, common attacking techniques, common security policies, basic
cryptographic tools, authentication, access control, network intrusion
detection, software security, operating system security, network security,
legal and ethical issues in computer security
CCCS 102 Fundamentals of Programming
This course covers the use of general-purpose programming language, the C programming language in particular, to solve problems. The emphasis is to train the students to design, implement, test, debug and assess programs intended to solve computing problems using fundamental programming constructs.
Calculus for Computer Science (SY 2021 - 2022)
This course is an introduction to mathematical analysis concepts and its applications, which include differential and integral calculus. The topics shall include derivatives, mean-value theorem and real-world problems related to differential calculus. Furthermore, it shall also cover the integral and fundamental theorems of integral calculus and its applications.
Platform Security
The aim of the course for the students is to develop an understanding of the basic considerations and mechanisms to ensure security of such different platforms, including the hardware aspects for embedded systems. Topics include Code integrity and code signing, Secure boot, measured boot, and root of trust, Attestation, TPM and secure co-processors, Security threats from peripherals, e.g., DMA, IOMMU, Physical attacks: hardware Trojans, memory probes, cold boot attacks, Security of embedded devices, e.g., medical devices, cars and Trusted path.
Robotics
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 a given
track.
CS Thesis 1
This course is designed to give an introductory knowledge to conduct a
systematic investigation of a problem, which focuses on business processes that
can be solved using Computing. They will gain overview of research intent and
design, methodology and technique, format and presentation, and data management
and analysis informed by commonly used statistical methods. The course will
develop each student’s ability to use this knowledge to become more effective
research and development computing professionals.
CCCS 103 :: Intermediate Programming
The course covers the use of general purpose programming language to solve problems. The emphasis is to train students to design, implement, test, and debug programs intended to solve computing problems using fundamental programming constructs.
Probability and Statistics in Computer Science
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.
CSAC 329 - Applied Cryptography
This course focuses on how security problems are solved in the industry and understanding why specific choices are made. Topics include Basic symmetric-key encryption (Block ciphers), Message integrity, Public Key cryptography, and Digital Signatures.
Software Engineering I
This course comprises of two (2) sequence semesters. The first part of the course covers the fundamental concepts and methodologies of software engineering. It emphasizes the main phases of the software lifecycle, such as requirements, design, implementation, testing, project planning. Also, it stresses the difference between the software product and process. The course incorporates a class project.
Application Development and Emerging Technologies
Technology is rapidly changing and evolving. An IT professional must be able to identify the potential benefits of new technology and determine the feasibility of implementation into a given system. Students will learn to research and apply new and/or innovative technologies which are being integrated into the Information Technology environment. This course will provide students with the opportunity to investigate trends and examine the potential impact of the technology.
Fundamentals of Programming
This course covers the use of general purpose programming language, the C programming language in particular, to solve problems. The emphasis is to train the students to design, implement, test, debug and assess programs intended to solve computing problems using fundamental programming constructs.
CSEC 311 - Defensive Programming
The course provides learning to avoid common security defects, to analyze the relationship between defensive programming and confidentiality, integrity and availability, and to write a secure program. Topics include defensive programming, secure input validation and output handling, buffer overflow attack and prevention, vulnerabilities in mobile programming, access control and confidential information, mobile malware, restriction on access to components, and isolation of file system and database, injection and inclusion, accessibility and extensibility, mutability, and serialization and deserialization.