CIT 601 Systems Engineering, 3 cr hrs

Introduction to system engineering outlining traditional design process. The content of the course follows typical system design life cycle. It correlates the different disciplines required to deploy and sustain a system for missions in information technology, information processing and electronics domains. Topics include system architecture into hardware and software components, requirement allocation, performance budgeting and integration and testing.

CIT 602 Software Engineering, 3 cr hrs

This course focuses on critical aspects of the software development life cycle that have significant influence on the overall quality of the software system including techniques and approaches to software design, quantitative measurement and assessment of the system during implementation, testing, and maintenance, and the role of verification and validation in assuring software quality.

CIT-603 Computer Architecture, 3 cr hrs

The course includes an overview of history and current and future trends and issues in processor design, as well as performance measurement and enhancement techniques. Topics covered include pipelining, parallelism, multiprocessors, cache & memory issues, and interconnections networks.

CIT 604 Stochastic Processes, 3 cr hrs

This course introduces random processes and their applications from a discrete-time point of view, and discusses the continuous-time case when necessary. The course covers the basic concepts of random variables, random vectors, stochastic processes, and random fields. It moves on to common random processes including the white noise, Gaussian processes, Markov processes, Poisson processes, and Markov random fields. Advanced topics are also covered including estimation theory and optimal filtering including linear prediction, Wiener and Kalman filtering, linear models and spectrum estimation.

CIT 605 Information Theory, 3 cr hrs

This course covers mathematical models for channels and sources. The basic concepts of entropy, relative entropy, and mutual information are defined, and their connections to channel capacity, coding, and data compression are presented. Limits for error-free communication, information theory also presents limits for data compression, information, data compression, Topics also include channel capacity, Shannon’s theorems and rate distortion theory.

CIT-606 Fundamentals of Networking, 3 cr hrs

This course covers fundamental concepts in the design and implementation of computer networks. Examples are drawn primarily from the Internet protocol suite. In the first part of the course, we will cover layered networking models, application layer protocols, transport layer protocols, the Internet Protocol (IP), and intenetworking. In addition, advanced topics such as wireless networks and network security will be introduced. In the second part of the course, the course focuses on queuing theory and modeling networks using queues. Topics covered include Birth-death processes, Poisson queues, and networks of queues.

CIT 607 Operations Research, 3 cr hrs

This course introduces the fundamentals of operations research, including different techniques for modeling and problem solving. The course will emphasize model-formulation skills, the mathematical procedures of linear programming, network flows, dynamic programming, game theory Markov chains, queuing models, and other problem solving techniques.

CIT-608 Introduction to Convex Optimization Theory, 3 cr hrs

This course focuses on the theory and applications and algorithms of convex optimization. It focuses on recognizing and solving convex optimization problems that arise in many engineering fields. It is divided into three parts; Mathematical background, convex optimization theory, and its applications. The Mathematical background part reviews relevant topics in linear Algebra that are necessary for the students to complete the course. The theory part covers the basics of convex analysis and convex optimization problems such as linear programming (LP), semi-definite programming (SDP), second order cone programming (SOCP), and geometric programming (GP), as well as duality in general convex and conic optimization problems. The third part of the course focuses on engineering applications of convex optimization, from systems and control theory to estimation, data fitting, and information theory.

CIT-609 Network Architecture, 3 cr hrs

The course covers the network evolution and development, network architectures, network topologies and technologies, layered protocol design, OSI model, MAC protocols, multiplexing, switching, flow control, IP networking, addressing, IPv4 vs. IPv6, transmission protocols, TCP/IP networking, routing and queuing, Domain Name System, network management, network performance evaluation, Quality of Service architecture, IntServ, DiffServ, MPLS, Multicasting, VPNs, multimedia transmission protocols, Traffic Engineering, this is in addition to the state-of-the-art of networking applications and services like Cloud Computing, P2P networking & Ubiquitous Computing.

CIT 611 Software Architecture, 3 cr hrs

