Advanced Algorithms Lab (CSC-408)
Course Pre-requisites: The students should have knowledge of
1 Data Structure and Design Analysis and Algorithm
Course Objectives:
The course is designed to train the post graduates in:
- Advanced topics in algorithm.
- To develop concept, ideas for any problem.
- To be enable to formalize with theoretical computer algorithms.
Course Outcomes: The student will be able to
- Ability to understand Implementation of algorithms
- Ability to Implementation concepts, logics towards solving a unknown problem in IT and research.
- Ability to get formalizes theoretical concepts of computer Implementation.
- Elabrate advanced techniques to implement for the design and analysis of algorithms, and explores a variety of applications
Course Content:
Assignments: Students should perform experimental assignment/s from the list below
- Implement all sorting algorithms and analyze complexity
- Implement Divide and conquer Greedy Approach , Dynamic Programing
- Implement Fermat theorem, square root test algo, Miller-Rabin primality testing algo
- Implement randomised search algo for las vegas and Monti Carlo algo, fingerprinting algo, pattern matching algo
- Design, develop and run program in any language to implement the Bellman-Ford algorithm and determine its performance.
Text Books:
- Introduction to Algorithms: T.H. Cormen, C.E.Leiserson and R.L. Rivest
- Fundamentals of Algorithmic : G. Brassard and P. Bratley
- Approximation Algorithms: Vijay V.Vazirani
Reference Books:
- Randomized Algorithms: R. Motwani and P.Raghavan
- Parallel Computing: Theory and Practice: M. J. Quinn
- Introduction to Parallel Computing: T. G. Lewis and H. El-Rewini
- Teacher: Department of Computer Science
CSC-406 -PROFESSIONAL COMMUNICATION
Outline
The course has been designed keeping in mind the communicative needs of the students as lack of proficiency and fluency of students is one of the major barriers in getting employment in the job market. Objectives
The objectives of the course are:
- to make the student proficient and fluent in speaking
- to enable the student to comprehend what is spoken and written
- to ensure that they become fast readers
- to make them handle basic correspondence effectively
- to enhance their vocabulary base
Course Content:-
UNIT-1
Grammar and Vocabulary: Tenses, subject–verb agreement. Sentence Analysis: Simple, Compound and Complex sentences. Phrases: Adjective, Adverb and Noun Phrase, Clauses: Adjective, Adverb and Noun Phrase. Voice, Narration, Gerund, Participle.
Unit-2: Oral Communication
UNIT-3 Listening Skill – Active listening, Barriers to active listening. Speaking Skill-Stress patterns in English, Questioning skills, Barriers in Speaking. UNIT-4: Reading Skill-Skimming, Scanning, Intensive reading, linking devices in a text, Different versions of a story/ incident.
UNIT-5: Written communication: Writing process, paragraph organization, writing styles.Types of Writing - Technical vs. creative; Types of technical writing, Scientific Writing:Writing a Scientific Report Soft Skills:
Unit-6: Body Language– Gesture, posture, facial expression. Group Discussion– Giving up of PREP, REP Technique.
Presentation Skills:
(i) How to make power point presentation (ii) Body language during presentation (iii) Resume writing:Cover letter, career objective, Resume writing (tailor made)
Interview Skills: Stress Management, Answering skills.
BOOKS:
- Advanced English Usage: Quirk & Greenbaum; Pearson Education.
- Developing Communication Skills: Banerjee Meera & Mohan Krishna; Macmillan Publications, 1990.
- Business Communication: Chaturvedi, P.D.; Pearson Publications.
- Business Communication; Mathew, M.J.; RBSA Publications, 2005.
- Communication of Business; Taylor, Shirley; Pearson Publications.
- Soft Skills: ICFAI Publication
- Collins English Dictionary and Thesaurus, Harper Collins Publishers and Times
- Longman Language Activator, Longman Group Pvt Ltd
- Longman Dictionary of contemporary English, Longman
- The new Penguin Dictionary – a set of dictionaries of abbreviations, spelling, punctuation, plain English, grammar, idioms, thesaurus, 2000.
- New Oxford Dictionary.
- Wren & Martin: High School English Grammar and Composition
- Raymond Murphy: English Grammar in Use (4th edition)
- Martin Hewings: Advanced Grammar in Use
- Betty Schrampfer: Understanding and Using English Grammar
Outcomes:
After completion of the course student will become fluent speakers. Not only this, they will be able to comprehend the spoken and the written word in a better way. With enhanced vocabulary they will become confident users of English and be more market-ready to get a job.
- Teacher: Department of Computer Science
CSC-405: Programming in Python
Python programming develops the basic skills of programming using python.
Course Objectives
- To introduce the basics of Python programming.
- Laboratory exercises to cover in Lab sessions.
UNIT I: Basics of python programming: python identifiers, indentation, comments in Python, data types, python strings.
UNIT II: Python operators: arithmetic, assignment, relational operators etc. Decision making and loop control structures.
UNIT III: Built-in functions in python, built-in string methods. User-defined functions, keyword arguments. Lambda functions.
UNIT IV: Python lists, tuples, dictionaries. Performing basic operations on lists, tuples and dictionaries.
UNIT V: Python modules, namespace and scoping. File handling, access modes, reading and writing files, renaming and deleting files.
UNIT VI: Plotting graphs in python, Introduction to Matplotlib. Developing basic GUI applications using Tkinter.
Text/References
1. Introduction to computation and programming using Python, John V. Guttag, MIT Press.
Outcomes:-
At the end of this course, the student will be able to:
- Develop basic programs in Python.
- Plot graphs using Python.
- Teacher: Department of Computer Science
Advanced Algorithms (CSC-404)
Course Objectives:
The course is designed to train the graduates in:
- Advanced topics in algorithm.
- To develop concept, ideas for any problem.
- To be enable to formalize with theoretical computer algorithms.
Course Outcomes: The student will be able to
- Ability to understand algorithms
- Ability to develop concepts, logics towards solving a unknown problem in IT and research.
- Ability to get formalizes theoretical concepts of computer algorithms.
- Elabrate advanced techniques for the design and analysis of algorithms, and explores a variety of applications
Course Content:
UNIT- 1: Design Paradigms Overview: Overview of complexity notations, Divide and Conquer method, Greedy and Dynamic Programming (08 Hours)
UNIT- 2: Backtracking, Branch and Bound, Max Flow Problem, String Matching etc. (08 Hours)
UNIT- 3: Brief overview of Notations and Recurrence analysis, Amortized analysis, B- Trees, AVL trees (08 Hours)
UNIT- 4: Dictionaries and tries, Binomial Heaps, Fibonacci Heaps, Disjoint Sets, Union by Rank and Path Compression (06 Hours)
UNIT- 5: Randomized Algorithms and Parallel Algorithms: Randomized Algorithms: Las Vegas and Monte Carlo algorithms, Applications on graph problems, Finger Printing, Pattern Matching, Primality testing algorithm (06 Hours)
UNIT- 6: Introduction, Combinatorial optimization, approximation factor, PTAS, FPTAS, Approximation algorithms for vertex cover, set cover, TSP, subset-sum problem etc., Analysis of the expected time complexity of the algorithms.
Text Books:
- Introduction to Algorithms: T.H. Cormen, C.E.Leiserson and R.L. Rivest
- Fundamentals of Algorithmic : G. Brassard and P. Bratley
- Approximation Algorithms: Vijay V.Vazirani
Reference Books:
- Randomized Algorithms: R. Motwani and P.Raghavan
- Parallel Computing: Theory and Practice: M. J. Quinn
- Introduction to Parallel Computing: T. G. Lewis and H. El-Rewini
- Teacher: Department of Computer Science
CSC-403: PROBABILITY AND STATISTICS
Course Objectives
- To provide students with a formal treatment of probability theory.
- To equip students with essential tools for statistical analyses.
- To foster understanding through real-world statistical applications.
UNIT I: Probability Theory: Axioms of Probability theory, Probability Spaces, Conditional Probability, random variables
UNIT II: Probability densities, joint densities, marginal densities, conditional densities Expectation and covariances, Bayesian probabilities, Gaussian distribution.
UNIT III: Decision theory, Introduction to information theory, Exponential family of distribution Nonparametric methods .
UNIT IV: Descriptive statistics, presentation of data, averages, measures of variation. Elementary probability, binomial and normal distributions. Sampling distributions. Statistical inference, estimation, confidence intervals, testing hypotheses, linear regression, and correlation.
BOOKS
- Probability and Computing, by Michael Mitzenmacher and Eli Upfal, Cambridge University Press
- Christopher M. Bishop. Pattern Recognition and Machine Learning, Springer, 2006. (For first two chapters)
- Artificial Intelligence: A Modern Approach (third Edition): S. Russel and P. Norvig.
Learning Outcomes
At the end of the course students can be able to:
- Develop problem-solving techniques needed to accurately calculate probabilities.
- Apply problem-solving techniques to solving real-world events.
- Apply selected probability distributions to solve problems.
- Present the analysis of derived statistics to all audiences.
- Teacher: Department of Computer Science
CSC-402: DISCRETE STRUCTURES & GRAPH THEORY
Course Outline:
Discrete mathematics is the backbone of computer sciences. It provides the base for algorithm development and semantics of programming languages. This course is designed to given an introductory idea of different discrete structures, including graph theory. In particular, this course introduces logic, proofs, sets, relations, functions, counting, and abstract structure, with an emphasis on applications in computer science.
UNIT I: Sets: Definition and types, Set operations, Partition of set, Cardinality (Inclusion-Exclusion & Addition Principles), Recursive definition of set. Functions, Relations, Properties of binary relations, closure, Partial Ordering Relations, The Pigeonhole & Generalized Pigeonhole Principles, Composition of Functions Concept, Mathematical induction
UNIT II: Graph Theory: Graphs – Directed, Undirected, Simple,. Adjacency & Incidence, Degree of Vertex, Subgraph, Complete graph, Cycle & Wheel Graph, Bipartite & Complete Bipartite Graph, Weighed Graph, Union of Simple Graphs. Complete Graphs. Isomorphic Graphs, Path, Cycles & Circuits Euclerian & Hamiltonian Graphs.
UNIT III: Planar Graph: Kuratowski’s Two Graphs, Euler’s Formula, Kuratowski’s Theorem. Trees: Spanning trees- Kruskal’s Algo, Finding Spanning Tree using Depth First Search, Breadth First Search, Complexity of Graph, Minimal Spanning Tree, Graph Coloring.
UNIT IV: Language of Logic: Proposition, Compound Proposition, Conjunction, Disjunction, Implication, Converse, Inverse & Contrpositive, Bi-conditional Statements, tautology, Contradiction & Contingency, Logical Equivalences, Quantifiers, Arguments Groups, Ring, fields and Lattice
UNIT V: Linear Programming: Linear programming problem, Simplex method, Revised Simplex method, Duality, Dual Simplex, Interior Point Method.
UNIT VI: Combinatorial Optimization Problems: Transportation problem, Assignment problem
Text/Reference Books
- C.L Liu and D.P. Mohapatra, Elements of Discrete Mathematics: A Computer Oriented Approach, TMH, 3rd Edition
- Rosen, Discrete Mathematics and its applications, 6th Edition
- Schaum’s Outlines of Discrete Mathematics, Seymour Lipschutz & Marc Lipson, 2nd Edition 4. Narsingh & Deo, Graph Theory with Applications to Engineering and Computer Science, PHI 2004 Publication
- Kanti Swarup and Man Mohan, Operations Research
- Combinatorial Optimization -Theory and Algorithms, Bemhard Korte, Jens Vygen.
- Teacher: Department of Computer Science
CSC-401: INTRODUCTION TO ARTIFICIAL INTELLIGENCE
Prerequisites to course: Discrete Mathematics, Software Engineering.
Objectives & Outline of the course: - The objective of the course is to present an overview of artificial intelligence (AI) principles and approaches. Develop a basic understanding of the building blocks of AI as presented in terms of intelligent agents: Search, Knowledge representation, inference, logic, and learning. Students will implement a small AI system in a team environment. The knowledge of artificial intelligence plays a considerable role in some applications students develop for courses in the program.
1. To have a basic proficiency in a traditional AI language including an ability to write simple to intermediate programs and an ability to understand code written in that language.
2. To have an understanding of the basic issues of knowledge representation and blind and heuristic search, as well as an understanding of other topics such as minimax, resolution, etc. that play an important role in AI programs.
3. To have a basic understanding of some of the more advanced topics of AI such as learning, natural language processing, agents and robotics, expert systems, and planning.
UNIT 1: Introduction: Introduction to AI, Historical Development, Turing Test. Problem Solving, Search Algorithms, State-space and Solution Space Search, State space as graph- state v/s node; Evaluating Search Strategies- Time, Space, Completeness, Optimality.
Uninformed search: Breadth First Search, Depth First Search, Iterative Deepening Search, Bi-directional Search, Uniform Cost Search.
UNIT 2: Informed search: Best First Search, Heuristic Search, A* Search, Admissible heuristic, Consistent heuristic, optimality and admissibility, IDA* search, Weighted A* search and inconsistency. Hill Climbing, Local Search, Simulated Annealing, local beam search and Genetic Algorithm.
UNIT 3: Adversarial search: Adversarial Search and Game Playing, Min-max Algorithm, Alpha-beta pruning, partially observable games, stochastic games.
UNIT 4: Constraint satisfaction problems: Introduction to CSPs, Constraint Networks, Binary and non-binary constraints, qualitative and quantitative CSPs, Consistencies- Local and global consistencies; Constraint propagation and generalizations − Related Methods: backtracking search; dynamic programming; variable elimination; Handling Spatial and Temporal constraints.
UNIT 5: AI planning: Introduction, complexity, PDDL, Domain Independent Planning, Domain Description, PDDL (syntax), forward vs. backward search, planning graph. Graph Plan,
UNIT 6: Probabilistic reasoning: Uncertainties in AI; Markov random fields; Markov networks; Baye’s Theorem; Bayesian networks – Concepts, Representation and Inference; Hidden Markov Model and Dynamic Bayesian Network. Dempster-Shaffer Framework of Evidential Reasoning.
BOOKS
- Artificial Intelligence: A Modern Approach (third Edition): S. Russel and P. Norvig.
- Artificial Intelligence: Foundation of Computational Agents: D Poole and AMckworth.
Outcomes:- Upon successful completion of the course, the student will be able to:
- Design a knowledge based system.
- Explain what constitutes "Artificial" Intelligence and how to identify systems with Artificial Intelligence.
- Ability to apply Artificial Intelligence techniques for problem solving.
- Use classical Artificial Intelligence techniques, such as search algorithms, minimax algorithm, and neural networks.
- Have read and analyzed important historical and current trends addressing artificial intelligence.
- Teacher: Department of Computer Science
CSC 501 (Data Warehousing and Mining)
- Teacher: Dr. Krishna Kumar Mohbey