Course Catalog | Department of Computer Science and Engineering

Course Catalog

CSD310
Modern Datawarehouse..........
4.00
Undergraduate
COURSE SUMMARY This course aims to teach the fundamentals and technical aspects of Datawarehouse, BigData, Cloud Storage and Data Visualization and as well how it is implemented in real life. COURSE AIMS a. To provide students with fundamental and technical knowledge on Datawarehouse, BigData, Cloud and Data Visualization b. To enable students to understand how real-life situations are modelled or implemented using various tools / components of BigData and Data Visualization c. To develop skills in data transformation, data processing and data visualization LEARNING OUTCOMES On Successful completion of this course, students will be able to: a. Understand the fundamentals and develop technical skills on data ingestion, data processing, data transformation and data visualization b. Understand and appreciate the importance of data in business PRE-REQUSITES Students enrolling to this program are expected to have good knowledge on the following areas. a. Object Oriented Programming Concepts b. Basic programming experience in Java or C or C++ c. Basic SQL programming d. Familiarity / Exposure with UNIX commands will be advantage CURRICULUM CONTENTS No. Module Sub Topics Evaluation 1Datawarehouse Essentials • Datawarehouse & Business Intelligence Basics Unix Basics 2. Big Data Foundation • Understanding BigData and Evolution of Hadoop, Hadoop Eco System Architecture, HDFS, File formats, File handling Sqoop Overview, Architecture, Freeform SQL, Working with Hive, Connectors Hive Overview, Data Processing Kafka Overview, Architecture, Working with Kafka • Spark Overview, Spark RDD, Spark Streaming 3. Data Lake on Cloud - Azure Data Lake • Introduction to Cloud • Azure Data Lake Architecture • Azure Data Lake Storage • Data Ingestion into DL - ADF • Azure Databricks 4 Building Datawarehouse on Cloud - Snowflake • Cloud Data Warehousing • Traditional vs Cloud ETL • Introduction to Snowflake • Connecting to Snowflake • Table & Data operations in Snowflake • Using Snowflake 5 Data Visualization & Reporting – PowerBI • Getting started with Data Visualization • PowerBI Architecture • Data Acquisition & Transformation • Data Modeling • Dashboarding & Reporting • Data Analytics Expression (DAX) • Power BI Service • Advanced Analytics in PowerBI Using R 6 Final Project Use case covering the course curriculum will be provided. 10. TEACHING AND LEARNING STRATEGY This course will be faculty driven course. This is aimed to provide conceptual knowledge and as well hands-on experience through industry relevant use-cases / scenarios as hands-on exercises. Environment for hands-on exercises will be enabled and as well session with SME (Subject Matter Expert) will be enabled to clarify the technical queries. 11. ASSESSMENT STRATEGY Grading will be relative. However minimum 40% is required to pass the course. Assessment Model No. Type of Assessment Description Percentage (%) 1 Hands-On Exercise Review Work on the given hands-on exercises at the end of every module and present the output. 40% 2 Class Participation In-class surprise Quiz/ activities/ Discussions/ Problem solving/ Attendance (physical presence in class mandatory to get scored in this component) 10% 3 Mid-Term Exam Objective Type Exam 20% 4 End Term Exam Work on the given use-case and submit the final output. 30%
CSD314
Machine Learning through R.
4.00
Undergraduate
Course description not available.
CSD411
Intro. to Geometric Algorithms
3.00
Undergraduate
Course Summary This course focuses on design and analysis of algorithms for problems that are geometric in nature or modelled as a geometric problem. These include construction convex hulls, Voronoi diagrams, range queries, Euclidean MST and optimization problems like Linear Programming. Besides the well-studied algorithmic techniques, geometric problems have motivated many novel algorithmic strategies and data structures that the course will attempt to cover. Students are expected to be familiar with basic data structures and algorithm design techniques and high school level coordinate geometry. Since geometric problems require appropriate data representation, there will be some exercises that students will be expected to program and experience the challenges of such implmentations. Course Aims 1. To provide students with a basic understanding of representation of geometric objects and computational framework. 2. To introduce students to the design and analysis of fundamental geometric problems. 3. To develop understanding of relationship between complexity of geometric problems. 4. To develop some basic relationship between combinatorial geometry and analysis of geometric algorithms . 5. To enable students to get a flavour of implementing algorithms that rely on arithmetic and algebraic operations involving finite precision operands. Learning Outcomes On successful completion of the course, students will be able to: a) Evaluate the importance of modelling a given problem in terms of its geometric properties and how to exploit these algorithmically. b) Develop a good understanding of many fundamental geometric data structures like range-search trees and their extensions to higher dimensions. c) Develop some understanding of the computational complexity of basic geometric problems. Curriculum Content Syllabus 1. Geometric Fundamentals: Models of computation, lower bound techniques, geometric primitives, geometric transforms 2. Convex Hulls: . Planar convex hulls, higher dimensional convex hulls, randomized, output-sensitive, and dynamic algorithms, applications of convex hull 3. Geometric Searching: segment, interval, and priority-search trees, point location, persistent data structure, fractional cascading, range searching, nearest-neighbor searching 4. Proximity Problems: closest pair, Voronoi diagram, Delaunay triangulation and their subgraphs, spanners, well separated pair decomposition 5. Arrangements: Arrangements of lines and hyperplanes, sweep-line and incremental algorithms, lower envelopes, levels, and zones, applications of arrangements 6. Randomized Techniques:.Use of random sampling and Randomized incremental construction   Teaching and Learning Strategy a) Lectures will encourage students to develop intuitions behind designing efficient algorithms with interactive discourse. b) Extend techniques learned during lectures for solving assignment problems. c) Students will be expected to use online material available in internet to enhance their classroom learning. d) Discussion over email groups outside of class room to promote collective understanding of challenging issues. Teaching and Learning Strategy Class Hours Out-of-Class Hours Lectures 30 hours Programming Exercises 20 hours (estimated) Assignments 20 hours ASSSESSMENT. Assessment Strategy Formative Assessment: a) Assignments b) Programming Project c) Midterm Exam Summary Assessment a) Final Exam 16. Mapping of Learning Outcomes to Assessment Strategy Assessment Scheme Type of Assessment Description Percentage Assignments 10% Programming Assignments Two project-like assignments to be done in group of 2 10%+ 10% Midterm Exam 25% Final Exam 45% Total 100% Bibliography Books: 1. Computational Geometry by M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf, pub: Springer. 2. Computational Geometry in C, J. O' Rourke, Cambridge University Press. 3. Algorithms in Combinatorial Geometry, H. Edelsbrunner, pub: Springer-Verlag (EATCS Monograph) 4. Computational Geometry - an introduction, Preparata and Shamos, pub: Springer-Verlag. 5. Computational Geometry: an Introduction through randomization, K. Mulmuley, Pub: Prentice Hall. 6. LEDA - a platform for combinatorial and geometric computing, Mehlhorn and Naher, pub: Cambridge. Online Resources: NPTEL Videos of a longer version of this course
CSD316
Intro. to Machine Learning
3.00
Undergraduate
Course Summary The course introduces the basic concepts, techniques and tools for designing programs that learn from data. Course Aims a) Understand different types of data. b) Learn how to construct models that can predict from data (supervised learning) and organize data into coherent categories (unsurpervised learning). c) Understand where and how machine learning can go wrong. Learning Outcomes On successful completion of the course, students will be able to: Build models for prediction and data organization from data. Learn to use basic ML libraries. Understand the basic theories and concepts that underly machine learning. Curriculum Content Topics: The learning problem. Types of learning. Training, validation, testing, generalization, overfitting. Features and feature engineering, dimensionality reduction. Bayesian decision theory. Parametric methods. Tree models. Linear models. SVMs and kernel based models. Nearest neighbour models. Markov models. Neural network models. Ensemble methods - boosting, bagging, voting schemes. Distance metrics and cluster based models. The topics in the course will not be covered in linear order. They will be inter-twined to make machine learning easy to understand and hopefully the progression will be fairly logical. Teaching and Learning Strategy Lectures, demonstrations, targeted assignments on conceptual material, term project for integrating the various parts of the course. ASSSESSMENT. Assessment Strategy Midsem (20%), Endsem (35%), programming assignments (15%), term project (30%). Mapping of Learning Outcomes to Assessment Strategy (For each learning outcome listed in Item 12, describe the formative and summative assessment strategy) The midsem and endsem exams will test grasp of theoretical concepts. The assignments will test use of libraries and tools to build and test models. The term project will test the ability to build an end to end system starting from possibly noisy data to construct a high performance model. References a) Ethem Alpaydin, Introduction to Machine Learning, 3rd Ed., MIT Press, 2014. b) Peter Flach, Machine Learning: The Art and Science of Algorithms that Make Sense of Data, CUP, 2012. c) Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012. d) S Kulkarni, G Harman, An Elementary Introduction to Statistical Learning Theory, Wiley, 2011.
CSD315
Optimization I
4.00
Undergraduate
Course description not available.
CSD312
Information Retrieval
3.00
Undergraduate
Information Retrieval
CSD430
Project
20.00
Undergraduate
Project
CSD432
Project
12.00
Undergraduate
Course description not available.
CSD208
Computer Architecture
4.00
Undergraduate
Prerequisite: CSD206 1. Revision of Computer Organisation. Floating point operations, 2. Instruction Set Architecture-8051/ARM 3. Pipelined Processor-Hazards 4. Advanced Pipelining and Instruction-Level Parallelism 5. Memory Systems 6. Storage Systems and I/O 7. Interconnection Networks 8. Multiprocessors 9. Parallel and Distributed Computing 10. High Performance Computing 11. Embedded Systems
CSD401
Artificial Intelligence
4.00
Undergraduate
Sl. No. Topics 1 Introduction to AI, AI History and Applications 2 Intelligent Agents, Rationality 3 Solving Problems by Searching - Generate and Test, Breadth-first search, Depth-first search, Best-First Search, A*, AO, Evolutionary search algorithms 4 Hill Climbing, Minimax Search, Alpha-Beta Cutoffs, State-of-the-Art Game Problems 5 Propositional Logic, Model Checking, First Order Logic, Unification and Lifting, Forward Chaining, Backward Chaining, Resolution 6 Classical Planning 7 Introduction to Probability Theory, Baye’s Theorem, Introduction to Bayesian Networks 8 Understanding and Learning 9 Natural Language Processing-Syntactic Processing, Semantic Analysis 10 Introduction to Expert systems 11 Advanced Topics
CSD306
Compiler Design
4.00
Undergraduate
: Introduction- Language Processors, the structure of a compiler, Lexical Analysis- the role of lexical analyzer, input buffering, specification of tokens, recognition of tokens, Syntax Analysis- grammars, top-down parsing, bottom-up parsing, LR parsing, Syntax directed translation- definitions, evaluation, application, schemes, Code Generation intermediate code generation, runtime environments, issues in code generator, introduction to optimization. Module 1: Introduction Language Processors, motivation and application, the structure of a compiler, phases of compiler. Module 2: Lexical Analysis The role of lexical analyzer, input buffering, specification of tokens, recognition of tokens Module 3: Syntax Analysis Grammars, top-down parsing, bottom-up parsing, LR parsing Module 4: Syntax directed translation Definitions, evaluation, application, schemes Module 5: Code Generation Intermediate code generation, runtime environments, issues in code generator, introduction to optimization Laboratory: • Programs for Lexical Analysis, exercises based on finite state automata and regular expressions • Programs for Syntax Analysis, exercises based on grammars and pushdown automata • Exercises related to syntax directed translation • Code generation • Code Optimization
CSD304
Computer Networks
4.00
Undergraduate
Prerequisite: CSD204, CSD207* Protocol layers, physical and data link layers, multi-access, IP naming, addressing and forwarding, transport protocols, congestion control, routing protocols, wireless networks, quality of service, network security.
CSD305
Computer Org & Architecture
4.00
Undergraduate
Introduction to Computer Architecture: Overview and history - The cost factor, Performance metrics and evaluating computer designs, Memory hierarchy. Instruction set design - Assembly / machine language, Von Neumann machine cycle, Microprogramming / firmware, Memory addressing, Classifying instruction set architectures, RISC versus CISC Pipelining - General considerations, Comparison of pipelined and nonpipelined computers, Instruction and arithmetic pipelines, examples, Structural hazards and data dependencies, Branch delay and multicycle instructions, Superscalar computers. Memory System Design - Cache memory, Basic cache structure and design, Fully associative, direct, and set associative mapping, Analyzing cache effectiveness, Replacement policies, Writing to a cache, Multiple caches, Upgrading a cache, Main Memory, Virtual memory, structure, and design, Paging, Replacement strategies, Secondary memory Multiprocessors and Multiple Computers - SISD, SIMD, and MIMD architectures, Centralized and distributed shared memory- architectures, Cache Coherence
CSD421
Cryptography
4.00
Undergraduate
Cryptography
CSD311
Artificial Intelligence
4.00
Undergraduate
Artificial Intelligence
CSD429
Research Methods in Computing
4.00
Undergraduate
Prerequisite: CSD428* Foundations of Research practices, state of the art, research problem formulation, theoretical and experimental research, paper reading and writing, use of tools and techniques in research.
CSD320
M/c Lrng: Tools Techs. & Apps.
4.00
Undergraduate
Machine Learning: Tools, Techniques and Application
CSD321
Image Processing & its Apps.
4.00
Undergraduate
Image Processing and its Applications
CSD101
Introduction to Computing and Programming
4.00
Undergraduate
Basics of computer programming, Introduction to C programming, data types, operators, control statements, functions, arrays, pointers, strings, formatted I/O, structures, unions, bit manipulation, file processing, brief introduction to data structures. Module 1: Introduction  Explain computers, hardware and software.  Understand the basic terminologies used in programming. Explain personal, distributed, client server computing. Explain machine languages, assembly languages and high level languages.  Module 2: Basics of C programming    Introduction to C programming, different data types, various operators (arithmetic, logical, bitwise, assignment) Control Structures: If, if…else, while, do…while, for, switch, break, continue   Module 3:  Arrays, Functions and Pointers  Functions: Defining and accessing, Calling Functions by value and by reference, Recursion.  Arrays: Defining arrays, passing arrays to functions, multidimensional arrays, sorting and searching arrays. Pointers: Declarations, operations on pointers, passing pointers to function, pointer arithmetic, pointers and arrays.   Module 4: Characters and Strings, Structures, Formatted I/O  Fundamentals of characters and strings, Character handling and string handling Structures: Defining, accessing structure members, using structures with functions  Module  5: File Processing, Data Structures  Reading/Writing  data  from/to  sequential  access  and  random access file. Introduction to stacks, queues, linked list and trees.
CSD335
Object Oriented Programming in Java
4.00
Undergraduate
Prerequisite: CSD101 Introduction, Elementary Programming, Selections, Loops, Methods, Arrays, Strings, Objects and Classes, Inheritance and Polymorphism, GUI Basics and Components, Graphics, Exceptions, Abstract Classes and Interfaces, Event-Driven Programming, Binary I/O, Recursion, Java Collections Framework.
CSD201
Data Structures
4.00
Undergraduate
Prerequisite: CSD101 The goal of the course is to teach fundamental data structures, whichallow one to store  collections of data with fast updates and queries. A detailed schedule will evolve as the semester progresses. Key topics will definitely include: C refresher, abstract data types, fundamental data structures, complexity of algorithms, analysis tools, linked lists, stacks and queues, search trees,maps, hashing, priority queues, graphs.
CSD202
Database Systems
4.00
Undergraduate
Prerequisite: CSD201, CSD205Database Concepts  - File system and databes. - Database systems - Database Models  Relational Database Model  - A logical view of data - Keys - Integrity  rules - Relational Database Catalogue  Structured Query Language  - DDL commands - DML commands - DCL  commands - TCL  commands - Queries  Design Concepts  - Data Models - Conceptual Model - External Model - Physical Model - Entity Relationship  Model (E-R  Model ) - Developing E-R diagram, EER – diagram. - Converting E-R model into a database structure. - Normalization - Normal Forms - De normalization.  Transaction Management.  Concurrency control  Buffer Management  Query Processing.  Concept of object oriented management system.  Distributed database management system.  Other databases.
CSD204
Operating Systems
4.00
Undergraduate
Prerequisites: CSD206, CSD207* Fundamental functions and basic structure of operating Systems, process concept, process and CPU scheduling, and interprocess communication. Multithreading, process synchronization, deadlock management, main memory and virtual memory, mass storage structures, File Systems, I/O Systems.
CSD205
Discrete Mathematics
4.00
Undergraduate
Prerequisite: NA Counting: Permutation & Combination, Derangement, Pigeonhole Principle, Binomial Coefficient, Principle of Inclusion and Exclusion.   Set Theory: Operations on sets, Cartesian product of sets, General proofs of some fundamental identities on sets.   Group Theory: Functions: Definition, Classification of functions, Operations on functions, Algebraic Structures: Definition, Groups, Subgroups and order, Cyclic Groups, Cosets, Lagrange's theorem, Normal Subgroups, Permutation and Symmetric groups, Group Homeomorphisms, Definition and elementary properties of Rings and Fields, Integers Modulo n. Relation Algebra:  Relations and Digraphs, Properties of relations, Equivalence relations and equivalence classes, Operations on relations, Connection between relations and some data structures, Transitive Closure and Warshall’s algorithm. Partial order relations, Partial order sets: Definition, Partial order sets, Combination of partial order sets, Hasse diagram. Lattices: Definition, Properties of lattices – Bounded, Complemented and Complete lattice. Graph Theory: Basic of Graph, Euler paths and circuits, Hamiltonian paths and circuits, isomorphic graphs, Connected Graph, Trees, Labeled trees, Tree searching, Undirected trees, Isomorphic trees, Minimal spanning trees, Prim’s algorithm, Planar Graph,  Matching problems, Coloring graphs, Transport networks. Propositional Logic and Predicate Calculus: Propositions and Logical operations, Conditional statements, First order predicate, well-formed formula of predicate, quantifiers, Inference theory of predicate logic.  Methods of proof, Mathematical induction, Recursively defined functions, Growth of Functions, Recurrence relations.
CSD402
Internet and Web Systems
4.00
Undergraduate
Prerequisite: CSD304* This course aims on the concepts used in building Internet and web systems. The students would be able to understand how a web server is built.  11. Course Aims 1.    To introduce the concepts of Distributed systems, Cloud computing, web servers. 2.    To understand big data and streaming data processing on web servers. 3.    Understand concepts of naming and locating resources, directory systems, distributed data structures and applications. 4.    Apply the concepts learnt by applying them in an end-to-end project.
CSD206
Computer Organization
4.00
Undergraduate
Prerequisite: CSD101 The course aims at providing an overview of computer organization and how computer design has evolved, analyzing major components including internal and external memory, input–output (I/O) bus interconnection system, analyzing internal organization of processor, control unit and use of hardwired & microprogrammed control unit. Additionally, computer arithmetic and instruction set architecture will be focused upon.
CSD207
Object Oriented Programming in Java
4.00
Undergraduate
Prerequisite: CSD101 This course includes the introductory and advanced concepts and  implementation of the Object Oriented Paradigm using the Java programming language. Topic would include Introduction, Elementary Programming, Selections, Loops, Methods, Arrays, Strings, Objects and Classes, Inheritance and Polymorphism, GUI Basics and Components, Graphics, Exceptions, Abstract Classes and Interfaces, Event-Driven Programming, Binary I/O, Recursion, and Java Collections Framework. 11.    Course Aims This course will enable the students to understand the concepts of object oriented programming using java, and apply its structures and techniques in various programming problems.
CSD428
Software Project Management
4.00
Undergraduate
Prerequisite: CSD301 Key concepts in software project management, planning and its execution. Working knowledge of software project life cycle, create project plan, write business user requirements, estimate the project size, plan Agile sprints, set-up development environment by applying continuous integration and deployment tools, test software project quality, and apply skills to manage stakeholders.
CSD209
Introduction to Probability and Statistics
4.00
Undergraduate
Prerequisite: CSD205 Applications of inferential statistics in engineering problems; Measures of central tendency, Measures of Dispersion, Time series analysis & Trend Analysis. Karl Pearson and Spearman rank correlation, Regression equations and their application, Partial and Multiple correlation & regression. Sampling theory; Formulation of Hypotheses; Application of Z test, t-test, F-test and Chi-Square test & application to engineering problems. Concept of probability and its uses in business decision-making; Addition and multiplication theorems; Bayes’ Theorem and its applications. Probability Theoretical Distributions: Concept and application of Binomial; Poisson and Normal distributions, Introduction to Stochastic Processes.
CSD444
Special Topics in CSE
4.00
Undergraduate
Special Topics in Computer Science
CSD301
Software Engineering
4.00
Undergraduate
Prerequisite: CSD201, CSD207* This course aims at helping students build up an understanding of how to develop a software system from scratch by guiding them through the development process and giving them the fundamental principles of system development with object oriented technology using UML. The course will initiate students to the different software process models, project management, software requirements engineering process, systems analysis and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle.
CSD203
Principles of Prog. Languages
4.00
Undergraduate
Principles of Programming Languages
CSD302
Design and Analysis of Algorithms
4.00
Undergraduate
Prerequisite: CSD201, CSD205 Asymptotic notations, analysis of iterative and recursive algorithms, randomized algorithms, divide and conquer, greedy method, dynamic programming, graph algorithms, backtracking, NP-Hard and NP-Complete problems.
CSD303
Theory of Computation
3.00
Undergraduate
Prerequisite: CSD201, CSD205 Finite automata, nondeterminism, regular languages ; pushdown automata, context-free languages, grammars; Turing machines, computability; complexity, NP-completeness ; hot topics (possibly including cryptography, on-line algorithms, game theory, social networks, randomization, and quantum computing).
CSD403
Big Data and Cloud Computing
3.00
Undergraduate
Big Data Management and Analytics has been becoming increasingly important for deriving valuable and actionable insights in in several important and diverse domains such as smart cities, transportation, healthcare and financial services. On the other hand, Cloud computing platforms, such as Hadoop, incorporate the capabilities of processing, managing and analyzing such Big Data in a highly scalable manner. This course is designed to equip students with the fundamentals of Big Data management & analytics (including data mining, machine learning techniques etc.) as well as facilitate them in understanding how Big Data can be efficiently processed in Cloud computing platforms. The course also has a significant “hands-on” lab component, where students will gain exposure to processing and analyzing Big Data on Hadoop. Unit 1: Introduction to Big Data and its applications This unit introduces the concept of Big Data and explains its four dimensions (i.e., volume, velocity, variety & veracity). Then it details several applications of Big Data analytics to motivate the ever-increasing importance of Big Data in today’s world. Applications cover a wide gamut of domains ranging from transportation services to finance to social media. Moreover, it describes how Big Data can represent a high value proposition to businesses as a source of competitive advantage in improving some of their key performance metrics such as market share, profit margins etc. Unit 2: Issues associated with Big Data Management This unit discusses various key issue which arise in the processing of Big Data. Notably, many of these issues also arise while processing data that do not fall under the Big Data category. However, such issues are significantly exacerbated due to the tremendously large volumes and typically high complexity of Big Data. Issues include (but are not limited to) data cleaning, data heterogeneity, data integration, replication, caching, maintenance of data consistency, scalability and so on. The unit also covers the inherent trade-offs associated with each of these issues. Unit 3: Concepts of Cloud computing This unit discusses the key concepts and principles of Cloud Computing. It also incorporates detailed information about Cloud-related terminology. The topics covered in this unit include (but are not limited to) pros and cons of Cloud computing, Cloud architecture, Cloud service models (IaaS, PaaS, SaaS), Cloud applications (Azure, AWS etc.), effective resource allocation and cost efficiencies in Cloud computing, multitenancy and so on. Unit 4: Hadoop and MapReduce This unit covers the key concepts of Hadoop and MapReduce for solving real-world analytics problems associated with Big Data. The topics covered in this unit include (but are not limited to) Hadoop Distributed File system and several key Hadoop-related modules or software packages such as Hive, Pig, HBase, Spark, Flume, Sqoop, Oozie etc. Students will not only understand the concepts of these Hadoop packages, but also engage in some hands-on development work on these modules to gain a deeper level of expertise. Unit 5: Data Models & NoSQL This unit discusses the four key data models that are important for handling Big Data. The models are key-value DB, column-family DB, document DB and graph DB. For each of these data models, the unit will cover some of the important real-world technologies from both a theoretical perspective as well as from a practical hands-on point of view. Examples include HBase, Cassandra, Hypertable, BigTable, Dynamo DB, Mongo DB, Neo4J, Redis etc. This unit will also present the various trade-offs associated with selecting an appropriate data model based on issues such as the requirements of the respective applications, the specific properties of the underlying data, complexity of performing analytics and scalability. Unit 6: Big Data Strategy and Implementation This unit examines the business and strategic perspective of Big Data. Topics covered in this unit include (but are not limited to) a brief overview of some of the fundamental concepts of business strategy & business intelligence, understanding the key requirements of the relevant stakeholder(s), defining a Big Data strategy & creating plans for implementing the strategy, selecting appropriate Big Data tools and technologies based on the requirements of stakeholder(s) and cost-benefit trade-offs, maximizing the benefits obtaining by analyzing Big Data and maintaining a sustainable competitive advantage in the market.
CSD308
Advanced Database Mgmt Systems
3.00
Undergraduate
Advanced Database Management Systems
CSD420
Cyber Physical Systems
3.00
Undergraduate
Cyber Physical Systems
CSD309
Network Security
3.00
Undergraduate
Course description not available.
CSD307
Advanced Data Mgmt Systems
3.00
Undergraduate
Data management has been becoming increasingly critical to derive value to existing applications and services. This course is designed to cover advanced concepts of data management including (but not limited to) concurrency control, transaction management, query processing, indexing, mobile data management, spatial databases, as well as handling WWW & social media data. The course has a significant hands-on lab component, where students will do programming assignments to further improve their expertise in the concepts and implementation of advanced data management systems. Unit 1: Concurrency Control This unit will cover topics such as the need for concurrency control, serializability, recoverability, optimistic & pessimistic concurrency control mechanisms, two-phase locking, two-phase commit, time-stamp ordering, multi-version concurrency control etc. Unit 2: Transaction Management This unit will cover topics such as the ACID properties of transactions & the relaxation of some of these properties for new-age applications, rollback, deadlocks, compensating transactions, recovery. Unit 3: Indexing This unit discusses various important single-dimensional and multi-dimensional database indexes as well as their variants. Examples include B-trees, R-trees, quadtrees etc. In this unit, students will also learn how to create variants of these fundamental indexes to improve query response times for real-world complex user queries related to domains such as smart cities. The unit also covers the inherent trade-offs associated with each of the indexes so that students can learn how to decide the appropriate index to use for a given application scenario. Unit 4: Complex Query Processing & Optimization This unit covers query processing & optimization. Topics in this unit include (but are not limited to) query plans, query size estimation, disk I/O cost estimation etc. This unit will also cover the processing of complex spatial database queries such as multi-way spatial joins, keyword search queries in spatial databases, k-Nearest Neighbor queries, m-closest descriptors queries and so on. Furthermore, this unit will also cover aspects of distributed query processing such as query processing in a cluster environment and issues such as data migration, data replication, index migration & replication, data availability, performance, scalability etc. Unit 5: Mobile Data Management Given the ever-increasing popularity and prevalence of mobile devices and apps, the need for effective mobile data management continues to increase dramatically. This unit describes key mobile data management issues such as mobile resource constraints (e.g., energy, bandwidth), incentives for participatory crowdsourcing/crowdsensing, reliability, scalability etc. Unit 6: Handling WWW & Social Media Data This unit will discuss existing as well as emerging applications of data management for WWW & social media data. Key issues associated with handling WWW & social media will also be covered. Examples of such issues include noisy data & data reliability, data heterogeneity, data integration, data semantics, knowledge management, unstructured data, scalability etc.
CSD323
Wireless and Mobile Systems
3.00
Undergraduate
Unit 1: •Introduction. Unit 2 (Mobile Radio Propagation): •Types of Radio Waves. •Propagation Mechanisms. •Free Space Propagation. •Land Propagation. •Path loss and Fading. •Doppler Effect, Delay Spread and Intersymbol Interference. Unit 3 (Cellular Concept): •Cell Area. •Signal Strength and Cell parameters. •Capacity of a cell. •Frequency reuse. •How to form a cluster. •Cochannel Interference •Cell Splitting and Cell Sectoring. Unit 4 (Multiple division Techniques): •Concepts and Models of Multiple Divisions (FDMA, TDMA, etc.) Unit 5 (Channel Allocation): •Static Allocation versus Dynamic Allocation. •Fixed Channel Allocation. •Dynamic Channel Allocation. •Hybrid Channel Allocation. •Allocation in specialized System Structure. Unit 6 (Mobile Communication Systems): •Cellular System Infrastructure. •Registration. •Handoff and Roaming Support. •Multicasting. •Security and Privacy. Unit 7 (Wireless MANs, LANs and PANs): •Wireless Metropolitan Area Networks (4G systems). •Wireless Local Area Networks (IEEE 802.11). •Wireless Personal Area Network (Bluetooth Networks).
CSD328
Communication Networks
3.00
Undergraduate
Introduction to communication networks. Switching: Circuit switching, Packet switching, Message switching, Cell switching, Permanent virtual circuit, Switched virtual circuit. Transmission Medium: Copper cable, Shielded twisted pair, UTP, Coaxial cable, Optical fiber cable. Telephone communication. Data Communication: OSI layers. Data Link layer: HDLC, Multiple access control- ALHO, Polling, CSMA/CD, Token passing. LAN: Ethernet- 10 to 100BaseT, Gigabit, 40 Gigabit, 10Base2, 10Base5, 10Base F, Token ring, FDDI, Repeater, Bridge, Router, Gateway. WAN: Packet switch network- X.25, Frame relay, ATM. Broadband Access Technology: ISDN, Cable modem, xDSL. Internet Protocol: TCP/IP, UDP, IPv4, IP
CSD322
Computer Graphics
3.00
Undergraduate
Computer Graphics
CSD337
Wireless Sensor Networks
3.00
Undergraduate
Introduction to WSN, applications, and challenges. • Understand Node and Network Architecture. • Understand and Analyze WSN protocol stack. • Understand and analyze MAC protocols. • Understand Wake up strategies. • Understand and analyze routing protocols. • Explain clustering approaches and their applications. • Understand various important topics: data aggregation, time synchronization, localization, topology control, node addressing, error control, QoS. • Examine WSN security issues. • Laboratory classes will focus on simulating networks and various protocols; and implementing your own sensor nodes and working on them. For labs, you will be required to purchase prescribed hardware.
CSD324
Data Mining
3.00
Undergraduate
Data Mining
CSD338
Information Theory
3.00
Undergraduate
Information Theory
CSD329
System Programming with Linux
3.00
Undergraduate
System Programming with Linux
CSD342
Data Mining & Data Warehousing
3.00
Undergraduate
1 Introduction to data mining, Data Mining vs Knowledge discovery, Data Mining issues, Social Implications. 2 Introduction to data warehousing, Database/OLTP systems, Decision Support Systems, Multi-dimensional data model, Data Warehouse components, architecture and implementation, OLAP 3 Data Preprocessing: Data Cleaning, Data Integration and Transformation, Data Reduction, Discretization and Concept Hierarchy Generation 4 Statistical Measures: Point Estimation, Models based on Summarization, Bayes Theorem, Hypothesis testing, Regression and Correlation; Similarity measures. 5 Mining Association Rules in large databases, Mining Multidimensional Association Rules from Relational Databases and Data Warehouses, From Association Mining to Correlation Analysis, Constraint Based Association Mining 6 Classification, Prediction, Clustering and Visualization 7 Introduction to Advanced Topics: Mining complex data, Mining Time-series data, Spatial data mining, Multimedia data mining, Text mining, Mining the WWW. 8 Social impact of Data mining, Recent trends in Data mining research, Challenges and Future Scope.
CSD339
Performance Modelling Of CCN
3.00
Undergraduate
The course will enable the students to appreciate the power of analytical models in the analysis of performance of computer communication networks. 11. Course Aims The emphasis will be to analyze the performance of network queues under Markovian framework when inter arrival time of network packets shows exponential distribution. Further, the limitation of Markovian assumption will be underlined when the traffic characteristics are governed by heavy tail distribution.
CSD340
Network Design and Performance
3.00
Undergraduate
Network Design and Performance
CSD404
Internet of Things
3.00
Undergraduate
The course will provide a hands on approach to the concept of IoT. Topics include: Introduction to IoT, IoT Domains, IoT Platform Design and Methodologies, IoT Hardware Platforms and Sensors, IoT Web and Cloud Platforms, IoT Analytics, IoT Tools, IoT Security Case Studies and Projects.
CSD341
Internetworking Concepts
3.00
Undergraduate
This course would cover advanced topics in networking technologies such as :IPv4 and IPv6 - transition issues, core routers and routing protocols, Quality of Service, congestion control and queue management, Multi-Protocol Label Switching, Rapid Spanning Tree Protocol, Shortest Path Bridging and Emerging switching technologies, VLANs tagging, trunking and VLAN Hierarchies. Related topics in wireless networks will be also covered. In each topic related security /privacy issues will be discussed.
CSD343
Data and Knowledge Engineering
3.00
Undergraduate
Data and Knowledge Engineering
CSD344
Systems Programming
3.00
Undergraduate
Systems Programming
CSD350
Natural Language Processing
3.00
Undergraduate
Course description not available.
CSD681
Optimization
4.00
Graduate
Optimization
CSD680
Information Retrieval
4.00
Graduate
Information Retrieval
CSD642
Computer Organization and Arch
4.00
Graduate
Computer Organization and Architecture
CSD655
Advanced Operating Systems
4.00
Graduate
Advanced Operating Systems
CSD700
M.Tech Thesis -1
12.00
Graduate
M.tech Thesis -1
CSD701
M. Tech Thesis-2
12.00
Graduate
M. Tech Thesis-2
CSD751
SS: Research Methodology
6.00
Graduate
Research Methodology : Self Study
CSD760
Adv. Studies in Img. Processg.
6.00
Graduate
Advanced Studies in Computer Sciences: Image Processing
CSD654
Internet of Things
4.00
Graduate
Internet of Things
CSD891
Research Methodology
4.00
Graduate
Research Methodology
CSD703
Optical Networks
3.00
Graduate
Optical Networks
CSD650
Adv. Probability & Statistics
4.00
Graduate
Advanced Probability and Statistics
CSD651
Self Study I
4.00
Graduate
Self Study I
CSD652
Self-Study II
4.00
Graduate
Self-Study II
CSD653
Adv Big Data Analy & Cloud Com
4.00
Graduate
Advanced Big Data Analytics and Cloud Computing
CSD601
Embedded Systems
4.00
Graduate
Embedded Systems
CSD600
Advanced Computer Architecture
4.00
Graduate
Advanced Computer Architecture
CSD630
Topics in Mathematics
4.00
Graduate
Topics in Mathematics
CSD603
Real Time Systems
4.00
Graduate
Real Time Systems
CSD631
Adv. Prog. Techs. & Algo. Des.
4.00
Graduate
Advanced Programming Techniques and Algorithm Design
CSD604
Advanced Algorithms
4.00
Graduate
Advanced Algorithms
CSD635
Advanced Topics in OOP
4.00
Graduate
Advanced Topics in OOP
CSD606
Multimedia Computing
4.00
Graduate
Multimedia Computing
CSD637
Wireless and Mobile System
4.00
Graduate
Wireless and Mobile System
CSD632
Machine Learning
4.00
Graduate
Machine Learning
CSD643
Performance Modelling Of CCN
4.00
Graduate
Performance Modeling Of Computer Communication Networks
CSD636
Data Mining
4.00
Graduate
Data Mining
CSD644
Advanced Computer Networks
4.00
Graduate
Advanced Computer Networks
CSD639
Compiler Design
4.00
Graduate
Compiler Design
CSD647
Wireless Sensor Networks
4.00
Graduate
Wireless Sensor Networks
CSD640
Special Topics in Sensor Netw.
4.00
Graduate
Special Topics in Sensor Networks
CSD648
Information Theory
4.00
Graduate
Course description not available.
CSD649
Data Mining & Data warehousing
4.00
Graduate
Course description not available.
CSD646
Internetworking Concepts
4.00
Graduate
Internetworking Concepts
CSD645
Cyber Physical Systems
3.00
Graduate
Cyber Physical Systems
CSD602
Software Project Lab
2.00
Graduate
Software Project Lab
CSD605
Project
2.00
Graduate
Project