Courses Description

CS 161 Computer Programming

CS 161 Computer Programming History and basic components of a computer system, approaches to solving problems using computers, flow charts, pseudo-code, problem solving in C++, control structures, functions, structures, arrays and strings, pointers and advanced topics in arrays, file handling, sorting and searching, debugging programs.

CS 162 Object Oriented Programming

CS 162 Object Oriented Programming Introduction to object-oriented concepts, analysis and development using C++, Object oriented problem solving, programme design process, classes, methods, objects and encapsulation. File I/O, exception handling, operator and function overloading, virtual functions, derived classes, inheritance and polymorphism.

CS 206 - Computer Organization and Assembly Language

CS 206 - Computer Organization and Assembly Language We begin with microprocessor bus structure: addressing, data and control, memory organization and structure (segmented and linear models). Moving on, we discuss registers and flags, data movement, arithmetic and logic, program control, subroutines, the stack and its operation, peripheral control interrupts, interfacing with high level languages, and real-time applications. Furthermore, students study assembly language, addressing modes, are then introduced to the assembler and debugger, how to manipulate and translate machine and assembly code. Finally, we describe the processing chip, and discuss operations performed by an instruction set.

CS 213 Data Structures and Algorithms

CS 213 Data Structures and Algorithms Introduction to data structures and algorithms, arrays, stacks, infix, postfix and prefix notations, recursion, backtracking, binary search, queues, linked lists, trees, graphs and operations, algorithm performance, complexity issues, sorting algorithms, searching algorithms, hashing, dynamic memory management

CS 220 Network and Parallel Programming

CS 220 Network and Parallel Programming Linux administration, squid configuration and firewall. The physical layer and encoding mechanisms and network simulator. More topologies in network simulator, error checking algorithms, sliding window protocol, router simulation, advanced routing algorithms, routing algorithms in network simulator, OPNET Introduction.

CS 222 Computer Architecture

CS 222 Computer Architecture Introduction to microcomputer, microprocessor register and ALU design, control unit design, instruction cycle, memory types and read/write cycles, memory mapping, address decoding, address decoder design, interrupts, polling, I/O devices interfacing, DMA, bus arbitration, introduction to RISC architecture

CS 231 Operating Systems

CS 231 Operating Systems Overview and history of operating systems, Operating systems concepts, structures and functions, Memory management, process scheduling, process synchronization, Device and file management, concurrent processes, and deadlocks, UNIX system administration and LINUX programming

CS 252 Computer Communication and Networks

CS 252 Computer Communication and Networks Analogue & digital transmission, network layers; network models (OSI, TCP/IP); and protocol standards, Network topologies, data communications, LAN and WAN, Networking technologies, Transmission media, circuit and packet switching networks, Routing protocols.

CS 282 Database Systems

CS 282 Database Systems Introduction to basic database concepts, different data models, data storage and retrieval techniques and database design techniques, Relational data model and database management system (DBMS) concepts, Data models, conceptual, logical and physical database design and evaluation, database normalization, query languages, query optimization, security, integrity and concurrency protocols.

CS 331 System Programming

CS 331 System Programming Study of various utilities of operating systems covering both UNIX and DOS, System calls, interrupt handling, inter-process communications, Handling devices through various ports, Network handling and device drivers, Threads and sockets.

CS 341 Theory of Automata

CS 341 Theory of Automata Regular languages, regular expressions and finite state machines, deterministic & non-deterministic finite state machines, pushdown automata, context free grammar, Turing machines.

CS 366 Visual Programming

CS 366 Visual Programming Elements of visual programming, web and windows forms and controls, mouse events, properties, multiple-document interface, processing files, accessing databases, dynamic data exchange, object linking and embedding.

CS 379 - Advanced Database Design

CS 379 - Advanced Database Design This course is intended for students who wish to specialize in database management systems or wish to practice the advanced techniques involved in optimization of data storage, database design and queries. This course covers advanced topics like physical storage and access methods, query optimization, transaction processing, concurrency control, crash recovery and distributed databases.

CS 431 Design and Analysis of Algorithm