This course introduces students to the concepts, principles, and state-of-the-art methods in software architectures, including domain-specific software architectures, architectural styles, architecture description languages, their properties and the types of problems for which they are most appropriate, and architecture-based testing and analysis. The course will also examine the practical applicability of architecture research, specifically its relationship to work in architectural frameworks and component interoperability platforms.

CIT 612 Software Project Management, 3 cr hrs

The course provides the necessary knowledge and skills to lead a software project team, understand the software process, time and cost estimates, and the relationship of software development to overall product engineering. Topics include life cycle models, requirements definition, configuration control, environments, planning, scheduling, execution, monitoring, evaluation, refinement, quality assurance as well as team building, organization and motivation, and legal issues involved in liability, warranty, patentability, and copyright. Students participate in group projects and case studies.

CIT 613 Software Testing and Verification, 3 cr hrs

This course presents theoretical and practical aspects of testing software; a comprehensive study of software testing and quality control concepts, principles, methodologies, management strategies and techniques. The emphasis is on understanding software testing process, planning strategy, criteria, and testing methods, as well as software quality assurance concepts & control process. Students participate in the entire range of test activities: analyzing a requirements’ document for test conditions; writing a test plan; designing, creating and executing test cases using various testing approaches; recording defects, and writing test reports.

CIT 614 Network Programming and Distributed Object Systems, 3 cr hrs

Prerequisite: CIT 606
Tools, techniques, and design principles behind these systems. Design, deployment, and maintenance issues; multi-tier and peer-to-peer architectures; security and transactional issues that present unique challenges in distributed systems. Concepts to be covered include inter-process communication, remote invocation, data serialization, messaging, integration, distributed design patterns, distributed system architecture, transactions, service lookup, application servers, and performance implications.

CIT 615 Software Development Studio I, 3 cr hrs

The software development studio provides an opportunity for students to apply the knowledge and skills gained in other courses in synthesizing and developing a solution to a significant, realistic, and practical problem. The work is typically done for an outside client. Students will be working in teams, under the supervision of a faculty member, to analyze a problem, plan a software development project, and implement a solution. Subsequently, they are to evaluate the efficacy of their developed applications.

CIT 616 Software Development Studio II, 3 cr hrs

Prerequisite: CIT 615
The software development studio provides an opportunity for students to apply the knowledge and skills gained in other courses in synthesizing and developing a solution to a significant, realistic, and practical problem. The work is typically done for an outside client. Students will be working in teams, under the supervision of a faculty member, to analyze a problem, plan a software development project, and implement a solution. Subsequently, they are to evaluate the efficacy of their developed applications.

CIT-617 Advanced Software Engineering, 3 cr hrs

This course focuses on critical aspects of the software lifecycle that have significant influence on the overall quality of the software system including techniques and approaches to requirements, design, quantitative measurement and assessment of the system during implementation, testing, configuration, and maintenance, and the role of verification and validation in assuring software quality.

CIT 620 Introduction to Information Security and Cryptography, 3 cr hrs

An overview of operating system security; network security, including cryptography and cryptographic protocols, firewalls, and network denial-of-service attacks and defenses; user authentication technologies; security for network servers; web security; and security for mobile code technologies; intrusion detection; techniques to provide privacy in Internet applications; and protecting digital content.

CIT 621 Crypto-Protocols and Network Security, 3 cr hrs

Prerequisite: CIT 620
The course covers authentication protocols, key distributions protocols, e-commerce security protocols. Security protocol properties: authentication, secrecy, integrity, availability, non-repudiation, atomicity, certified delivery; crypto-protocol attacks; security protocols design, implementation and analysis. OSI security architecture, models and architectures for network security, authentication, email security, IP security, IPv6, web security, SSL/TLS, VPNs, firewalls, content filtering, denial of service attacks, wireless networks security, network security policies, intrusion detection, misuse detection methods, anomaly detection methods.

CIT 622 Operating Systems & Applications Security, 3 cr hrs

