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.
Algebra I
This is a test course
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.
SOFTWARE ENGINEERING 1
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.
Introduction to Computing - CS
This course provides an overview of the Computing Industry and Computing ofprofession, 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.
Fundamentals of Programming
Architecture and Organization
This
course is the introduction and overview of basic computer organization. Topics
include Computer arithmetic: binary, hexadecimal and decimal number
conversions, binary number arithmetic and IEEE binary floating-point number
standard. Basic computer logic: gates, combinational circuits, sequential
circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming,
basic Instruction Set Architecture (ISA), and the design of single cycle CPU.
Operating Systems
The
course will start with a brief historical perspective of the evolution of
operating systems over the last fifty years and then cover the major components
of most operating systems. This discussion will cover the tradeoffs that can be
made between performance and functionality during the design and implementation
of an operating system. Particular emphasis will be given to three major OS
subsystems: process management (processes, threads, CPU scheduling,
synchronization, and deadlock), memory management (segmentation, paging,
swapping), and file systems; and on operating system support for distributed
systems.
Data Structure and Algorithms
The course covers the standard data representation and algorithms to solve computing problems efficiently (with respect to space requirements and time complexity of algorithm). This covers the following: Stacks, Queues, Trees, Graphs, Maps and Sets. Thorough discussion of sorting and searching.
Network Security
Students will perform a variety of network support skills necessary to keep a company's network running efficiently - with less downtime. Students will solve advanced company wide support problems and high-level network problems. Additionally, students will perform planning, installation, configuration, troubleshooting and upgrade services for networks.