CS 431 Design and Analysis of Algorithm Introduction, Comparison sorting, integer sorting & selection: lower bounds, dynamic programming, graph representation, traversal, ordering, shortest paths, greedy algorithms, minimum spanning tree, string algorithms, NP-completeness and approximation.

CS 438 - Introduction to Artificial Intelligence

CS 438 - Introduction to Artificial Intelligence Overview of artificial intelligence, issues and application, knowledge representation, searching techniques, pruning, heuristics, production systems, adversarial search, bayesian inference, graphical models, expert systems, neural networks, robotic navigation, planning.

CS 440 Data Warehousing

CS 440 Data Warehousing Data model for data warehouses, architectural components, logical and physical design, OLAP, data marts, de-normalization, star and snowflake schema, dimensional modeling, indexing and joining techniques, extraction, transformation and loading, data quality management.

CS 441 Internet and High-level Protocols

CS 441 Internet and High-level Protocols Multiple access protocols (CSMA/CD, CSMA/CA, reservation, polling, token passing, FDMA, TDMA, CDMA). Connecting backbone networks, virtual LANs, routing and forwarding. Network layer addressing (IP). Classful addressing, sub-netting. Dynamic address configuration, network address translation. IP v4, v6 , ARP and ICMP protocols. Layering models in OSI and TCP/IP. Static routing and dynamic routing, routing methods (RIP, OSPF, BGP).

CS 442 Distributed Systems

CS 442 Distributed Systems Introduction to distributed systems, communication, naming and name services, processes, synchronization, fault tolerance, distributed file systems, distributed transaction processing, replication, object-based systems, document-based systems, coordination-based systems, security in distributed systems.

CS 445 Computer Graphics

CS 445 Computer Graphics Concepts of Graphical User Interface (GUI), Image formation, perspective view, rigid and non-rigid transforms, interpolation techniques, shadow formation, ray tracing and animation of articulated objects, Lighting and collision detection, Introduction to OpenGL.

CS 446 - Wireless and Mobile Communication

CS 446 - Wireless and Mobile Communication Network architectures, cellular networks, ad hoc networks, access protocols, radio and network resource management, quality of service, mobility and location management, routing; mobile-IP, current wireless technologies for personal, local and satellite networks.

CS 448 Distributed Databases

CS 448 Distributed Databases This is a course that covers advanced topics in databases. After introducing the concepts of entity-relation modeling and relational data models, the students move onto topics such as distributed query processing and optimization, distributed concurrency control, distributed reliability protocols, and distribution architectures. The course culminates with how web data is managed, plus load balancing & clustered databases.

CS 449 Information Coding and Number Theory

CS 449 Information Coding and Number Theory In this course the focus will be on the mathematical background that makes modern cryptography work as well as the mathematics behind cryptanalysis. This is mainly some parts of algebra and some from number theory

CS 450 Data Mining

CS 450 Data Mining Data pre-processing, cleaning, integration, reduction, mining frequent patterns, association rule mining, classification, decision trees, Bayesian classifiers, rule based classification, prediction, cluster analysis, clustering algorithms, outlier analysis, text and web mining.

CS 461 - Computer Vision

CS 461 - Computer Vision Topics include image types, image formation, filtering, interpolation and re-sampling, edge and feature detection, texture analysis, generalized Hough transform, multi-view geometry, stereo vision, graph-cuts, shape representation and matching using shape contexts. Scale space theory and generative model based vision.

CS 462 - Biomedical Image Processing

CS 462 - Biomedical Image Processing Topics include image acquisition techniques, image formats, image reconstruction, low level image analysis techniques, shape representation and variability modeling, shape matching, deformable models and active contours. Diffusion tensor tractography, Image registration, image interpolation and distance metrics, medical image visualization using scalar, vector and tensor visualization techniques.

CS 463 - Computational Intelligence

CS 463 - Computational Intelligence Introduction to Intelligent Systems, Human Intelligence and Computational Intelligence, Neural Networks (Single and Multi-Layer Feedforward Neural Networks, Associative Memories, Learning Vector Quantization, Self Organizing Maps, Applications to Pattern Recognition), Fuzzy Logic (Introduction, Fuzzy Sets, Fuzzy Classifiers), Evolutionary Computation (Introduction To Genetic Algorithms, Models, Operators, Selection Schemes, Application To Optimization), Hybrid Intelligent Systems.