Prerequisite: CIT 620
The course covers fundamental concepts and mechanisms for enforcing security and defining secure operating systems, defining an ideal secure operating system, the first OS designed for security goals, systems development approaches applied to build a secure operating system, access control fundamentals, formal security goals and corresponding security models proposed for secure operating systems, security kernels, secure virtual machine systems, surveying a variety of approaches applied to the development of secure operating systems, system assurance methodologies.

CIT 623 Security in Wireless Ad Hoc Networks, 3 cr hrs

Prerequisite: CIT 620
The course covers security measures for different types of wireless networks, the challenges associated with securing ad hoc networks, the different attacks on Ad hoc networks, the different types of intrusion detection systems used for ad hoc networks, the reputation systems as an approach to securing ad hoc networks. Upon completing the course the students will be able to describe the different types of security measures used for wireless networks, describe ad hoc networks characteristics, applications, challenges, and security requirements, to know the types of routing protocols associated with these networks and their design principles, to know the attacks that could be launched on different layers of ad hoc networks, to decide the types of intrusion detection systems that could be used for ad hoc networks according to several factors. This is in addition to being able to criticize different types of reputation systems.

CIT 624 Security Evaluation Methodologies, 3 cr hrs

Prerequisite: CIT 620
Security evaluation of information systems, security evaluation of software, security evaluation of products. Security code inspection, security testing, security standards, preparation of a security evaluation: impact scale, likelihood scale, severity scale. Vulnerability analysis, risk analysis, security plan elaboration. Common criteria, target of evaluation, protection profile, security functional requirement, security factors, errors, accidents, assurance requirements, assurance levels, evaluation process, compliance with the protection profile, and security evaluation case studies.

CIT 625 Security Incident Handling, 3 cr hrs

The course provides an overview of security incident response and emergency handling activities. Topics covered include detecting and characterizing an attack; forensics and evidence collection; understanding the technical issues of different attack types; and performing analysis and response tasks for various types of incidents. The course also outlines how to build and manage computer incident response teams.

CIT 626 Information Security Ethics, Policy, and Legal Issues, 3 cr hrs

The course covers how to identify and prioritize information assets, identify and prioritize threats to information assets, define an information security policy, develop, implement and maintain various security policies, implement information security constraints used to prevent misuse of information on an organization’s human resources process, and to know the role of culture in ethics as it applies to information security. As a result of completing this course, students will be able to describe the need for and development of information security policies, and identify guidelines and models for writing policies, define risk management and explain why it is an important component of an information security strategy and practice, identify security issues related to personnel decisions, and qualifications of security personnel and to take ethics into consideration while dealing with information security.

CIT-627 Risk Management, 3 cr hrs

Prerequisite: CIT 620
In this course, students will learn and understand the different components of risk, risk assessment and risk management and how all these components relate; the different types of risk assessment; the frameworks and methodologies of conducting and processing risk management correctly, efficiently and effectively in the enterprise; how to establish an effective risk management for your organization. The course covers risk challenges facing security and risk management, IT Risk & alignment to business objectives, risk domains and risk universe, risk management components & their relations, risk management Processes and life cycles, risk assessment (framework/methodologies), qualitative and quantitative risk assessment, risk appetite & risk tolerance, controls and control objectives, control Self-Assessment, Security and Risk Metrics, risks reporting and communicating, data classification, processing effective & efficient risk management, Outsourcing / Cloud computing and impact to IT Risk. The course includes exercise and walk through Risk Management Process Flows of a real life scenarios and case studies.

CIT628 Information Security Governance, 3 cr hrs

