ms computer science

25
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 UNIVERSITY PROSPECTUS 2014-15

Upload: others

Post on 24-Dec-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

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