CS 472 Introduction to Digital Image Processing

CS 472 Introduction to Digital Image Processing Image processing fundamentals, Image file formats, Digital image enhancement in spatial and frequency domain, Image segmentation, Image representation, Digital image restoration, Image reconstruction and interpolation, Edge detection , Morphological image processing, Color image processing.

CS 498/499 Final Year Project-I and II

CS 498/499 Final Year Project-I and II Implementing and managing a practical software project. Research and planning, conceiving and developing a real and substantial project related to computer science. The project is spread over the last two semesters (Semester 7 & 8). At the end of the seventh semester the students have to complete the project plan and design and shall be marked an 'I' grade. The final grade is awarded at the end of the eighth semester after the demonstration/presentation of the project and submission of the project report.

CS 4xx - Professional Practices in IT

CS 4xx - Professional Practices in IT Historical, social, and economic context of Computing (software engineering, Computer Science, Information Technology); Definitions of Computing (software engineering, Computer Science, Information Technology) subject areas and professional activities; professional societies; professional ethics; professional competency and life-long learning; uses, misuses, and risks of software; information security and privacy; business practices and the economics of software; intellectual property and software law (cyber law); social responsibilities, software related contracts, Software house organization.

CS 501 - Programming Languages

CS 501 - Programming Languages Programming Language features, interaction, compilation techniques, program execution, code synchronization, language translation issues, conflict resolution. Sequence control, Object orientation, encapsulation, inheritance, Logical and Functional programming languages.

CS 641 - Advanced Analyses of Algorithms

CS 641 - Advanced Analyses of Algorithms Introduction and overview, complexity of algorithms, basic graph algorithms, greedy algorithms, data structures, graph algorithms, dynamic programming, divide-and-conquer, amortized analysis, max-flow/min-cut and its applications, P, NP, and NP-completeness, approximation methods, linear programming

CS 662 - Mobile Adhoc Network

CS 662 - Mobile Adhoc Network Overview of wireless technologies, wireless multiple access protocols, cellular systems: channel allocation, location management, wireless LANs: medium access, mobile IP routing, TCP over wireless, mobile ad hoc networking, energy efficiency, impact of mobility on algorithms and applications, disconnected operation of mobile hosts, data broadcasting, mobile agents.

CS 664 - Network Security

CS 664 - Network Security Pre-requisite Advanced Computer Networks Web security, security standards-SSL/TLS and SET, intrusions and viruses, PGP and S/MIME for electronic mail security, firewalls,secret key and public/private key cryptography, cryptographic hashes and message digests, authentication systems (Kerberos), digital signatures and certificates.

CS 665 - Optical Communication Networks

CS 665 - Optical Communication Networks Introduction and overview, building blocks, broadcast optical networks (single-hop, multi-hop, multi-cast and channel sharing), wavelength routed optical networks, routing and wavelength assignment, optical network topologies, wavelength conversion, multi-wavelength ring networks, optimization schemes for amplifier placements optical TDM and CDM networks.

CS 666 - Communication Protocols

CS 666 - Communication Protocols Pre-requisite Computer Networks & Data Communication Virtual circuit and datagram networks, flow and congestion control, point-to-point protocol, advanced IP routing protocols, distance vector and link state routing algorithms, routing metrics, administrative distance, convergence, variable length subnet masking, design of routing networks, switching in IP networks, queue scheduling, QOS in IP networks, IP multicast and reliable multicast, multimedia over IP networks.

CS 671 - Information Security

CS 671 - Information Security Pre-requisite Analysis of Algorithms Cryptography, cipher methods, single key & public key, role of security, types of security, information flow, authentication and identity, verification and validation, risk analysis, interception and denial of communications, distributed authentication issues, Kerberos, SESAME, security evaluation, malicious code, viruses, worms, vulnerability analysis

CS 680 Evolutionary Computing