Prerequisite: CIT 627
The course covers basics of Information Security Governance, Security Governance vs. IT Governance, regulatory requirements for information security, the needs and benefits of the governance approach, Information Security Governance program and its deliverables, establishing the ISG processes in the organization, aligning the ISG to the organization’s strategy and goals, the associated roles and responsibilities, maturity models for the governance framework, the related Standards, Governance Codes and Bodies of Knowledge, Offshoring and Outsourcing impacts to Security Governance, developing and managing the Security Metrics, developing and achieving the Security Compliance, establishing risk management objectives and framework, reporting the ISG and effectively working with various stakeholders, e.g. internal and external auditors, legal officers, business owners. The course includes real-life case studies and also addresses the different influences of different industries as well as different legalizations on the Information Security Program.

CIT 630 Design of Communication Systems, 3 cr hrs

Prerequisite: CIT 604, CIT 605
Analysis and design of communication systems; including an overview of analog and digital modulation and demodulation, frequency conversion, multiplexing, noise and distortion; spectral and signal-to-noise ratio analysis, probability of error in digital systems, spread spectrum. Advanced topics include optimal communication, modulation under bandwidth and complexity constraints, and mobile communication. Practical implementation of the concepts studied is realized through hands-on experiments and projects.

CIT 631 Antennas, 3 cr hrs

Fundamental parameters. Dipoles, loops, reflectors, Yagis, helices, slots, horns, micro-strips. Antennas as transitions between guided and free radiation, ultrasound analogue. Famous antennas. Pattern measurements. Friis and radar equations. Feeds, matching, baluns. Broad banding. Arrays, aperture synthesis, interferometry, very-long-baseline interferometry. Thermal radiation, antenna temperature, microwave passive remote sensing.

CIT 633 Wireless Communications, 3 cr hrs

Prerequisite: CIT 630
Topics covered include MIMO (multiple input multiple output) communication, space-time coding, opportunistic communication, OFDM and CDMA. The concepts are illustrated using many examples from wireless systems such as GSM, IS-95 (CDMA), IS-856(1xEV-DO), Flash OFDM and ArrayComm SDMA systems. Particular emphasis is placed on the interplay between concepts and their implementation in systems.

CIT 634 Advanced Coding and Signal Processing, 3 cr hrs

Prerequisite: CIT 640, CIT 605
The course includes a review sampling and reconstruction, CTFT, DTFT, DFT. It covers multi-rate signal processing: up-sampling and down-sampling, poly-phase filters, sample rate conversion, multistage filter design. Time-Frequency Analysis: uncertainty principle, continuous STFT, discrete STFT, continuous wavelet transform. Wavelets: review of Hilbert spaces, discrete wavelet transform, multi-scale equations, cascade equation. Space-time coding, turbo coding, Branch and Bound Algorithm, adaptive filtering, Trellis decoding and belief propagation decoding and SP. Practical implementation of the concepts studied is realized through hands-on experiments and projects.

CIT 635 Design and Implementation of Wireless Networks, 3 cr hrs

Prerequisite: CIT 633
Overview of current systems and standards. Performance of digital modulation in fading and inter-symbol interference; capacity of wireless channels, flat fading countermeasures-diversity, coding and interleaving, adaptive modulation; multiple antenna systems; inter-symbol interference countermeasures; equalization, multicarrier modulation, spread spectrum and RAKE receivers; multiple access, cellular systems, and ad-hoc networks.

CIT 637 Detection and Estimation, 3 cr hrs

Introduction to detection and estimation theory with applications. Topics include: maximum likelihood and Bayesian estimates, Kalman filtering, simple and composite hypothesis testing, and detection of signals in noise.

CIT 638 Advanced Networks, 3 cr hrs

Prerequisite: CIT 606
This is an advanced course in communication networks that builds upon the CIT 606 core course (Fundamentals of Networking) to develop understanding of fundamental networking concepts as well as state-of-the-art wireless networking architectures. The course focuses on multiple access, routing and congestion control. In addition, selected topics pertaining to cellular networks, Wireless Local Area Networks (WLANs), mobile ad hoc networks (MANETs) and wireless sensor networks (WSNs) will be studied. Time permitting, the topics will include admission control, IEEE 802.11 standard and its variants, scheduling, routing protocols and energy.

