Subject : M.Sc. Computer Science
Department of Computer Science
Semester-wise Distribution of Courses and Credits
SEMESTER I
CSM101 : Design Methods and Analysis of Algorithms
CSM102 : Object Oriented Programming through JAVA
CSM103 : Data Communication and Computer Networks
CSM104M : Minor Elective: Theory of Computation (only for Computer Science and Computer Application students)
CSM105 : Lab. Exercises based on course CSM101
CSM106 : Lab. Exercises based on course CSM102
SEMESTER II
CSM201 : Compiler Design
CSM202 : Computer Graphics
CSM203 : Artificial Intelligence
CSM204 : Software Engineering
CSM205 : Technical Writing and Research Seminar
CSM206M : Minor Elective: E-commerce (only for Computer Science and Computer Application students)
CSM207 : Lab. Exercises based on course CSM201
CSM208 : Lab. Exercises based on course CSM202
SEMESTER III
CSM301 : Parallel Computing
CSM302 : Internals of UNIX OS and Network Programming
CSM303(A-I) : | Major Elective Course I : Any one of the following |
Minor Elective: Any one of the following (only for Computer Science and Computer Application students)
CSM304M : Bioinformatics Algorithms
CSM305M : Simulation and Modeling
CSM306M : Operation Research
CSM307 : Lab. Exercises based on course CSM301
CSM308 : Lab. Exercises based on course CSM302
SEMESTER IV
CSM401 : Dissertation 18
CSM402 : Comprehensive Viva
SEMESTER I
CSM101 : Design Methods and Analysis of Algorithms (Credits: 4)
Elementary Data Structures, Basic Computational Models.
Simple Algorithms. Analyzing Algorithms, Asymptotic Notation, Recurrence relations.
Design Methods : General Consideration, Algorithm design paradigms and representative problems: Divide and Conquer (Binary search, Merge Sort, Quick Sort, Arithmetic with Large integers, etc.), Greedy Method (Minimal Spanning Tree, Shortest Paths, Knapsack, etc.), Dynamic Programming (Chained Matrix Multiplication, Optimal Storage on Tapes, Shortest Paths, Optimal Search Trees, etc.), Backtracking (8-queens problem, Graph Colouring, Hamiltonian Cycles, etc.), Branch and Bound (0/1 Knapsack problem, Travelling Salesperson, etc.), Approximation (Graph Colouring, Task Scheduling, Bin Packing, etc.), Probabilistic Algorithms (Numerical Integration, Primality Testing, etc.).
Graph Algorithms: BFS, DFS and its applications. Polynomial Evaluation and Interpolation, Fast Fourier transforms.
Intractable Problems : Basic Concepts, Nondeterministic Algorithms, NP Completeness, Cook's Theorem, Examples of NP-Hard and NP-Complete problems. Problem Reduction.
Lower Bound Techniques: Comparison tree, Reduction, Adversary argument.
CSM102 : Object Oriented Programming through JAVA (Credits: 4)
Object Oriented Analysis and Design Concepts: Object Modeling Technique; General Concepts: Object, Class, Data Abstraction and Encapsulation, Inheritance, Polymorphism, Dynamic Binding, Message Passing; Benefits of OOP, Object-oriented Languages.
Object oriented Programming using JAVA:
Language Basics- Variables Primitive Data Types Operators Expressions, Statements, and Blocks Control Flow Statements Arrays, Classes and Objects, Constructors and Destructors, Operator Overloading, Type Conversions, Inheritance, Interfaces, Packages, Threads, Exception handling, colors, fonts and graphics, Applets, working with input/output
CSM103 : Data Communication and Computer Networks (Credits: 4)
Introduction, Networks models – OSI model, Internet model.
Physical layer : Signals - Analog, Digital, Digital transmission - Coding, Sampling, Analog Transmission - Modulation of Digital and analog signals, Multiplexing, Switching, Transmission Media.
Data link layer : Error detection and Correction, Data link control and protocol, Point to point access, Multiple access , LANS- Traditional Ethernet, Fast Ethernet, Gigabit Ethernet, Wireless LAN’s - IEEE 802.11, Blue tooth, Connecting LANs - Connecting devices, Satellite networks.
Network layer : Internetworking, Addressing, Routing, Networks layer protocols – ARP , IP, ICMP, Ipv6, Routing- Introduction, Routing Algorithms & Protocols.
Transport layer : UDP, TCP, Congestion and Control, Quality of service ( QOS ) and techniques to improve QOS.
Application layer : DNS, Electronic mail, SMTP, File transfer, FTP, HTTP, World wide web, Network Security, Network Management Protocol.
CSM104M Minor Elective: Theory of Computation (only for computer science and computer application students) (Credits: 3)
A brief review of Finite Automata, Regular expressions, Regular languages, Deterministic and nondeterministic computations. Pumping Lemma for Regular languages, Context free languages, Pushdown automaton, Pumping Lemma for Context free languages, Grammar types and Chomsky Hierarchy. Turing Machines (TM), Variations of TM’s, Universal Turing Machines (UTM), Church-Turing Thesis, Relation of Languages to Automata. Turing computable functions, Halting problem, Solvability, Undecidability and Computability.
CSM105 : Lab. Exercises based on course CSM101 (Credits: 3)
This paper consists of programming exercises based on course CSM101: Design Methods and Analysis of
Algorithms.
CSM106 Lab. Exercises based on course CSM102 (Credits: 3)
This paper consists of programming exercises based on course CSM102: Object Oriented Programming through
JAVA.
SEMESTER II
CSM201 : Compiler Design (Credits: 4)
Compilers and Translators, Syntactic and lexical structure of a language.
Finite Automata and design of lexical analyzer, Context free grammars and derivation of parse trees, basic parsing techniques: shift-reduce, operator-precedence, top-down, predictive. Disambiguation of grammar.
Automatic construction of efficient parsers: LR parser, construction of parsing tables. Syntax Directed Translation, L-attributed and S-attributed Definitions.
Code Generation and Code Improvement.
Symbol table organization, Run time storage management, Error detection and recovery.
CSM202 : Computer Graphics (Credits: 4)
Introduction to Computer Graphics, Display Technologies, Random and Raster Scan, frame buffer, bit plane, Input Devices, Graphics Standards, Graphics Hardware.
Line and Circle Drawing Algorithms, Scan Conversion, filling algorithms, clipping, Two and Three Dimensional transformations, Homogeneous Coordinates, Rigid Body and Affine transformations, Parallel and perspective projections, vanishing points, viewing transformation, Hidden line removal method, Curve and Surface: Cubic Spline, Bezier curve, B-Spline Curves, Parametric Surface, Surface of revolution, Sweep surface, Fractal Curves and surfaces.
CSM203 : Artificial Intelligence (Credits: 4)
Introduction: Definitions and approaches, Foundations of A.I., History of AI, Areas and state of the art in A.I., A.I. Programming languages, Concept of Intelligent Agents.
Problem Solving: Problem solving as state space search, production system, control strategies and problem characteristics; Search techniques: Breadth First and Depth-first, Hill-climbing, Heuristics, Best-First Search, A* algorithm, Problem reduction and AO* algorithm, Constraints satisfaction, Means Ends Analysis, Game Playing.
Knowledge Representation and Reasoning: Syntactic and Semantic representations, Predicate and prepositional logic, Resolution, Unification, Deduction and theorem proving, Question answering; Forward versus backward reasoning, Matching, Indexing; Ontological Engineering, Formal Theory of Beliefs, Semantic Net, Frames, Conceptual Dependencies and Scripts, Truth Maintenance Systems.
Selected Topics and Applications: Philosophical issues, Introduction to Natural Language Processing, Expert Systems and Multiagent Systems.
CSM204 : Software Engineering (Credits: 4)
Introduction to Software Engineering: Definition; Software development and life-cycle models, CMM, Software Quality, role of metrics and measurement.
Requirements Analysis and Specification: SRS Building Process, Specification Languages, Validation of SRS, metrics, monitoring and control, Object Oriented analysis.
Software Project Planning: Software Cost Estimation Techniques, Project Scheduling & Tracking, Project Team Standards, software configuration management, management.
Software Design and Implementation: Design Concepts and Notations, Functional & Object Oriented Design Concepts, Design Strategies, Design specification and verification, Metrics, Design Translation Process.
Testing Strategies & Techniques, Debugging, Software Maintenance, Metrics and Models: Design Metrics, Complexity Metrics, Software Reliability and Availability Models, etc. Software Reengineering, Cleanroom Approach, Software Reuse.
Introduction to IEEE Standards, Case Studies.
CSM205 : Technical Writing and Research Seminar (Credits: 2)
Students will be required to write a Paper on a topic approved by the department and to give a presentation based on it.
CSM206M Minor Elective: E-commerce (only for computer science and computer application students) (Credits: 3)
Introduction, Definition, Objectives, Advantages and disadvantages, Forces driving E-Commerce, Traditional commerce Vs. E-Commerce, E-Commerce opportunities for industries, Growth of E-Commerce.
E-Commerce Models: Business to consumer, Business to Business, Consumer to Consumer, other models – Brokerage Model, Aggregator Model, Info-mediary Model, Community Model and value chain Model.
Electronic Payment Systems: Special features required in payment systems, Types of E-payment systems, ECash, E-cheque, credit card, Smart Card, Electronic Purses.
E-Marketing, E-Customer Relationship Management, E-Supply Chain Management.
Security Issues in E-Commerce: Security risk of E-Commerce, Types of threats, Security tools and risk management approach. Cyber laws, Business Ethics, IT Acts.
CSM-207 : Lab. Exercises based on course CSM201 (Credits: 3)
This paper consists of programming exercises based on course CSM201: Compiler Design.
SEMESTER III
CSM301 : Parallel Computing (Credits: 4)
Introduction to Parallel Computing: Supercomputers and grand challenge problems, Modern Parallel Computers, Data Dependence Graph, Data Parallelism, Functional Parallelism, Pipelining and Data Clustering.
Interconnection Networks: Switch Network Topologies, Direct and Indirect Network Topology, Bus, Star, Ring, Mesh, Tree, Binary Tree Network, Hyper Tree Network, Hybrid, Hypercube, Perfect Shuffle Network, Torus and Butterfly Network.
Performance Analysis: Introduction, Execution Time, Speedup, Linear and Superlinear Speedup, Efficacy and Efficiency, Amdahl’s Law and Amdahl Effect, Gustafson-Barsis’s Law, Minsky's Conjecture, The Karp-Flatt Metric, The Isoefficiency Metric, Isoefficiency Relation, Cost and Scalability.
Parallel Computational Models: Flynn’s Taxonomy, PRAM, EREW, CREW, ERCW, CRCW, Simulating CRCW, CREW & EREW, PRAM algorithms.
Introduction to Parallel Algorithms: Parallel Programming Models, PVM, MPI Paradigms, Parallel Programming Language, Brent’s Theorem, Simple parallel programs in MPI environments, Parallel algorithms on network, Addition of Matrices, Multiplication of Matrices.
CSM302 : Internals of UNIX OS and Network Programming (Credits: 4)
The general overview, Unix Kernel, Internal representation of files, Buffering, System calls, Process structure and control, Process scheduling, memory management, I/O subsystem, Shell Programming , IPC, Distributed UNIX systems.
The UNIX model, Inter-process communication,, Communication protocols, Berkeley sockets, Transport layer interface, Library and other routines, Security issues, FTP, Line printer spoolers, Remote login, remote execution, Remote procedure calls, Remote drive access.
CSM303A : Advanced Computer Architecture (Credits: 4)
Architectural Abstraction, Classification schemes, Parallelism: Pipelining, Multiprocessing. Issues in Branch performance, Synchronization in Multiprocessing, High Performance Processor Design Issues: Pipeline design, Memory system design, I/O design.
Instruction level parallelism, Thread and process level parallelism, Data parallelism.
Vector machines, Dependency Analysis, Vectorization, Optimization in Vector Processing, Vector Chaining , Example systems. Associative Processors and Algorithms Super-scalar and VLIW processors, Example systems and main issues in design.
Multiprocessors: Shared Memory, Distributed Memory Architectures; Multiprocessor Interconnections, Memory systems for Multiprocessors, Example systems; Cache Memory, coherence issues, protocols. Multiprocessor Simulation and Measurement.
CSM303B : Soft Computing Techniques (Credits: 4)
Introduction to Genetic Algorithm, Genetic Operators and Parameters, Genetic Algorithms in Problem Solving, Theoretical Foundations of Genetic Algorithms, Implementation Issues.
Neural Model and Network Architectures, Perceptron Learning, Supervised Hebbian Learning, Backpropagation, Associative Learning, Competitive Networks, Hopfield Network, Computing with Neural Nets and applications of Neural Network.
Introduction to Fuzzy Sets, Operations on Fuzzy sets, Fuzzy Relations, Fuzzy Measures, Applications of Fuzzy Set Theory to different branches of Science and Engineering.
CSM303C : Information Retrieval and Web Mining (Credits: 4)
Information Retrieval Concepts and Models, Introduction to World Wide Web, Hypertext Data, Search Engines, Crawling the Web.
Indexing and Search: Boolean Queries and Inverted Index, Relevance ranking, Similarity search, Web directories, Combining Searching with Browsing, Metasearchers, Web Query Languages, Dynamic Search and Software Agents.
Clustering and Classification, Social network analysis, Measuring and Modeling the Web, Question answering, Semantic Web.
CSM303D : Distributed Systems (Credits: 4)
Distributed Systems, Communication in distributed systems, processes and processors in distributed systems. Threads, systems Models, Process allocation, scheduling in distributed systems, fault tolerance, real-time distributed systems.
Theoretical issues in distributed systems: Logical clock, mutual exclusion, deadlock detection, agreement protocols, resource security and protection, concurrency control.
Distributed File System: Design and implementation, trends. Distributed shared Memory, consistency models, page-based distributed shared memory, shared variable distributed shared memory, object-based distributed shared memory.
Multiprocessor OS, Database OS: General features and theoretical issues.
Case Studies: Amoeba, Mach, chorus, DCE, etc. Multimedia Operating Systems: Process scheduling, File system, caching, Disk scheduling for multimedia.
CSM303E : Science of Programming (Credits: 4)
Propositions, Precedence rules for operators, Tautologies, Propositions as set of states, Equivalence Transformations, Deductive proofs, Reference Rules, Proofs and Sub-proofs Quantification, Free and bound variables, Substitution, Assertions, Proof Outlines, Language Semantics of a Simple Language, Programming as a Goal-Oriented Activity, Loop Invariants, Developing invariants, Efficiency Considerations, Bound Function, Program Inversion.
CSM303F : Advanced DBMS (Credits: 4)
Design Theory for Relational Database: Functional Dependencies, Decomposition of Relation schemes, Normal Forms for Relations. Schemes, Multivalued and other kinds of Dependencies.
Query Optimization: Basic Optimization Strategies, Algebraic Manipulation, Optimization of Selections in System, Exact Optimization for a Subset of Relational Queries, Optimization under Weak Equivalence.
Database Protection: Integrity, Constraints in Query-by-Example, Security, Security in query-by-Example, Security in Statistical Databases.
Concurrent Operations on the Database: Basic Concepts, A simple Transaction Model, Model with Read- and Write-Locks, Read-only, Write-only Model, Concurrency for Hierarchically Structured Items, Protection against Crashes, Optimistic Concurrency Control.
Principles of Distributed Data Bases, Framework for distribution. Translation of global queries into fragment queries. Query optimization and management of distributed transaction. Concurrency control and reliability in distributed databases.
Administration of Distributed Data Bases. Example Systems.
CSM303G : Quantum Computing (Credits: 4)
Introduction to Quantum Computing, Moore’s Law, Limits from Bits to Qubits, Powers of Quantum Computing-Some Algorithms and Applications.
Qubits, Quantum Mechanics and Computer Science Perspectives. Quantum Gates, Applications of Quantum Computing, Shor’s Algorithm and Quantum Fourier Transform, Quantum Search Algorithms, Physical Realization of Quantum Computers.
CSM303H : Introduction to Cryptography (Credits: 4)
Divisibility, Euclidean Algorithm, Congruence’s, Finite Fields, Quadratic Residues and Reciprocity, One-way and Trapdoor Functions, Stream Ciphers, Pseudo-Random Number Generators, Block Ciphers and Modes of Operations, Data Encryption Standard, Private Key Encryption, Public Key Encryption, RSA Cryptosystem, Rabin’s Public Key Cryptosystem, Knapsacks, Message Authentication and Hash Functions, Digital Signatures, RSA Digital Signature Scheme, El Gamal’s Scheme, Rabin’s Scheme, Key Distribution, Diffie-Hellman Secret Key Exchange, Two-Party and Multi-Party Protocols, Simultaneous Secret Exchange Protocol, Secret Sharing.
CSM303I : Advanced course in Software Engineering (Credits: 4)
Software Metrics: Surveys, Experiment, Case studies, Internal and external software metrics, Reliability and quality metrics, Software management metrics.
Unified Modeling Language: Structure Diagrams: Class Diagram, Object Diagram, Component Diagram, Composite Structure Diagram, Package Diagram, and Deployment Diagram. Behavior Diagrams: Use Case Diagram (used by some methodologies during requirements gathering); Activity Diagram, and State Machine Diagram. Interaction Diagrams:Sequence Diagram, Communication Diagram, Timing Diagram, and Interaction Overview Diagram.
Software Reuse: Design patterns, Frameworks: development methodology, instantiation, CBSE.
Extreme Software Engineering approaches: Problems of traditional approaches, An agile process, Models of agile processes, Pair programming, Planning in an agile process, Testing in an agile process.
Software architecture: Architecture styles, Architecture Description Languages, Architecture frameworks
CSM304M : Bioinformatics Algorithms(only for computer science and computer application students) (Credits: 3)
Biological Algorithms versus Computer Algorithms, Algorithmic Notations, Algorithm Design Techniques: Exhaustive Search, Greedy Algorithm, Dynamic Programming, Branch-and-Bound Algorithms, Randomized Algorithms, Machine Learning, Tractable versus Intractable Problems, Introductory Molecular Biology, DNA Analysis, Regulatory Motifs in DNA Sequences, Finding Motifs, Greedy Approach to Motif finding, Longest Common Subsequences, Global and Local Sequence Alignments, Multiple Alignment, Gene Prediction, Constructing Algorithms in sub quadratic time, Shortest Superstring Problem, Sequencing by Hybridization, Protein Sequencing and Hybridization, Spectrum Graphs, Spectral Convolution, Repeat Finding, Hash Tables, Keyword Trees, Suffix Trees and its Applications, Approximate Pattern Matching, Hierarchical Clustering, Evolutionary Trees, Parsimony Problem, Hidden Markov Models, Applications of HMM.
CSM305M : Simulation and Modeling(only for computer science and computer application students) (Credits: 3)
Simulation and its uses, Definition of System, Types of Systems, Simulation Experiments and Field Experiments, Random Number Generators from Uniform and other Continuous and Discrete Distributions, Tests of Randomness and Goodness of Fit.
Modeling Process and Concepts of Mathematical Models, Differential, Partial Differential and Difference Equation Models, Modeling through Graphs, Stochastic Models, Monte-Carlo Integration, Simulation of Single Server System, Inventory System, Time Sharing Computer System, and Ethernet Model. Verification, Validation and Comparison of Real System and Simulation Experiments Data, Variance Reduction Techniques, Simulation Languages: SIMULA, SIMSCRIPT and GPSS.
CSM306M : Operation Research(only for computer science and computer application students) (Credits: 3)
Network Analysis: Terminology of network, shortest route problem, minimal spanning tree problem, maxflow problem.
Project Scheduling by PERT, CPM: Diagram, representation, critical path calculation, construction of time chart and resource labeling, probability and cost consideration in project scheduling, project control.
Linear Programming: Simplex Method, Revised simplex method, Duality in Linear programming, Application of Linear Programming to Economic and Industrial Problems.
Nonlinear Programming: The Kuhn-Tucker conditions, Quadratic programming, Convex programming.
Replacement Models: Introduction, Replacement policies for items whose efficiency deteriorates with time, Replacement policies for items that fail completely.
Sequencing Model: Classification of self problems, processing of n jobs through two machines, three machines, processing of two jobs through m machines.
CSM307 : Lab. Exercises based on course CSM301 (Credits: 3)
This paper consists of programming exercises based on course CSM301: Parallel Computing.
CSM308 : Lab. Exercises based on course CSM302 (Credits: 3)
This paper consists of programming exercises based on course CSM302: Internals of UNIX OS and Network Programming.
SEMESTER IV
CSM401 : Dissertation (Credits: 18 )
Students will be required to pursue a dissertation allotted to them in accordance with their preference subject to
their supervisor’s approval. They will have to submit the dissertation done by them during the semester.
CSM402 Comprehensive Viva (Credits: 7)
A Comprehensive Viva to judge students’ overall academic attainments during the program.
Index Post Graduate Course Syllabus: Click Here