itcsbanner.jpg

Courses

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
CIT-611

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
CIT-613

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
CIT-614

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
CIT-616

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.
CIT-617

Introduction to Information Security & Cryptography

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
CIT-620

Crypto-protocols & Network Security

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
CIT-621

Security  in  Wireless  Ad  Hoc Networks

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
CIT-623

Security Evaluation Methodologies

The course discusses 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
CIT-624

Security Incident Handling

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
CIT-625

Information Security Ethics, Policy and Legal Issues

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
CIT-626

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
CIT-627

Information Security Governance

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
CIT-628

Design of Communication Systems

Analysis and design of communication systems; including an overview of analogue 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
CIT-630