CS 680 Evolutionary Computing Pre-requisite Computer Networks & Data Communication Introduction to performance measures, basic probability review, Markov chains, continuous time Marko chains, basic queuing models, introduction to simulation modeling, advanced queuing models, basic queuing networks, Stochastic processes, statistical analysis of simulations.

CS 767 - Mobile Communication

CS 767 - Mobile Communication Need for Mobile System Basic Cellular System, Performance Criteria, Operation of Cellular System, Analog and Digital Cellular Systems, Elements of Cellular System, Design Specifications of Analog System, Cell Coverage for Signal and Traffic, Cell Site and Mobile Antennas, Co Channel Interference Reduction.

CS 769 - Integrated Services over Internet Protocol

CS 769 - Integrated Services over Internet Protocol Introduction, network topology, video over IP, data services, voice services, triple-play backbone design, multicast protocols, middle ware, signaling issues, media encoding, content security and encryption, access protocols, evolution in last-mile broadband access, quality of service issues, IP address management, scheduling, congestion avoidance and recovery.

CS 772 - Advanced Databases

CS 772 - Advanced Databases Entity-relation modeling, relational data models, distributed query processing and optimization, distributed concurrency control, distributed reliability protocols, distribution architectures, transaction servers, data center server, web data management, load balancing, clustered databases

CS 778 - Pattern Recognition

CS 778 - Pattern Recognition Pattern Recognition, Classification, Description, Patterns & Features, Pattern Distortions, Classifiers & Discriminant Functions, Training & Learning, Statistical pattern recognition, Non-Parametric approaches, Nearest Neighbor, Parzen window, Linear Discriminants, Parametric approaches, Bayesian Approach, Maximum Likelihood Classifier, Parameter Estimation, Hidden Markov Model, Structural & Syntactical PR, Graph based approached, Decision Tree, Grammar based approaches, Feature extraction using transformations, Gabor Transformations & Wavelets, Dimensionality reduction, PC Analysis, ICA.

CS 779 - Artificial Neural Networks

CS 779 - Artificial Neural Networks Basic concepts of Neural-Computing, Learning processes, Single-layer perceptrons, Multilayer perceptrons, Radial-basis function networks, Strategies for avoiding overfitting, Support vector machines, Committee machines, Principal components analysis using neural networks, Self-organizing maps, Information-theoretic models, Stochastic machines, Neuro-dynamic programming, Temporal processing using feedforward networks, Neurodynamics, Recurrent neural networks.

CS 781 - Knowledge Management

CS 781 - Knowledge Management Introduction to knowledge management, human problem solving process, knowledge-based systems, classification of knowledge-based systems, expert systems, expert system architecture, knowledge representation schemes, semantic networks, procedural schemes, backward and forward reasoning, inference strategies, search strategies, knowledge base management approaches, architectural issues.

CS 799 ¿ MS Thesis

CS 799 ¿ MS Thesis In the MS thesis, student is required to perform high quality literature survey and research related to a selected topic of Computer Science.

CS xxx - Compiler Construction

CS xxx - Compiler Construction Initially, students are introduced to compiler techniques and methodology, and then they study the organization of compilers. Further on, topics like lexical and syntax analysis, parsing techniques, and object code generation and optimization are studied. Finally, the detection and recovery from errors are read, along with a contrast between compilers and interpreters.

CS xxx - Human Computer Interaction

CS xxx - Human Computer Interaction We begin with an introduction to Human Computer Interaction; then we discuss the usability paradigm and principles, design basics, HCI in software process, design rules, prototyping, evaluation techniques, and task analysis. Furthermore, advanced topics such as universal design, user support, and computer supported cooperative work are covered. Finally, students will study specialized topics such as Groupware, pervasive and ubiquitous applications.

CS xxx Design and Analysis of Algorithms

CS xxx Design and Analysis of Algorithms In the start students learn asymptotic notations; recursion and recurrence relations, and the divide-and-conquer approach. Further, topics such as sorting; search trees; heaps; hashing; greedy approach; dynamic programming; graph algorithms; shortest paths; network flow; disjoint sets; and polynomial and matrix calculations are discussed. Finally, string matching, NP complete problems, and approximation algorithms are covered