

![]()
National Institute of Technology Srinagar
|
|
COURSES OFFERED BY THE DEPARTMENT |
|
|
|
||
|
Core Courses:
|
3rd Semester Courses - Object Oriented
Programming - Colloquium
|
|
Electives:
1. Data Structures in C: Outline: Basic concepts of data, linear lists, strings, arrays and orthogonal lists; representation of trees and graphs; storage systems and structures; symbol table and searching techniques, sorting techniques; data structures in programming languages; data management systems; Storage Management
2. Advanced Data Structures & Algorithms: Outline:
- Quick Sort – Design & Elementary Analysis; Comparison of sorting techniques: Random Access / Sequential Access, Stability, Analysis; Randomization; Performance Improvements - Lower bounds on Comparison Sorting; - Sorting by Distribution ( Bucket and Radix )
- Heap - Multi-way Merge; - Huffman Coding (Greedy Algorithm) § Tree Traversals: Strategies - BFT vs. DFT, Implementation: Stack vs. Queue. Applications (e.g. File System Commands; State Space Exploration (Games))
- Single Source Shortest Paths: Dijkstra’s Greedy algorithm - All-pairs shortest Paths: Floyd-Warshall’s DP Algorithm
- Greedy Algorithms ( Kruskal’s & Prim’s & Baruvka’s)
- Exponential
3. Object Oriented Programming:
Ř Process of object-oriented requirements specification
4. Database Systems: Outline: Introduction to data bases and management; data files and structures; hierarchical, relational, network models; distributed data bases; query processing and query optimization, query languages; concepts of security and protection; case study of a data base system
- Object Based Logical Models § The E-R Model § The Object-Oriented Model - Record Based Logical Models § The Relational Model § The Network Model § The Hierarchical Model - Physical Data Model
5. Operating Systems: Outline: Introduction to operating systems; Various approaches to design of operating systems; Overview of hardware support for operating systems; Process management: process synchronization and mutual exclusion, inter-process communication, process scheduling; CPU scheduling approaches; Memory management: paging, segmentation, virtual memory, page replacement algorithms; File systems: design and implementation of file systems; Input/Output systems; device controllers and device drivers; Security and protection; Case studies on design and implementation of operating system modules.
6. Data Communication:
7. Computer Networks: Outline: Evolution of communication and computer networks, protocol layering, network reference models, multiple access protocols, local area networks, packet and circuit switching, switching fabrics, network performance analysis and simulation techniques; addressing, routing, flow and congestion control, IP protocol; Broadband Integrated Services Digital Network (B-ISDN); Asynchronous Transfer Mode (ATM) reference models; network interoperability, traffic management and quality of service in integrated network protocol design and implementation strategies.
§ Introductory Concepts & Overview § Fundamental Networking Concepts § OSI Reference Model & TCP/IP Protocol Stack § Basics of Data Communication at the Physical Layer. § Basic Internetworking Devices: Hubs, Repeaters, Switches, Bridges, Routers and Gateways § Application Layer Protocols: HTTP, DNS, SMTP, SNMP § Transport Layer Services & Principles § Multiplexing & De-multiplexing Applications § Connection Oriented & Connectionless Transport ( TCP & UDP) § Reliable Data Transfer § Congestion Control, Flow control § Network Layer Design Issues - Routing Algorithms - Internet Protocol (IP) - Subnets, CIDR § Data Link layer design Issues, Protocols § The MAC Sublayer & Allocation Issues § Ethernet § Wireless LANs § ARP and RARP § ATM § Multimedia Networking § Multicast and Unicast protocols ( ICMP, IGMP etc ) § Ipv4 vs ipv6 § Overview of IPSEC
8. Software Engineering: Outline: Software life cycle; requirements and tools; informal and formal specifications; design methodologies; structural and functional testing; models for reliability and cost.
9. Network and Internet Security: Outline: This
course examines issues related to network and
- Secret-Key Encryption - Public-Key Encryption and PKI (Public-Key Infrastructure) - One-way Hash Functions - MAC (Message Authentication Code) - Digital Signatures - Diffie-Hellman Key Exchange - Kerberos Protocol
10. Computer Architecture and Design: Outline: Memories and memory module design; sample CPU design - instruction set, addressing modes, instruction formats, instruction fetching and execution; instruction and execution cycles, timing, realization and documentation; floating point arithmetic operations, FPAU design; I/O devices and interrupt processing; special topics such as microprogramming & bus structures, simple design examples
- Integrated circuits, chips
- Measuring performance - Metrics
- Operations and Operands of the Computer Hardware - Representing Instructions in the Computer - Supporting procedures in hardware
- Signed and Unsigned numbers, addition , subtraction, logical operations - Constructing the ALU - Multiplication - Division - Floating Point
- Multicycle implementation - Microprogramming - Exceptions
- Pipelining, Data hazards, forwarding, branch hazards - Superscalar and Dynamic Pipelining
- Caches - Measuring and improving performance of the Cache - Virtual Memory
- I/O Performance Measures - Types and Characteristics of I/O Devices - Buses - Designing and I/O System
- Programming Multiprocessors - Multiprocessors connected by a simple bus/network - Clusters - Network Topologies
11. Theory of Computation: Outline: Finite automata and regular languages – equivalences, closure properties. context free languages & push-down automata – equivalences, closure properties, concepts in parsing; turing machines; computability & decidability – universal turing machine, recursive functions, church-turing hypothesis; complexity classes – P, NP, reducibility and NP-completeness.
12. Programming Languages and Compiler Construction:
Outline: Overview of programming
languages concepts and constructs, programming paradigms; Introduction
to compiler process, phases and passes, bootstrapping of compilers;
Formal languages, grammars and abstract machines; Lexical analysis,
regular expressions and finite automata; Context-free grammar and
push-down automata; Recursive-descent, LL and LR parsers;
§ Computability & Programming. Machine models & Programming Language(s). § Execution models. Translation, Compilation, and Interpretation. Target architectures. Intermediate languages. Virtual Machines. § Structure and Components of a compiler. Phases vs Passes. § Compile-time versus Run-time. Bootstrapping § (Programming) Language Models; Partial Recursive Functions and Lambda Calculus § Programming Styles and Programming Language Paradigms. § Declarative (Functional & Logical) and Operational (Imperative and Object Oriented Paradigms) § Execution environments and Programming Language Paradigms § Lexical Analysis § Parsing – Predictive (top-down) parsing § Parsing – LR (bottom-up) parsing § Parse Tree; Abstract Syntax; Static Analyses § Types – Primitive and Structured Types; Function Types; § ADTs; Polymorphism; Recursive Types § Objects and Subtyping § Type Checking and Type Inferencing § Functions: Parameter Passing Techniques, Scope Rules, Binding Times, Higher Order Functions. § Runtime Memory Models - Call Stacks and Frames, Static and Dynamic Links § Runtime Memory Models – Data / Object Representation § Intermediate Representation; Intermediate Language § Code Generation – Instruction Selection § Code Generation - Instruction Set Architecture § Data Flow Equations. Liveness analysis; Register Allocation § Garbage Collection § Architectural Issues and Compilers – Pipeling, Caching and Instruction Scheduling
13. Advanced Compilation Techniques:
Outline: Batch processing Systems programs; operating characteristics and limitations; parallel processing of I/O and interrupt handling, multiprogramming; multiprocessing systems; design of system modules and interfaces; other selected topics. 15. Telecommunication Switching Systems and Networks Outline: Intoduction, electromechanical switching, pulse dialling and DTMF dialling, stored program control, space division switching, speech digitization and transmission, time division switching, fundamentals of traffic engineering, telephone networks, signalling, data networks, layered architecture and protocols, LANs, packet switching networks, TCP/IP, ISDN, ATM networks
16. Parallel Computing Outline: Introduction to parallel computing; Models of parallel computers; Interconnection networks, basic communication operations; Introduction to parallel algorithms; Parallel programming paradigms; issues in implementing algorithms on parallel computers; Parallel programming with message passing interface; Performance analysis; Scalability analysis; Basic design techniques for parallel algorithms; Parallel algorithms for selected topics like sorting, searching and merging, matrix algebra, graphs, discrete optimization problems and computational geometry.
17. Real – Time Systems Outline: Introduction to real-time systems, clock synchronization, task assignment and scheduling, programming language with real-time support, ADA, real-time communication protocols, real-time databases, fault tolerant techniques, reliability evaluation methods; case studies in real-time operating systems, simulation of real-time systems, embedded system programming.
18. Combinatorial Mathematics Outline: Advanced theory of permutations and combinations; elementary counting functions; theory of partitions; theorems on choice including Ramsey's theorem; the mobius function; permutation groups; Polya's theorem and Debrauijn's generalisation; graphical enumeration problems.
19. Computer Graphics Outline: Overview of computer graphics and graphic devices; two dimensional & three dimensional curve representations, rotations and transformations; surfaces, generation, representation, rotation and transformations; modelling techniques; concepts in geometric design. Generation of dots, lines, arcs and polygons; color graphics, shades and levels; image transformation, windowing and clipping; 2-D and 3-D graphics; data structures, algorithms and optimization methods; case studies using GKS, CORE, etc; graphic languages and compilers. Concept of an User Interface; User Interface Management Systems; Interaction Styles; Event-driven programming; graphical user interface components and examples; emphasis will be on programming in GUI environments like MS Windows.
20. Expert Systems Outline: Characteristics and principles of expert systems; construction and transfer of expertise; meta-knowledge; tools and formalisms for expert systems; application through programs in prolog; state of art characteristics and principles of authoring systems; implementation techniques.
21. Queueing Systems Theory Outline: Resource sharing issues and theory of queueing systems; Review of Markov chains and baby queueing theory; Method of stages. M/Er/1. Er/M/1. Bulk arrival and bulk service systems. Series-parallel stages. Fundamentals of open and closed queueing networks. Intermediate queueing theory: M/G/1; G/M/m. Collective marks. Advanced queueing theory: G/G/1; Lindley integral equation; spectral solution. Inequalities, bounds, approximations.
22. Fault Tolerant Computing Outline: Fault: types, modelling and simulation; testing methodologies, coverage, economics and quality; test vector generation: design for testability, built-in self tests; fault tolerant computing; fault tolerant software.
23. Pervasive Computing Outline: Select application architectures; hardware aspects; human-machine interfacing; device technology: hardware, operating system issues; software aspects, java; device connectivity issues and protocols; security issues; device management issues and mechanisms; role of web; wap devices and architectures; voice-enabling techniques; PDAs and their operating systems; web application architectures; architectural issues and choices; smart card-based authentication mechanisms; applications; issues and mechanisms in WAP-enabling; access architectures; wearable computing architectures
24. Advanced Architecture and Performance Evaluation Outline: Introduction to advanced architectures; parallel processing; pipelining and vector processing; array processing; SIMD computers and processor enhancement; performance evaluation methods, statistics and discrete math applications; modelling for evaluation of virtual memory; time sharing environments.
25. Distributed Processing Systems Outline: Concepts of distributed processing, network architectures, inter process and processor communication algorithms, process migration and porting techniques etc.
26. Fault Tolerant System Design Outline: Principles of fault tolerant systems, redundancy, parallel and shared resources, spatial systems, configurations, design aspects etc.
27. Local Area Networks: Design and Implementation Outline: Introduction to Local Networks; carrier sense networks; shared memory and device systems; protocol and token passing techniques & algorithms; security and integrity problems; algorithms and implementation; and selected current topics.
28. Devices, Data Communications and Control Outline: Principles of operations of I/O devices; device handlers; master- slave control & controllers; intelligent mode of operation; device handlers; most popular data communication methods; synchronisation and handshaking; design of controllers for selected devices.
29. Application Driven System Design Outline: General principles of application driven systems, examples from space and high speed digital imaging systems, Bandwidth considerations, design aspects etc.
30. Recent Advances in Computing Outline: Introduction to transputing and transputers, minimization algorithms, design aspects. Neural networks modelling, simulation and design. Optical computing and recent advances.
31. Digital Communications and Message Switching Outline: Signals & transmission types; noise; coding & decoding; modulation techniques; filters; time and frequency multiplexing; message switching; protocols; packet switching systems; remote networks; satellite linking communications.
32. Software Architectures Outline: Systems engineering and software architectures; Hatley-Pirbhai architectural template; architecture flow diagrams; requirements engineering and software architecture; architectural design processes; design post-processing; real-time architectures; architectural design patterns; software architecture and maintenance management; object oriented architectures; client-server architectures; forward engineering for object oriented and client-server architectures; emerging software architectures.
33. Artificial Intelligence Outline: Introduction; Problem Solving; Knowledge and Reasoning; Acting Logically; Uncertain Knowledge and Reasoning; Learning; Communicating, perceiving and acting; practical natural language processing.
34. Performance Analysis Outline: Overview of Performance Analysis; Systematic Approach to Performance Analysis; Selection of Techniques and Metrics; Measurement Techniques and Tools; Types of Workloads; The Art of Workload Selection; Workload Characterization Techniques; Monitors; Program Execution Monitors and Accounting Logs; Capacity Planning and Benchmarking; The art of Data Presentation; Ratio Games; Probability Theory and Statistics; Comparing Systems using Sample Data; Simple Linear regression models; experimental design and analysis; Simulation; Queuing models.
35. Machine Learning Outline: Well poised learning problems; Designing a learning system; Perspectives and Issues in Machine Learning; Concept learning and General to Specific Ordering; Decision Tree Learning; Artificial Neural Networks; Evaluating Hypotheses; Bayesian Learning; Computational Learning Theory; Instance Based Learning; Genetic Algorithms; Learning Set of Rules; Analytic Learning; Combining Intuitive and Analytical Learning; Reinforcement Learning.
36. Symbolic Logic Outline: Default Reasoning; Formal Logic as a Knowledge Representation Scheme; First Order Logic; Non- monotonic Extensionsfor First order logic; Presentation of Default Logic; Formal Development of Default Logic; Normal Defaults; Fragments of Default Logic; Circumscription.
37. Multimedia Systems and Tools Outline: Essentials of networks, digital media, and software and systems architecture of the global information infrastructures. National trends and impact on society.
38. Image Processing
39. Embedded Systems
|
|