itcsbanner.jpg

Courses

Introduction to Convex Optimization Theory

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
CIT608

Network Architecture

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
CIT609

Cloud Computing

The course targets students and IT professionals looking for understanding cloud computing basics, environment and architecture. The course covers cloud infrastructure, cloud deployment and service models. This is in addition to basic concepts of traditional data centers, virtualization, migrating to cloud computing and deciding for optimal cloud deployment model.
CIT610

Software Architecture

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
CIT611

Software Project Management

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
CIT612

Software Testing & Verification

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
CIT613

Network Programming & Distributed Object Systems

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
CIT614

Software Development Studio I

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
CIT615

Software Development Studio II

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
CIT616

Advanced Software Engineering

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.
CIT617

Introduction to Information Security & Cryptography (Track Core)

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
CIT620

Risk Management

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
CIT627

Design of Communication Systems

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
CIT630

Antennas

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
CIT631

Wireless Communications

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.
CIT633

Advanced Coding & Signal processing

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
CIT634