MS Computer Science
Transcript of MS Computer Science
The Master of Science in Computer Science MS (CS) program provides students the opportunity to combine a sound
foundation in Computer Science with concentrated knowledge in the latest developments in particular areas. The
program provides preparation in the advanced principles and processes of computation and training in applying
these principles in application areas in industry, science, government, and business. The program emphasizes on
course work along with practical assignments and research project.
The MS Computer Science program, spanned over four semesters, is in accordance with HEC MS(CS) curriculum
and consists of four core courses and four electives from various areas of specializations.
MS Computer Science
S. #. Course Code Course Title Credit Hours
Semester - I
1 CS 641
Advanced Analysis of Algorithm
3
2 CS 673
Advanced Computer Architecture
3
3 CS XXX
CS Elective I
3
Semester Cr. Hrs.
9
Semester - II
1 CS 640
Advanced
Theory of Computation
3
2 CS 650
Advanced Operating Systems
3
3 CS XXX CS Elective II 3
4 CS XXX CS Elective III 3
Semester Cr. Hrs. 12
Semester - III
1 CS XXX
CS Elective IV
3
2 CS 605
Thesis
6
Semester Cr. Hrs. 9
Program Details
135 AIR UNIVERSITYPROSPECTUS 2014-15
Semester - IV
1 CS 605
Thesis (continue)
-
Semester Cr. Hrs.
-
Total Cr. Hrs. 30
Important Notes:
1. Students with inadequate background will need to cover the prescribed deficiency courses before joining the
main MS CS Program.
List of Elective Courses
S. #. Course Code
Course
Title
Prerequisite Credit
Hours
Software Engineering
1 CS 601 Advanced Software Development 3
2 CS 602 Topics in Software Engineering 3
3 CS 603
Object Oriented Software Engineering
3
4 CS 604
Software Quality Assurance
3
5 CS 705
Requirements Engineering
3
6 CS 606
Software Architecture
3
7 CS 607
Agent Oriented Software Engineering
3
8 CS 608
Software Project Management
3
9 CS 609
Software Design
3
10 CS 610
Software Engineering & Formal Specifications
3
11 CS 611
Empirical Software Engineering
3
12 CS 612
Software Process Improvement
3
13 CS 613 Component-Based Software Engineering 3
14 CS 614 Safety-Critical Systems 3
136AIR UNIVERSITY PROSPECTUS 2014-15
Communications and Networking
34 CS 633
Advanced Networking
3
35 CS 634
Network Security
3
36 CS 635 Topics in Computer Networking 3
37 CS 636 Broadband & Satellite Communication 3
38 CS 637 Mobile and Pervasive computing 3
Information Management
15 CS 615
Advanced Database Management Systems
3
16 CS 616
Multimedia Database Systems
3
17 CS 617
Database Design
3
18 CS 618 Transaction Processing 3
19 CS 619 Distributed Databases 3
20 CS 620 Data Mining 3
21 CS 621
Spatial and Temporal Databases
3
22 CS 622
Data Warehousing
3
23 CS 623
Object Oriented Databases
3
24 CS 624
Advanced Topics in Databases
3
25 CS 671
Information Security
3
26 CS 625
Cryptography
3
27 CS 626
Information Retrieval Techniques
3
System Engineering
28 CS 627
Digital Signal Processing
3
29 CS 628
Control Systems and Robotics
3
30 CS 629
Real Time Systems
3
31 CS 630
Parallel & Distributed Systems
3
32 CS 631 Embedded System 3
33 CS 632 ASIC Design 3
137 AIR UNIVERSITYPROSPECTUS 2014-15
57 CS 656 Logic Programming 3
58 CS 657 Algorithms and complexity 3
59 CS 658
Automata and Language Theory
3
60 CS 659
Geometric Algorithms
3
61 CS 660
Parallel Algorithms
3
Artificial Intelligence
62 CS 661
Design of Intelligent Systems
3
63 CS 662
Machine Learning
3
39 CS 638
Wireless Networks
3
40 CS 639
Network Programming
3
41 CS 671
Information Security
3
42 CS 642
Network Performance Evaluation
3
43 CS 643
Network Management
3
44 CS 644
Enterprise Networking
3
45 CS 645
Cryptography
3
Distributed Computing
47 CS 646
Cluster Computing
3
48 CS 647
Distributed Computing
3
49 CS 648
Cloud Computing
3
50 CS 649 Autonomous Computing 3
51 CS 651 Grid Computing 3
Programming Language Design and Translators
52 CS 652
Advanced Compiler Design I
3
53 CS 653
Advanced Compiler Design II
3
54 CS 654
Programming Language Semantics
3
55 CS 672
Theory of Programming Languages
3
56 CS 655 Functional Programming 3
138AIR UNIVERSITY PROSPECTUS 2014-15
82 CS 688 Rich Internet Applications 3
83 CS 689 Graphical User Interfaces 3
84 CS 690
Multimedia Systems Development
3
85 CS 691
Interactive-Systems Development
3
Operating Systems
86 CS 692
Concurrent and Distributed Systems
3
87 CS 693 Real- Time Systems 3
64 CS 663 Data Mining 3
65 CS 664
Text Mining
3
66 CS 665
Neural Networks
3
67 CS 666
Mathematical Reasoning
3
68 CS 667 Decision Support Systems 3
69 CS 668 Computer Vision 3
70 CS 669 Automated Reasoning 3
71 CS 674 Knowledge based systems 3
72 CS 676
Natural Language Processing
3
73 CS 677
Agents
3
74 CS 678
Robotics
3
75 CS 679
Symbolic Computation
3
76 CS 682
Genetic Algorithms
3
77 CS 683
Semantic Web
3
Computer Architecture and Organization
78 CS 684
Embedded Systems
3
79 CS 685
Parallel and Distributed Systems
3
Human Computer Interaction
80 CS 686 Human Computer Interaction 3
81 CS 687 Intelligent User Interfaces
139 AIR UNIVERSITYPROSPECTUS 2014-15
Web Engineering
88 CS 694
Semantic Web
3
89 CS 695 Web Services 3
90 CS 696 Programming for the World-Wide Web 3
Graphics and Visual Computing
91 CS 697
Advanced Computer Graphics
3
92 CS 698
Image Processing
3
93 CS 699
Multimedia & Hypermedia System
3
94 CS 700
Virtual Reality
3
95 CS 701
Visualization
3
96 CS 702
Geographical Information Systems
3
97 CS 703
Computer Animation
3
98 CS 704 Genetic Algorithms 3
2. Students must select at least two elective courses from the Specialization Area. Other two elective courses may
be selected from other Specialization Areas as offered.
Course Description
CS 640 Advanced Theory of ComputationAutomata theory, formal languages, Turing machines,
computability theory and reducibility, computational
complexity, determinism, non-determinism, time
hierarchy, space hierarchy, NP completeness, selected
advanced topics.
CS 641 Advanced Analysis of AlgorithmAdvanced algorithm analysis including the
introduction of formal techniques and the underlying
mathematical theory, NP-completeness, Search
Techniques, Randomized Algorithms, Heuristic and
Approximation Algorithms,Other topics include
asymptotic analysis of upper and average complexity
bounds using big-O, little-o, and theta notation.
Fundamental algorithmic strategies (brute-force,
greedy, divide-and-conquer, backtracking, branch-and-
b o u n d , p a t t e r n m a t c h i n g , a n d n u m e r i c a l
approximations) are covered. Also included are
standard graph and tree algorithms.
CS 650 Advanced Operating SystemsIntroduction, Characterization of Modern Operating
Systems; f i le systems, memory management
techniques, Process scheduling and resource
management, System Models, Architectural models,
140AIR UNIVERSITY PROSPECTUS 2014-15
Interposes Communication, Issues of Security in
Distributed Systems (Partial coverage), Distributed
File System, Concurrency Control in Distributed
Systems, Problems of coordination and agreement in
Distributed Systems, Replication – Advantages and
requirements, Fault-tolerant services, Mobile and
Ubiquitous Computing
CS 673 Advanced Computer ArchitectureThis course is aimed at the hardware aspects of parallel
computer architectures including the design and
protocols evaluation for memory coherence, inter-
connection networks and system scalability. Advanced
topics in this course will cover multiprocessors on a
chip, reconfigurable computing and power aware
designs. Various coarse-grained and fine-grained
architectures with reference to SIMD and MIMD
designs should also be covered.
Electives
Specialization Area: Software Engineering
CS 601 Advanced Software DevelopmentThis advanced software engineering course will
explore leading research in the field of software
maintenance and evolution. This course covers all
technical phases of the software process including
requirements, software architecture and design,
language-software engineering interface, improving
the quality of code, diagnostic measures such as peer
reviews and testing, debugging, uses and misuses of
metrics, formal approaches, issues in maintenance and
operations. While the course discusses a broad
constellation of technical and non-technical
considerations that impact software engineering
quality, most of the tools and suggestions presented
concern software engineering practices and processes
CS 705 Requirements EngineeringOverview of requirements engineering and role in
system development, Fundamental concepts and
activities of requirements engineering, Information
e l i c i tat ion techniques , Model ing scenarios .
Fundamentals of goal-oriented requirements
engineering, Modeling behavioral goals, Modeling
quality goals, Goal modeling heuristics, Object
modeling for requirements engineering, Object
modeling notations, Object modeling heuristics,
Identifying objects from goals, Modeling use cases and
state machines, Deriving operational requirements
from goals, Requirements Specification, Requirements
verif ication and validation. Management of
inconsistency and conflict, requirements engineering
risks, the role of quality goals in the requirements
selection process, Techniques for requirements
evaluation, selection and prioritization; Requirements
management; Requirements traceability and impact
analysis.
CS 603 Object oriented software EngineeringTo get a deeper look in object oriented software
development techniques, pros and cons, theory and
practice, RUP process model and UML with object
oriented approach, Agile methodology, extreme
programming, Pure Object oriented programming
techniques and application in complex problems
CS 612 Software Process ImprovementsIntroduction to process Models, QA, CM, Project
141 AIR UNIVERSITYPROSPECTUS 2014-15
Planning, Process Modeling and Process Modeling
Techniques (Introduction and ETVX), Process Modeling
Techniques (IDEF0) Measuring and Analyzing the
Current State, CMM and Other process models, CMMI–
I, PSP and TSP, Review Lecture, Process Changes using
PDCA and IDEAL models, Process Assessments, Base-
lining, and Benchmarking, Project Management
aspects related to process management ,Process
Measurement, Process Metrics i.e. Maturity,
Management, and Life Cycle Metrics, Fundamentals of
Measurement and Experimentation, GQM and its
application to process management and improvement,
Introduction to Quality Metrics, Software Engineering
Measurements, Advance Topics in Software Process.
CS 602 Topics in Software EngineeringComponent Based Software Engineering, Software
Reuse Characteristics of Component, Difference
between Objects and Components, Component
Technologies, Specification, IDL, COTS, Web Services,
SOA, Challenge, Cloud based software Development,
Semantic web and Software Engineering. Aspect
oriented software Engineering.
CS 610 Software Engineering & Formal SpecificationIntroduction, Limitations of testing and need for formal
verification, Overview of logic and propositional
calculus, Combinational Logic, Logical Connectives,
Boolean Equality, Continued Equivalence, Disjunction,
Conjunction, Implication, Introduction to Hoare's
Logic, Weakest pre-condition, The assignment axiom,
Calculating assignments, Sequential composition,
Conditional statements, Reasoning about conditional
statements, Constructing conditional statements,
Inductive proofs and constructions, Patterns and
invariant, From verification to construction, Design by
Contract (DBC), The six principles of Design by
contract, UML and Formal Methods, The Object
Constraint Language (OCL), Algebraic Specifications,
Specifications of abstract data types, Completeness,
Axioms and term rewriting, Modularity and re-
usability, Model-based specifications, The Z (Zed)
specification Language, Z Schemas and Schema
Calculus , Promotions , Data and funct ional
refinements, Petri Nets, Limitations and Acceptance of
Formal Methods, Seven Myths of Formal Methods.
CS 604 Software Quality AssuranceIntroduction to software quality assurance, The Quality
Challenge, Quality Control v/s Quality Assurance,
Quality Assurance in Software Projects (Phases),
Principles and Practices, Quality Management, Quality
Assurance and Standards, Quality Planning and
Quality Control, Verification and Validation, Planning
Verification and Validation, Critical System Validation,
Reliability Validation, Safety Assurance, Security
assessment, Inspections and reviews, Principles of
software validation, Software verification, Planning for
Software Quality Assurance, Software Quality
Assurance (SQA) Plans, SQA-Organizational Level
Initiatives, SQA Planning (Observations, Numbers,
Results), Software Testing, Specification based test
construction techniques, White-box and grey-box
testing, Others comprehensive software testing
techniques for SDLC, Control flow oriented test
construction techniques, Data flow oriented test
construction techniques, Clean-room approach to
quality assurance, Product Quality and Process
Quality, Standards for process quality and standards
for product quality, Walkthroughs and Inspections,
Structure, Checklist, Audits, Roles and Responsibilities
142AIR UNIVERSITY PROSPECTUS 2014-15
(Reviews, Inspections, etc), How to make Reviews and
Inspections most effective
CS 606 Software ArchitectureDefinition and overview of software architecture, the
architecture business cycle, Understanding and
achieving quality attributes, Attribute-driven design,
Documenting software architecture, Evaluating
software architecture, Architecture reuse, Life-cycle
view of architecture design and analysis methods, The
QAW, a method for eliciting critical quality attributes,
such as avai labi l i ty, performance, security,
interoperability, and modifiability, Architecture Driven
Design, Evaluating a software architecture (ATAM,
CBAM, ARID), Principles of sound documentation,
View types, styles, and views; Advanced concepts such
as refinement, context diagrams, variability, software
interfaces, and how to document interfaces;
Documenting the behavior of software elements and
software systems; Choosing relevant views; Building a
documentation package.
CS 609 Software DesignOverview of SLDC, engineering design vs software
design, design heuristics and principles, reusability,
metrics and quality of design, design patterns,
architectural patterns, design issues of distributed and
real-time software, re-engineering and reverse
engineering.
CS 608 Software Project ManagementThis course will provide students with the analytical
and practical skills to plan, develop and improve the
effectiveness of a project through hands-on team and
project management. The purpose of the course is to
provide fundamental insights and introduce project
management tools and techniques that will be useful
throughout an engineer's career.
CS 611 Empirical Software EngineeringThis course is for students who are interested in the
empirical methods applied to the field of software
engineering. The course introduces quantitative and
qualitative evaluation methods in software
engineering. The course contains: 1. Descriptive and
inferential statistical methods applied to software
engineering 2. Qualitative methods in software
engineering 3. Methods required practicing evidence-
based software engineering
CS 613 Component Based Software EngineeringIntroduction to Component Based Software, Java
approaches to n-tier architectures (JEE, Spring, etc.),
Enterprise Computing in the real world (Case Study),
Message-Oriented Middleware, Virtualization and
Cloud Computing, Design Patterns and Enterprise
Architectures, The .NET model for distributed
computing, Persistence layers, User Interfaces, Web
Services
CS 614 Safety Critical SystemsSafety in Space Related Systems, Market Forces,
Tort/Insurance and Regulation, Terminology and
Ethics, Standards, Safety Culture and Management,
S t a n d a r d s , C o n f o r m a n c e a n d I E C 6 1 5 0 8 ,
Organizational failure and MORT, Requirements
Analysis, Risk Analysis, Software Engineering,
Software Requirements.
Degraded Modes in Safety Related Software, Hardware
Design, Fault Tolerant Architectures and the Shuttle
GPCs, Microprocessors, PLCs and electromagnetic
143 AIR UNIVERSITYPROSPECTUS 2014-15
compatibility, Static and Dynamic Testing
Human Factors, Accident and Incident Analysis
Specialization Area: Information Management
CS 616 Multimedia Database SystemsIntroduction; Overview of Relational and Object-
Relational Data Representations; Text/Document
Databases; Multidimensional Data Structures,
similarity based search (spatial, image, audio); XML
Databases ; Temporal Data Models ; Logical
Frameworks
CS 615 Advanced Database Management SystemsObject-Oriented Databases, Object-Relational
Databases, Mobile Databases, Temporal, Spatial and
Geographic Databases, Distributed Database Design,
Distributed Multimedia Database Systems, Data
Warehouse and OLAP Systems, Business Intelligence,
XML Data Models, XML Documents and DTD, XML
Query Languages, Current Research and Development
Trends of Database Analysis, Design, Modeling and
Applications
CS 619 Distributed DatabasesIntroduction to Distributed Data Processing;
Distributed DBMS Architecture; Distributed Database
Design: Issues, Fragmentation and Allocation;
Integrity Constraints, Distributed Query Processing;
Query Decomposition and Data Localization; Query
Optimization; Distributed Transaction Management
and Concurrency Control; Distributed DBMS
Reliability and Replication Techniques; Multidatabase
Systems.
CS 620 Data MiningThis course will offer a comprehensive coverage of well-
known Data Mining topics including classification,
clustering and association rules. A number of specific
algorithms and techniques under each category will be
discussed. Other topics include decision trees, rule
system, Bayesian networks, clustering algorithms,
regression, classifier and model evaluation.
CS 622 Data Warehousing Introduction to Data Warehouse and Data Marts,
Comparison of OLTP Systems & Data Warehousing,
Data Warehouse Architecture, Dimensional Modeling,
Comparison Of DM & ER Models, Extraction,
Cleansing and Loading process and techniques,
Designing a Data warehouse, End user tools, OLAP.
CS 626 Information Retrieval TechniquesBasic and advanced techniques for text-based
information systems: efficient text indexing; Basic IR
Models: Boolean and vector-space retrieval models;
ranked retrieval; text-similarity metrics; TF-IDF (term
frequency, inverse document frequency); cosine
s imilar i ty ; Experimental Evaluat ion of IR:
Performance metrics: recall, precision, and F-measure;
Evaluations on benchmark text collections; Web search
including crawling, link-based algorithms, and Web
metadata; text/Web clustering, classification; text
mining. Current research directions and future
perspective of the information retrieval domain.
CS 671 Information SecurityInformation Security Attacks & Vulnerabilities,
144AIR UNIVERSITY PROSPECTUS 2014-15
Anatomy of Attack, Awareness and Management
Commitment to Security, Security Policy, Information
Security Network Architecture Design Rules, Rules for
Selecting Security Hardware & Software, Physical
Security Rules, Network Hardware Security, Operating
System Security Rules, PC Operating Security Rules,
Internet Security Rules, Application Security Rules,
Software Validation and Verification Rules, Data
Encryption Rules, Configuration Management Rules,
Network Monitoring Rules, Maintenance and
Troubleshooting Security Rules, Emergency Rules
Attacks, An introduction to confidentiality, integrity,
availability; authentication technologies and models,
Controls and protection models, Security kernels,
Secure programming, Information Auditing, Intrusion
detection and response, Operational security issues,
Physical security issues, Personnel security, Policy
formation and enforcement, Access controls,
Information flow, Legal, privacy and social issues,
Identification and authentication in local and
distributed systems; classification and trust modelling,
Risks and vulnerabilities, Risk assessment, Database
security, Encryption, Host-based and network-based
security issues, Areas of particular focus include secure
network design, implementation and transition issues,
and techniques for responding to security breaches.
CS 625 CryptographyThe course consists of three parts: mathematical
background, cryptography, and network security. The
first part (mathematical background) introduces the
principle of number theory and some results from
probability theory, including Primes, random numbers,
modular arithmetic and discrete logarithms. The
second part (cryptography) covers cryptographic
algorithms and design principles, including
conventional and symmetric encryption (DES, IDEA,
Blowfish, Rijndael, RC-4, RC-5), public key or
asymmetric encryption (RSA, Diffie-Hellman), key
management, hash functions (MD5, SHA-1, RIPEMD-
160, HMAC), digital signatures, and certificates. The
third part (network security) deals with practical
applications that have been implemented and are in use
to provide network security, including authentication
protocols (X.509, Kerberos), electronic mail security
(S/MIME, PGP), web security and protocols for secure
electronic commerce (IPSec, SSL, TLS, SET).
CS 624 Advanced Topics in DatabasesData integration, Semantic heterogeneity, Ontology
engineering, Data caching and replication, Streaming
data, Semi-structured data (i.e., XML) storage,
Mapping between XML and relational databases,
Pervasive and mobi le d istr ibuted database
management
CS 618 Transaction ProcessingThis course is for students interested in learning about
properties of transactions including serializability,
recoverability, atomicity, and durability and their
implications for system behavior and performance,
models of transactions and how they influence the
design of applications involving transactional access to
a database, implementation and support of transaction
processing in modern relational and non-relational
database transaction processing systems, such as
concurrency control and logging, and architecture of
modern transaction processing systems and how
communication, security, and replication are
implemented in distributed transaction processing
systems.
145 AIR UNIVERSITYPROSPECTUS 2014-15
CS 621 Spatial and Temporal DatabasesThis course includes following topics: Introduction and
motivation, Time ontology, structure, and granularity,
Temporal data models, Temporal relational algebras,
Temporal query languages, Algorithms for temporal
join and aggregation, Spatial databases and data
models, Shortest path, k-NN, and isochrones queries
CS 623 Object oriented DatabasesRefreshing, extension and formalization of basic
concepts in object oriented programming and relational
d a t a b a s e s . C l a s s e s , o b j e c t s , i n h e r i t a n c e ,
polymorphism, encapsulation, static and dynamic
binding, message sending, relational mathematics,
normal forms. Handling of non-normalized structures.
Extensions and generalizations of the relational model
and the corresponding mathematics, modeling. Object
management systems. Concepts and problems.
Persistent programming. Methods and systems. Object
database management systems. Modeling, meta
programming, transactions, garbage collection, query
handling. Prototypes and user interfaces. Problems
related to temporal and spatial aspects. Existing
systems.An overview of commercial as well as academic
systems.
Specialization Area: System Engineering
CS 627 Digital Signal ProcessingOne- and N-dimensional signals and systems, Sampling
theorem, Discrete-time Fourier transform, discrete
Fourier transform, fast Fourier transform, z-
t rans f o rms : s tab i l i t y and min imum phase
signals/systems, Linear filtering of signal: Time
domain: Difference equations and convolution, Impulse
invariance, bilinear transform, FIR filter design, 2D
filter design, Statistical signal processing: Stochastic
signals: correlation functions and power density
spectra, Optimal filtering: Wiener filters, Adaptive
filters, LMS and array processing.
CS 628 Control Systems and RoboticsReview of classical control analysis methods. Nyquist
stability criterion. Classical design using frequency
domain methods, phase lead and lag controllers, PID
controllers. Relay auto tuning. Introduction to state
sp a ce m et hod s . S t a t e sp a ce m od e l s , s t a t e
t r a n s f o r m a t i o n s , s o l u t i o n o f t h e s t a t e
equations.Controllability and observability. Design
using state feedback. LQR design, pole placement, use
of observers.Introduction to robotics. Transducers,
actuators and robot control.
CS 629 Real Time SystemsThe principles of real-time and embedded systems
inherent in many hardware platforms and applications
being developed for engineering and science as well as
for ubiquitous systems, including robotics and
manufacturing, interactive and multimedia, immersive
and omnipresent applications. Real-time and quality of
service system principles, understand real-time
operating systems and the resource management and
quality of service issues that arise, and construct
sample applications on representative platforms.
Platforms range from handheld and mobile computers
to media and real-time server systems. Platforms may
also include specialized systems used in application-
specific contexts, such as autonomous robotics, smart
sensors, and others.
CS 630 Parallel and Distributed SystemsWhy use
parallel and distributed systems? Why not use them?
146AIR UNIVERSITY PROSPECTUS 2014-15
Speedup and Amdahl's Law, Hardware architectures:
multiprocessors (shared memory), networks of
workstations (distributed memory), clusters (latest
variation). Software architectures: threads and shared
memory, processes and message passing, distributed
shared memory (DSM), distributed shared data (DSD).
Possible research and project topics, Parallel
Algorithms, Concurrency and synchronization, Data
and work partitioning, Common parallelization
strategies, Granularity, Load balancing, Examples:
parallel search, parallel sorting, etc. Shared-Memory
Programming: Threads, Pthreads, Locks and
semaphores, Distributed-Memory Programming:
Message Passing, MPI, PVM. Other Parallel
Programming Systems, Distributed shared memory,
Aurora: Scoped behavior and abstract data types,
Enterprise: Process templates
CS 631 Embedded SystemsThe fundamentals of
embedded system hardware and firmware design will
be explored. Issues such as embedded processor
selection, hardware/firmware partitioning, glue logic,
circuit design, circuit layout, circuit debugging,
development tools, firmware architecture, firmware
design, and firmware debugging will be discussed. The
Intel 8051, a very popular microcontroller, will be
studied. The architecture and instruction set of the
microcontroller will be discussed, and a wirewrapped
microcontroller board will be built and debugged by
each student. The course will culminate with a
significant final project which will extend the base
microcontroller board completed earlier in the course.
Learning may be supplemented with periodic guest
lectures by embedded systems engineers from industry.
Depending on the interests of the students, other topics
may be covered.
CS 632 ASIC DesignReview of integrated circuit
technology and evolution of FPGA technology, VHDL
hardware description, language and design description
at the gate and register transfer level, Sequential
circuit and finite state machine (FSM) design, Design of
arithmetic circuits: adders, multipliers, dividers, digital
filters, etc. , Design for testability and Basic fault
tolerance strategies, Advanced topics covered by
student presentations
Specialization Area: Communications and Networking
CS 633 Advanced NetworkingReview of basic concepts: The OSI Model, packet and
circuit switching, network topology, ISDN. The TCP/IP
protocol stack: IP, ARP, TCP and UDP, DNS, ICMP,
Internet Addressing, Routing, IP Multicast, RSVP,
Next Generation IP – Ipng, Wireless: Radio basics,
Satellite Systems, WAP, current trends, Issues with
wireless over TCP. Congestion Control: Control vs.
Avoidance. Algorithms, Congestion in the Internet.
Mobile IP, Voice over IP (VoIP), VPNs, Network
Security. Management: Quality of Service (QoS),
network vs. distributed systems management
Protocols, web-based management
CS 634 Network SecurityIntroduction tocryptology and simple cryptosystems;
Conventional encryption techniques; Stream and block
ciphers; DES; More on Block Ciphers; The Advanced
Encryption Standard. Confidentiality & Message
authentication: Hash functions; Number theory and
algorithm complexity; Public key Encryption. RSA and
Discrete Logarithms; Elliptic curves; Digital
signatures. Key management schemes; Identification
schemes; Dial-up security. E-mail security, PGP, S-
147 AIR UNIVERSITYPROSPECTUS 2014-15
MIME; Kerberos and directory authentication.
Emerging Internet security standards; SET; SSL and
IPsec; VPNs; Firewalls; Viruses; Miscellaneous topics.
CS 635 Topics in Computer NetworkingOverview of packet switching networks and devices,
Fundamentals of Internet Protocol (IP) networking,
Route lookup algorithms, Router architecture and
performance, Detailed operation of Internet routing
protocols such as Open Shortest Path First (OSPF) and
Border Gateway Protocol (BGP). Integrated and
differentiated network service models, Traffic
Engineering (TE) concepts and mechanisms including
label assignment, label distribution, and constraint-
based routing algorithms, Multi-protocol label
switching and its generalization, Quality of service
mechanisms f o r mul t imed ia and rea l - t ime
communications, TE-based routing and signaling
protocols, Fundamentals of per-flow and aggregate
scheduling algorithms. Application-level and network-
level signaling protocols for data, voice, and video
communications, Resource signaling and resource
reservation protocols, Worst-case analysis for
multimedia networking
CS 638 Wireless NetworksThis course covers fundamental techniques in design
and operation of first, second, and third generation
wireless networks: cellular systems, medium access
techniques, radio propagation models, error control
techniques, handoff, power control, common air
protocols (AMPS, IS-95, IS-136, GSM, GPRS, EDGE,
WCDMA, cdma2000, etc), radio resource and network
management. As an example for the third generation
air interfaces, WCDMA is discussed in detail since it is
expected to have a large impact on future wireless
networks. This course is intended for graduate students
who have some background on computer networks.
CS 642 Network Performance EvaluationThis is an advanced course in networks and protocols.
Analytical, simulation and experimental methods
should be used to evaluate and design networks and
protocols. Investigate network management tools and
techniques.
CS 643 Network ManagementThe course objectives are to develop in the students, a
deeper understanding of network design, management,
and associated technologies. Network Design and
Management, Network Security, Enterprise Network,
Network Management , Telecommunicat ions
Management Network (TMN), Network Management
Protocols (SNMP, CMIP), Broadband Network
Management, ATM Network Management, Network
Management Tools and Applications
CS 636 Broadband and Satellite CommunicationsBasic Telephone Fundamentals, High Speed Modems,
Digital Modulation Techniques, Orthogonal Signals,
Networking, Communications, RF & Microwave
Communications, Communications using the Power
line Carrier PLC, Communications using the Phone
line, HomePNA, RF & Microwave Communications,
Satellite Communications
CS 671 Information SecurityInformation Security Attacks & Vulnerabilities,
Anatomy of Attack, Awareness and Management
Commitment to Security, Security Policy, Information
Security Network Architecture Design Rules, Rules for
148AIR UNIVERSITY PROSPECTUS 2014-15
Selecting Security Hardware & Software, Physical
Security Rules, Network Hardware Security, Operating
System Security Rules, PC Operating Security Rules,
Internet Security Rules, Application Security Rules,
Software Validation and Verification Rules, Data
Encryption Rules, Configuration Management Rules,
Network Monitoring Rules, Maintenance and
Troubleshooting Security Rules, Emergency Rules
Attacks, An introduction to confidentiality, integrity,
availability; authentication technologies and models,
Controls and protection models, Security kernels,
Secure programming, Information Auditing, Intrusion
detection and response, Operational security issues,
Physical security issues, Personnel security, Policy
formation and enforcement, Access controls,
Information flow, Legal, privacy and social issues,
Identification and authentication in local and
distributed systems; classification and trust modelling,
Risks and vulnerabilities, Risk assessment, Database
security, Encryption, Host-based and network-based
security issues, Areas of particular focus include secure
network design, implementation and transition issues,
and techniques for responding to security breaches.
CS 637 Mobile and Pervasive ComputingThis course
introduces the concepts in the area of mobile computing,
to provide a computer systems perspective on the
converging areas of wireless networking, embedded
systems, and software. It focuses on pervasive
computing, vision, mobile device architectures,
operating systems, applications and platforms, mobile
application design and development. Moreover, it
emphasizes on wireless networking technologies,
pervasive naming and discovery, location detection and
tracking, pervasive data access, context awareness,
security in mobile and pervasive systems, human
interaction in mobile and pervasive systems and energy
management.
CS 639 Network ProgrammingC / Unix TCP & UDP
socket programming; routing & raw sockets; RPC;
shared memory. Assignments and programming
projects will focus the course on network programming
in the context of network protocol development and
implementat ion (e .g . , TCP, ICMP, rout ing ,
multicasting, ARP, etc.), and distributed services and
'system-level' applications (e.g., client-server and peer-
to-peer applications, distributed file systems, name
services, etc.).
CS 625 CryptographyThe course consists of three parts: mathematical
background, cryptography, and network security. The
first part (mathematical background) introduces the
principle of number theory and some results from
probability theory, including Primes, random numbers,
modular arithmetic and discrete logarithms. The
second part (cryptography) covers cryptographic
algorithms and design principles, including
conventional and symmetric encryption (DES, IDEA,
Blowfish, Rijndael, RC-4, RC-5), public key or
asymmetric encryption (RSA, Diffie-Hellman), key
management, hash functions (MD5, SHA-1, RIPEMD-
160, HMAC), digital signatures, and certificates. The
third part (network security) deals with practical
applications that have been implemented and are in use
to provide network security, including authentication
protocols (X.509, Kerberos), electronic mail security
(S/MIME, PGP), web security and protocols for secure
electronic commerce (IPSec, SSL, TLS, SET).
149 AIR UNIVERSITYPROSPECTUS 2014-15
Specialization Area: Distributed Computing
CS 647 Distributed ComputingWhy use parallel and distributed systems? Why not use
them? Speedup and Amdahl's Law, Hardware
architectures: multiprocessors (shared memory),
networks of workstations (distributed memory),
clusters (latest variation). Software architectures:
threads and shared memory, processes and message
passing, distributed shared memory (DSM), distributed
shared data (DSD). Possible research and project topics,
Parallel Algorithms, Concurrency and synchronization,
Data and work partitioning, Common parallelization
strategies, Granularity, Load balancing, Examples:
parallel search, parallel sorting, etc. Shared-Memory
Programming: Threads, Pthreads, Locks and
semaphores, Distributed-Memory Programming:
Message Passing, MPI, PVM. Other Parallel
Programming Systems, Distributed shared memory,
Aurora: Scoped behavior and abstract data types,
Enterprise: Process templates
CS 646 Cluster ComputingTopics to be covered include: A general introduction to
the concept of cluster based distributed computing,
Hardware technologies for cluster computing, including
a survey of the possible node hardware and high-speed
networking hardware and software, Software for
cluster computing, Software and software architectures
for cluster computing, including both shared memory
(OpenMP) and message-passing (MPI/PVM) models,
Programming, features and performance of standard
MPI variants (LAM/MPICH/vendor specific MPI
versions), Derived data types, communicators, MPI-2
extension, dynamic process creation, one-sided
communication, parallel I/O, Variants based on new low
level protocols (MVAPICH), evaluation and tuning of
system and software performance, Linux for clusters,
cluster monitoring, Performance evaluation tools,
HINT, netperf, netpipe, ttcp, Iperf, Configuring and
Tuning Clusters: This will involve evaluation of the
performance of various nodes and networking hardware
such as Gigabit Ethernet, Myrinet, Infiniband,
Quadrics etc.
CS 648 Cloud ComputingTopics to be covered include: Overview of Distributed
Computing, Introduction to Cloud Computing,
Infrastructure as a Service (IaaS), Platform as a Service
(PaaS), Software as a Service (SaaS), Cloud issues and
challenges
CS 649 Autonomous ComputingThe course will cover material related to, but not limited
to the following wide spectrum of topics:Autonomic
attributes and the grand challenge, Complexity in
autonomic computing and its forms, Architecture, open
standards, implementation considerations, enabling
technology and development tools, Machine learning
and multiagent systems in the development of
autonomic computing, Biologically inspired computing
(evolutionary algorithms, cellular automata, DNA
computation, amorphous computing, etc), Algorithms
and optimization (graph algorithms, combinatorial
scientific computing, Monte-Carlo simulations, linear,
nonlinear and discrete optimization, and others), and
their use in autonomic computing, Cloud computing
fundamentals, technologies and applications, The Role
of grid computing technologies in cloud computing,
Scientific clouds and HPC on competitive cloud
150AIR UNIVERSITY PROSPECTUS 2014-15
resources, State-of-the-art of present technology in
autonomic computing, Ongoing widely known projects -
strengths and limitations.
CS 651 Grid ComputingTopics to be covered include a selection from:
Introduction to the Grid, Grid Architecture, Open Grid
Service Architecture (OGSA), WSRF and Data Grids,
Networking Infrastructure, Protocols and Quality of
Service, Computing Platforms. Operating Systems and
Network Interfaces, The Globus Toolkit: Core systems
and related tools such as the Message Passing Interface
communication library, the Remote I/O (RIO) library,
and the Nimrod parameter study library, Security,
Accounting and Assurance, Grid Monitoring,
Instrumentation and Measurement, Performance
Analysis and Visualization, Grid Scheduling, Resource
M a n a g e m e n t , R e s o u r c e B r o k e r s , R e s o u r c e
Reservations, Workflow Management, Grid Portal
Development, Application Case Studies
Specialization Area: Programming Language Design & Translators
CS 672 Theory of Programming LanguagesIntroduction and History, Syntax and Semantics,
Control Structures, Types, Logic Programming,
Functional Programming and Lambda calculus,
Concurrent and Distributed Programming, Dataflow,
Object-oriented Programming.
CS 652 Advanced Compiler Design IAn in-depth study of compiler backend design for high-
performance architectures. Topics include control-flow
and data-flow analysis, classical optimization,
instruction scheduling, and register allocation.
Advanced topics inc lude memory hierarchy
management, optimization for instruction-level
parallelism, modulo scheduling, predicated and
speculative execution. The class focus is processor-
specific compilation techniques, thus familiarity with
both computer architecture and compilers is
recommended.
CS 653 Advanced Compiler Design IIThe course should consist of one or two major projects.
Theoretical study should depend on the level of the first
course Design I and the student needs.
CS 654 Programming Language SemanticsIntroduction,transition systems,the idea of structural
operational semantics, Transition semantics of a simple
imperative language, Language design options, Types,
Introduction to formal type systems, Typing for the
simple imperative language, Statements of desirable
properties, Induction; Review of mathematical
induction, Abstract syntax trees and structural
induction, Rule-based inductive definitions and proofs,
Proofs of type safety properties, Functions; Call-by-
name and call-by-value function application, semantics
and typing; Local recursive definition, Data; Semantics
and typing for products, sums, records, references.
Subtyping; Record subtyping and simple object
encoding, Semantic equivalence; Semantic equivalence
of phrases in a simple imperative language, including
the congruence property, Examples of equivalence and
non-equivalence, Concurrency; Shared variable
interleaving, Semantics for simple mutexes; a
serializability property
151 AIR UNIVERSITYPROSPECTUS 2014-15
CS 655 Functional ProgrammingThis course will discuss important concepts of
functional programming such as recursive definitions,
higher-order functions, type inference, polymorphism,
abstract data types, modules etc. The programming
exercises will illustrate the utility of list-processing,
pattern matching, abstraction of data/control, strong
typing, and parameterized modules (functors). The
mathematical reasoning involved in the design of
functional programs and techniques for proving
properties about functions so defined.
CS 656 Logic ProgrammingThis course deals with logic programming paradigm
and Prolog. It will discuss the syntax and the semantics
of Prolog, the working of a Prolog interpreter and
various applications of Prolog. In particular, the use of
Prolog for database querying, parsing, meta-
programming, and problem solving in AI will be
discussed.
CS 657 Algorithms & ComplexityAnalysis of the running time and space complexity of
algorithms, Bbig Oh notation, (e.g., O(n lg n),
Correctness of an algorithm, Mathematical techniques
required to prove the t ime complexity of a
program/algorithm. (e.g., limits and sums of
series.),Inductive proofs, Master Theorem, Notions of P,
NP, NPC, and NP-hard, Comparing the rates of growth
of functions, Algorithmic complexity principles in the
design of programs, Design of divide and conquer and
dynamic programming algorithms.
CS 658 Automata and Language TheoryFini te State Models : Language de f in i t ions
preliminaries, Regular expressions/Regular languages,
Finite automata (FAs), Transition graphs (TGs), NFAs,
Kleene's theorem, Transducers (automata with output),
Pumping lemma and non-regular language Grammars
and PDA: Context free grammars, Derivations,
derivation trees and ambiguity, Simplifying CFLs ,
Normal form grammars and parsing, Decidability,
Chomsky's hierarchy of grammars Turing Machines
Theory: Turing machines, Post machine, Variations on
TM, TM encoding, Universal Turing Machine, Context
sensitive Grammars, Defining Computers by Tms.
CS 659 Geometric AlgorithmsGeometric fundamentals, Convexity, Arrangements,
Proximity problems, Geometric searching, Partition
trees and range searching, Triangulations, Random
sampling techniques, Visibility and shortest path
problems, Robustness in geometric computation, Issues
in topological consistency; handling of degeneracies;
rounding of geometric structures; robust algorithms.
CS 660 Parallel AlgorithmsIntroduction; Conceptual frameworks for parallelism,
message passing, shared address space, PRAM, Cost
models for parallel algorithms, Cost efficiency and
scalability, Inter-model emulation. Simple examples,
Problem solving strategies; Embarrassing parallelism,
d iv ide & conquer, p ipe l in ing , s tep -by -s tep
parallelization, Amdahl's Law, Useful primitives;
Collective communications, reduction, prefix;
Algorithms in selected problem areas, for example;
Sorting (bitonicmergesort, hyperquicksort). Matrix
oriented algorithms (multiplication, solving linear
systems). Graph algorithms (spanning trees, single
source & all-to-all shortest paths).
152AIR UNIVERSITY PROSPECTUS 2014-15
Specialization Area: Artificial Intelligence
CS 661 Design of Intelligent SystemsThis course will introduce theories, and algorithms in
artificial intelligence and machine learning. The topics
covered in this course include: Learning and
adaptation, decision theory, automating reasoning,
formal inference, reasoning, knowledge representation,
neural networks, expert systems, learning problems,
unsupervised learning and clustering, component
analysis (PCA, ICA), genetic algorithms, fuzzy systems,
and case-Based systems.
CS 662 Machine LearningThis course provides a broad introduction to machine
learning, and statistical pattern recognition. Topics
include: supervised learning, parametric/non-
parametric algorithms, support vector machines,
kernels, neural networks, unsupervised learning,
clustering, dimensionality reduction, recommender
systems, deep learning, best practices in machine
learning, bias/variance theory, innovation process in
machine learning and AI.
CS 663 Data MiningThis course will offer a comprehensive coverage of well-
known Data Mining topics including classification,
clustering and association rules. A number of specific
algorithms and techniques under each category will be
discussed. Other topics include decision trees, rule
system, baysian networks, clustering algorithms,
regression, classifier and model evaluation.
CS 664 Text MiningThis course will offer a comprehensive coverage of well-
known Text Mining topics including basic and advanced
methods for web information retrieval, indexing and
crawling, IR models, link and click data, social search,
text classification and clustering, Booleanretrieval,
index construction and compression, scoring and
weighting, relevance feedback and query expansion,
text classification and naive bayes, link analysis.
CS 665 Neural NetworksThis course introduces the basic models, learning
algorithms, and some applications of neural networks.
This course covers following topics: basic neuron
models, McCulloch-Pitts model and the generalized
one, distance or similarity based neuron model, radial
basis function model, basic neural network models,
multilayer perceptron, distance or similarity based
neural networks, associative memory and self-
organizing feature map, radial basis function based
multilayer perceptron, neural network decision trees,
basic learning algorithms, the delta learning rule, the
back propagation algorithm, self-organization learning,
t h e r 4 - r u l e , p a t t e r n r e c o g n i t i o n , f u n c t i o n
approximation, and information visualization.
CS 666 Mathematical ReasoningThis course integrates numeracy, proportional
reasoning, algebraic reasoning, and understanding of
functions. An activity based approach is used to explore
numerical concepts, quantitative reasoning, graphical
displays of data, proportional relationships in real-
world problems, problem solving with equations and
inequalities, functions, and linear and exponential
models and other mathematical models.
153 AIR UNIVERSITYPROSPECTUS 2014-15
CS 667 Decision Support SystemsThis course reviews the literature in the area of DSS
and explores various DSS frameworks. This course
covers following topics: develop an understanding of the
process of decision making, information processing in
individuals and organizations, understand the various
issues involved in the design, implementation and
evaluation of DSS, explore various DSS architectures,
explore Data driven DSS, Model centric DSS,
Knowledge oriented DSS, visualization oriented DSS,
explore intra and inter organizational DSS with a
specific focus on web and distributed architectures,
explore areas that impact on DSS namely Data
warehousing, OLAP, Data Mining, statistics,
Optimization, Simulation, Supply Chain Intelligence,
Customer Intelligence, and Visualization, apply the
knowledge ga ined through the des ign and
implementation of a prototype.
CS 668 Computer VisionThis course covers overview of computer vision, related
areas, and applications. Other topics include: Image
formation and representation, imaging geometry,
radiometry, digitization, cameras and projections, rigid
and affine transformations, filtering, convolution,
smoothing, differencing, and scale space, feature
detection, edge detection, corner detection, line and
curve detection, active contours, SIFT and HOG
descriptors, shape context descriptors, model fitting,
camera calibration, epipolar geometry, model
reconstruction, motion analysis, motion tracking, object
recognition and shape representation.
CS 669 Automated ReasoningThe course combines an exposition of theory with the
analysis of particular computer programs for reasoning.
Topics includes: First Order Logic and Higher Order
Logic, Unification algorithm, Natural Deduction, model
checking, computation tree logic, syntax and semantics,
model checking algorithm, model checker: SMV or
SPIN, Interactive Theorem Proving, Human-oriented
methods, decidable problems and automation, program
verification, functional programs, case studies on
sorting algorithms.
CS 674 Knowledge based SystemsThis course introduces students to the basic concepts in
knowledge-based systems and provides practical
experience through project work. The topics covered
include: knowledge representation and problem
solving; knowledge acquisition and machine learning;
knowledge level modeling, expert systems lifecycles and
expert system shells.
CS 676 Natural Language ProcessingIn this course you will study mathematical and
computational models of language, and the application
of these models to key problems in natural language
processing. The course has a focus on machine learning
methods. Topics covered include: Language modeling,
Hidden Markov models, and tagging problems,
Probabilistic context-free grammars, and the parsing
problem, Statistical approaches to machine translation,
Log-linear models, and their application to NLP
problems, Unsupervised and semi-supervised learning
in NLP.
CS 677 AgentsThis subject will show how software agents and agent
oriented programming is relevant for many
applications beyond the traditional area of artificial
154AIR UNIVERSITY PROSPECTUS 2014-15
intelligence. This course includes topics, automated
planning, search and heuristics, actions in situation
calculus, regression, linear and temporal logics on finite
traces, mobility, weak mobility and hard mobility.
CS 678 RoboticsThis course provides an overview of robot mechanisms,
dynamics, and intelligent controls. Topics include
planar and spatial kinematics, and motion planning;
mechanism design for manipulators and mobile robots,
multi-rigid-body dynamics, 3D graphic simulation;
control design, actuators, and sensors; wireless
networking, task modeling, human-machine interface,
and embedded software.
CS 679 Symbolic ComputationThis course covers following topics: Symbolic versus
numeric computation. History of systems for symbolic
computation, Algebraic Structures, The need for
simplification. Normal forms for polynomials. Data
structures for integers and polynomials. Rational
functions and power series, homomorphism. Chinese
remainder algorithm and interpolation. The Hensel
construction, Generalizations of the Euclidean
algorithm for multivariate polynomials.Modular
a l g o r i t h m s . H e n s e l t e c h n i q u e s . H e u r i s t i c
t e c h n i q u e s . B e r l e k a m p ' s m e t h o d . H e n s e l
techniques.Heuristic techniques,Variations of
Gaussian elimination, Modular techniques.Systems of
polynomial equations.
CS 682 Genetic AlgorithmsThis module teaches you about genetic algorithms
(GAs), genetic programming (GP) and other such
evolutionary computing (EC) ideas based on the idea of
solving problems through simulated evolution. These
techniques are useful for searching very large spaces.
Topics covered: The basics of biological evolution:
Darwin, DNA, The basics of GAs: selection,
recombination and mutation. Choices of algorithm. The
standard test functions. Fitness and objective
functions, Representational issues, binary, integer and
real-valued encodings; permutation-based encodings.
Operator issues, different types of crossover and
mutation, of selection and replacement. Inversion and
other operators, Experimental issues, design and
analysis of sets of experiments, the schema theorem and
its flaws, selection takeover times; other approaches to
providing a theoretical basis for studying GA issues,
Rival methods and genetic planning.
CS 683 Semantic WebThis coursewill discuss the Semantic Web and semantic
representation and reasoning of data using ontologies.
Topics covered are the following: Semantic Web Vision,
ontology Languages: RDF, RDFS, OWL, Ontology
Design and Management using the Protégé editor,
Ontology Reasoning with Pellet, Ontology Querying
with SPARQL, Ontology Programming with the Jena
API, current Applications of the Semantic Web.
Specialization Area: Computer Architecture and Organization
CS 685 Parallel and Distributed SystemsWhy use parallel and distributed systems? Why not use
them? Speedup and Amdahl's Law, Hardware
architectures: multiprocessors (shared memory),
networks of workstations (distributed memory),
clusters (latest variation). Software architectures:
threads and shared memory, processes and message
155 AIR UNIVERSITYPROSPECTUS 2014-15
passing, distributed shared memory (DSM), distributed
shared data (DSD). Possible research and project topics,
Parallel Algorithms, Concurrency and synchronization,
Data and work partitioning, Common parallelization
strategies, Granularity, Load balancing, Examples:
parallel search, parallel sorting, etc. Shared-Memory
Programming: Threads, Pthreads, Locks and
semaphores, Distributed-Memory Programming:
Message Passing, MPI, PVM. Other Parallel
Programming Systems, Distributed shared memory,
Aurora: Scoped behavior and abstract data types,
Enterprise: Process templates. Research Topics.
CS 684 Embedded Systems The fundamentals of embedded system hardware and
firmware design will be explored. Issues such as
embedded processor selection, hardware/firmware
partitioning, glue logic, circuit design, circuit layout,
circuit debugging, development tools, firmware
architecture, firmware design, and firmware debugging
will be discussed. The Intel 8051, a very popular
microcontroller, will be studied. The architecture and
instruction set of the microcontroller will be discussed,
and a wirewrapped microcontroller board will be built
and debugged by each student. The course will
culminate with a significant final project which will
extend the base microcontroller board completed earlier
in the course. Learning may be supplemented with
periodic guest lectures by embedded systems engineers
from industry. Depending on the interests of the
students, other topics may be covered.
CS 686 Human Computer InteractionThe fundamental concepts of human computer
interaction which include user centered design
approaches, usability engineering methods, interface
design principles, prototyping techniques, software
evaluation methods, heuristics and related application
areas of interactive computer systems.
CS 687 Intelligent User InterfacesThe increasing complexity of software and the
proliferation of information makes intelligent user
interfaces increasingly important. The promise of
interfaces that are knowledgeable, senstitive to our
needs, agile, and genuinely useful has motivated
research across the world to advance the state of the art
and practice in user interfaces that exhibit intelligence.
The text covers the topic well.
CS 688 Rich Internet Applications This course covers the concept and technology evolution
regarding the internet applications and the use of
interface tools. Mainly, the course can focus on any one
of the technologies of modern day, for example,
macromedia's FLASH. However, the course will use the
concepts of data structures, object oriented
programming, programming languages and the
software design and engineering to develop projects of
medium to large magnitude
CS 689 Graphical User InterfacesThe course will unfold by examining specific aspects of
interface design, prototyping, and evaluation.
Theoretical lectures will be augmented by case studies
and discussions of interface successes and failures. You
will apply the theoretical knowledge learnt to a series of
examples that brings you through different parts of the
design and evaluation cycle.
CS 691 Interactive Systems DevelopmentThe perceptual, cognitive and physical limitations of
156AIR UNIVERSITY PROSPECTUS 2014-15
users. The role of interface design in the software
engineering lifecycle. Identifying user tasks from
informal requirements. Using text, forms, menus and
graphics in interactive systems. Evaluation of the
utility and usability of human computer interfaces.
CS 690 Multimedia Systems DevelopmentThis course is designed to provide students with
advanced information, necessary skills and expertise to
develop instructional systems with the help of
technology. The course underlines major steps,
processes and techniques in analysis, design,
development and evaluation of instructional systems.
In addition to learning the process and principles of
instructional design, this course also focuses on helping
students learn how to work best as a team member
within the design process. It is aimed to provide
students with experiences related to instructional
design and team work via practice within the context of
projects. Lastly, this course aims to foster students'
development as a resourceful, independent learner and
designer.
Specialization Area: Operating Systems
CS 692 Concurrent and Distributed SystemsIntroduction to thread models. Overview of properties
of distributed and concurrent systems.Software system
structure.Occurrence of concurrency in systems. Recap
of scheduling and pre-emption. Thread models.
Classical concurrency control.Shared data and critical
r e g i o n s . M u t u a l e x c l u s i o n a n d c o n d i t i o n
synchronization.Semaphores.Implementation of
concurrency control.Classical problems using
semaphores.Bounded cyclic buffer (producer(s) and
consumer(s)), multiple readers and writers. Problems
arising in semaphore programming. Concurrency
support in programming languages. Shared data:
monitors, pthreads, Java. No shared data: occam, Ada
active objects, Erlang, Kilim, tuple spaces. Lock-free
programming. Concurrent composite operations.
Composite operations in main memory and persistent
memory. Dynamic resources allocation and deadlock.
Dining philosophers program. Deadlock detection and
avoidance. Transactions. ACID properties. Concurrency
control and crash recovery. Definition of conflicting
operations. Serialization. Cascading aborts. Database
concurrency control. Pessimistic concurrency control:
two-phase locking, timestamp ordering. Optimistic
concurrency control. Database recovery and summary
of “Concurrency”. Write ahead log, undo/redo. Points to
take forward.
CS 693 Real Time SystemsThe principles of real-time and embedded systems
inherent in many hardware platforms and applications
being developed for engineering and science as well as
for ubiquitous systems, including robotics and
manufacturing, interactive and multimedia, immersive
and omnipresent applications. Real-time and quality of
service system principles, understand real-time
operating systems and the resource management and
quality of service issues that arise, and construct
sample applications on representative platforms.
Platforms range from handheld and mobile computers
to media and real-time server systems. Platforms may
also include specialized systems used in application-
specific contexts, such as autonomous robotics, smart
sensors, and others.
157 AIR UNIVERSITYPROSPECTUS 2014-15
Specialization Area: Web Engineering
CS 694 Semantic WebsIntro to Semantic Web, Building a semantic web App to
gain exposure to standards and Jena, Relational, XML,
and Semantic (RDF, RDFS and OWL) approaches,
Ontologies and Knowledge Representation, SUMO,
OWL and Protégé, Description Logic, Expressiveness
and Decidability, SIGMA and RIF, Algorithms for
Search, Recommendation, Grouping & Classification,
Rules, Querying, and Reasoning, SPARQL and Pellet
CS 695 Web ServicesOverview of Web Services, Service-Oriented
Architecture: HTTP and XML, SOAP, WSDL, UDDI,
REST, Web Services for Java EE, Hosting Web Services,
Invoking Web Services, Web Services for Java EE
(WS4JEE), JAX-WS and JAXB, SAAJ and JAXP,
Portable Web-Services Metadata, Service Registries:
JAXR, Interfaces vs. Platforms, RPC-style Web
Services, RESTful Web Services, Implementing XML
Standards, Internationalization, Security and
Authentication, Transactions, Interface Versioning
CS 696 Programming for the WWWLayers of the Internet, World Wide Web, DNS, URL,
Overview of Web Applications, Guide to the Server,
HTML Basics, Tags, Formatting Text, Creating Links,
Adding Images, Lists, Tables, Frames, Forms,
Cascading Style Sheets, JavaScript Language,
Document Object Model, Dynamic HTML, PHP,
Processing Forms, Maintaining State in Web
Applications, Cookies, Data Tier, Back-end Database
Support, SQL Primer, Database Interface in PHP,
Regular Expressions and Matching, Multimedia and
Interactivity, Audio on the Web, Video on the Web,
AJAX, Web Security
Specialization Area: Graphics and Visual Computing
CS 697 Advanced Computer GraphicsTopics to be covered include, but are not limited to,
Introduction to Basic Ray Tracing and BRDFs, Global
Illumination and Monte Carlo Rendering, Recent
Developments in Fast Offline Rendering, Image-Based
and Real-Time Rendering, Data-Driven Methods,
Signal-processing and low-dimensional and data-
sparse methods, Imaging and Computational
Photography, Basic Geometric Concepts, Meshes and
Subdivision Surfaces, Finite Elements and Numerical
Integration for Animation, Fluid Simulation and
Reduced Order Models, Inverse Kinematics, Rigid Body
Dynamics.
CS 698 Image ProcessingThis course introduces the basic theories and
methodologies of digital image processing. Topics
include intensity transformations for image
enhancement, two-dimensional discrete Fourier
transform, spatial and frequency domain linear image
filtering, nonlinear image filtering, binary image
processing, edge detection, image segmentation, and
digital video processing basics.This course makes
extensive use of MATLAB as an analysis, design, and
visualization tool.
CS 699 Multimedia and Hypermedia SystemThen topics of this course includes a model for the
Design and Development of Multimedia and
158AIR UNIVERSITY PROSPECTUS 2014-15
Hypermedia projects, Using Macromedia Director,
Graphic design and Usability, Usability assessment of
MM/HM applications, Research Topics in Hypermedia,
How to manage MM/HM projects effectively, Content-
based Information Retrieval, Querying, searching,
Interaction and evaluation, Color, texture, shape
features, Image indexing, Dimensionality reduction
CS 700 Virtual RealityThis course includes following topics: introduction to
virtual reality, Input Devices, Output Devices,
Computing Architectures for Virtual Reality, Modeling
Programming: WorldToolKit, Java3D, Programming:
GHOST, PeopleShop, Human Factors in Virtual
Reality, Traditional Virtual Reality Applications,
Emerging Virtual Reality Applications, Student
Presentations
CS 701 VisualizationThe Course topics include: cognitive load theory,
communication design, identification of chart junk,
graphical integrity, optimization of data-ink in
multivariate data sets, info-graphics, vector graphics
and interactive data visualization using JavaScript.
CS 702 Geographical Information SystemsTopics include data structures and basic functions,
methods of data capture and sources of data, and the
nature and characteristics of spatial data and objects.
Upon completion, students should be able to identify
GIS hardware components, typical operations,
products/applications, and differences between
database models and between raster and vector
systems.
CS 703 Computer AnimationsMain techniques covered in this course include: Key-
framing, story-boarding, Kinematics, physically based
dynamics modeling, Motion capture, and Scene
composition, lighting, and sound track generation.
Advanced topics such as dynamic simulation of flexible
and rigid objects, facial animation, and behavioral/AI
based animation are also studied.
CS 704 Genetic AlgorithmsThis course includes, Crossover/Mutation, Fitness
Landscapes, No Free Lunch, Prisoner's Dilemma,
Sorting Networks, Schemas, Building Blocks, Genetic
Programming, Cellular Automata, Intro to Neural
Networks, Evolving Neural Networks, Evolving a
Learning Rule, The Baldwin Effect, Theoretical
Foundations, When to use a GA; Encodings, Inversion;
Hot Spots, The Messy GA; Selection Methods, Watson's
SEAM Algorithm, MBOA: Multi-objective Bayesian
Optimization Algorithm
159 AIR UNIVERSITYPROSPECTUS 2014-15