CIT-643 Image Processing and 3D Computer Graphics, 3 cr hrs

This course aims be a comprehensive introduction to the basic concepts and algorithms of digital processing of visual information that would be utilized in the most prominent applications such as medical imaging, remote sensing, space exploration, surveillance, gaming and entertainment, manufacturing and robotics. The course is divided into two closely-related parts: image processing and computer graphics. The first part focuses on simple engineering concepts for acquisition, restoration, enhancement, and analysis of digital images. The second part covers the basics of three-dimensional computer graphics and the generation of 2D images from 3D models with topics comprising object modeling and representation, rendering, illumination and animation. As a practical course, the lab work includes implementation of the image processing algorithms using Matlab and developing a visualization tool for surface models using C++/OpenGL.

CIT-644 Scientific Computing, 3 cr hrs

This course covers numerical analysis and solution techniques for common scientific and engineering problems and provides essential foundation for important computational subject areas such as medical imaging, bioinformatics, financial modeling, to name a few. The course covers a variety of topics including numerical approximations and errors, roots of equations, systems of linear algebraic equations, curve fitting, integration, optimization, and numerical solutions for ordinary differential equations. The course will place major emphasis on case studies and practical projects to address realistic computational problems using high-performance numerical techniques that utilize recent advances in grid-computing and graphical processing units (GPUs).

CIT-645 Formal Methods and Computer Algorithms , 3 cr hrs

The course is divided into two parts. The first part handles proofs and proof techniques. It revises the concepts of sets, cardinality, relations, functions, integers, rational numbers and real numbers. It also introduces some algebraic structures such as rings and fields and other structures such as trees and graphs. It also covers Automata and languages, and handles computability and complexity theories. The second part of the course presents the art of designing and analyzing computer algorithm to solve versatile problems. The course will handle graph and tree algorithms, greedy algorithms, divide-and-conquer technique, dynamic programming methodology, NP and Computational Intractability, approximation algorithms, and random algorithms.

CIT-646 Machine Learning and Data Mining, 3 cr hrs

The course is divided into two parts. The first part provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning; unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); Neural Networks, Decision Trees, Local Models, Model selection, Combining Multiple Learners, reinforcement learning and adaptive control. The second part of the course applies machine learning techniques to Data Mining concepts and algorithms. It focuses on using tabular data sets and introduces examples of the key algorithmic methods used in each task: Classification, Clustering and Association Rule Induction. It also describes the problems related to mining unstructured data in general and presents selected feature representation and selection methods, information retrieval models, and information extraction approaches. The course will include both hand worked tutorials and applied lab work using the WEKA, Carrot2, and GATE systems.

CIT-647 Mathematical Methods in Visual Computing, 3 cr hrs

This course provides a comprehensive overview on the mathematical techniques and methods used in visual computing applications. The course contains two central themes: inverse problems in image processing; and statistical visual information analysis. The first theme introduces linear and non-linear inverse problems related to imaging and their solutions. This includes regularization methods for ill-posed problems and solutions to large scale inverse problems. The second theme introduces basic statistical methods of image restoration and analysis. This covers modeling of image intensity distribution, local smoothing filters, wiener filters, image segmentation, and shape analysis. The materials in this course emphasize the theoretical mathematical foundations of image processors as well as the practical implementation and numerical case studies of real imaging problems.

CIT 690 Selected Topics in CIT (3 cr hrs), could be repeated for credit if content changes.

Prerequisite: Approval of Program Director and consent of Instructor
This course covers current and emerging topics in the field of CIT.

CIT 699 Independent Studies in CIT (1, 2, 3 cr hr)

Prerequisite: Approval of Program Director and consent of Instructor
Supervised and directed individual study and research in special topics of relevance to the field of CIT.

CIT 700 MS Thesis, 9 cr hrs

Supervised thesis work in fundamental research or applied problems.

CIT 710 Project, 3 cr hrs

Extended hands-on project in an applied problem, typically from industry.