Documente Academic
Documente Profesional
Documente Cultură
Scheme of Examination
&
Syllabi of Courses
of
Vision:
Vision:
PSO 3: To gain capability to use state of art techniques, skills and tools
with mind-set inclined towards innovation and research.
SCHEME OF EXAMINATION 2018 - 19
SEMESTER ‘A’
S. Subject Subject No. of Periods No. of Credits Maximum Marks
No. Code L T P Th. Pr. Total Th. CW Pr. SW Total
SEMESTER ‘B’
Subject
S. Code No. of Periods No. of Credits Maximum Marks
Subject
No. L T P Th. Pr. Total Th. CW Pr. SW Total
1. MA 10501 Mathematics- II 4 1 - 4 - 4 70 30 - - 100
2. CH 10502 Chemistry 4 - 2 3 1 4 70 30 30 20 150
SEMESTER ‘A’
S. Subject Subject No. of Periods No. of Credits Maximum Marks
No. Code
L T P Th. Pr. Total Th. CW Pr. SW Total
1. MA 24003 Mathematics -III 4 1 - 4 - 4 70 30 - - 100
Optional Subject
SEMESTER ‘B’
Optional Subject
8. OC-II Open Category Subject-II - - - - - 3 - - - - -
B.E. III YEAR COMPUTER SCIENCE & ENGINEERING
SEMESTER ‘A’
S. Subject No. of Periods No. of Credits Maximum Marks
Subject
No. Code L T P Th. Pr. Total Th. CW Pr SW Total
.
1. CO 34002 Theory of Computation 4 1 - 4 - 4 70 30 - - 100
2. CO 34005 Data Base Management 4 1 2 4 1 5 70 30 60 40 200
Systems
3. CO 34007 Computer Networks 4 1 2 4 1 5 70 30 60 40 200
Optional Subject
6. OC-III Open Category Subject-III - - - - - 3 - - - - -
SEMESTER ‘B’
S. Subject No. of No. of Credits Maximum Marks
Subject Periods
No. Code L T P Th. Pr. Tota Th. CW Pr. SW Tota
l l
1. CO 34552 Operating Systems 4 1 2 4 1 5 70 30 60 40 200
Optional Subject
4. Elective - I 3 - - 3 - 3 70 30 - - 100
5. Elective – II 3 - 2 3 1 4 70 30 40 60 200
Optional Subject
SEMESTER ‘B’
S. Subject Subject No. of No. of Credits Maximum Marks
No. Code Periods/Week
2. Elective – IV 3 - 2 3 1 4 70 30 40 60 200
3. CO____ Industrial Training / - - - - 8 8 - - 100 - 100
Internship (Evaluation)
and Seminar
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After completing the course student should be able to:
1. Learn what computer science is about, especially hardware, data representations,
algorithms, encodings, form of programming.
2. Develop ability to write a computer program to solve specified problems.
3. Develop skills in algorithmic problem-solving, expressed in a programming language
like C.
4. Understand fundamentals of programming such as variables, conditional and iterative
statement, function and its execution etc.
COURSE CONTENTS:
THEORY:
UNIT 1. Block Schematic of digital computer and its working. Introduction to computer
hardware and software, Different number systems. Flowchart and algorithm.
UNIT 2. Structure of C programs, key words and identifiers, constants, variables, Data
types, enumerated data types, Strings. Declarations of variables, scope and life of
variables. Various types of operators and expressions. Programming errors and
their handling.
UNIT 3. Decision making and Branching: if-else, switch-case, Looping: While-do, for,
do-while etc., nesting of loops.
UNIT 4. Introduction to Arrays, Structures, Pointers, Files, Functions, Recursion.
UNIT 5. Introduction to Object oriented Programming paradigm, Comparison of
Procedural and Object Oriented Programming paradigm.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
1. Familiarization with computer components and programming environment.
2. Implement simple computational problems using different types of variables and
arithmetic expressions.
3. Implement problems involving if-then-else structures like find even and odd numbers.
4. Implement iterative problems like sum of series.
5. Implement 1D and 2D Array manipulation problems like matrix multiplication.
6. Solve problems using functions and recursive function like factorials of a given
number.
7. Solve problems using pointer and structures.
8. Solve problem using FILE concept.
9. Programming for solving Numerical methods problems.
10. Implement problems using object oriented programming.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-A
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand the basic concepts of data structures and algorithms.
2. Understand basic concepts about stacks, queues, linked lists, trees and graphs and their
implementation.
3. Learn to use these to efficiently organize the data for improving performance of the
system.
4. Write algorithms for solving problems with the help of fundamental data Structures.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to Data Structure: Concepts of Data and Information,
Classification of Data structures, Abstract Data Types, Implementation aspects:
Memory representation. Data structures operations and its cost estimation.
Introduction to linear data structures- Arrays, Linked List: Representation of linked
list in memory, different implementation of linked list. Circular linked list, doubly
linked list, etc. Application of linked list: polynomial manipulation using linked list,
etc.
UNIT 2. Stacks: Stacks as ADT, Different implementation of stack, multiple stacks.
Application of Stack: Conversion of infix to postfix notation using stack, evaluation of
postfix expression, Recursion. Queues: Queues as ADT, Different implementation of
queue, Circular queue, Concept of Dqueue and Priority Queue, Queue simulation,
Application of queues.
UNIT 3. Tree: Definitions - Height, depth, order, degree etc. Binary Search Tree –
Operations, Traversal, Search. AVL Tree, Heap, Applications and comparison of
various types of tree; Introduction to forest, multi-way Tree, B tree, B+ tree, B* tree
and red-black tree
UNIT 4. Graphs: Introduction, Classification of graph: Directed and Undirected graphs,
etc., Representation, Graph Traversal: Depth First Search (DFS), Breadth First
Search (BFS), Graph algorithm: Minimum Spanning Tree (MST)- Kruskal, Prim’s
algorithms. Dijkstra’s shortest path algorithm; Comparison between different graph
algorithms. Application of graphs.
UNIT 5. Sorting: Introduction, Sort methods like: Bubble Sort, Quick sort. Selection
sort, Heap sort, Insertion sort, Shell sort, Merge sort and Radix sort; comparison of
various sorting techniques. Searching: Basic Search Techniques: Sequential search,
Binary search, Comparison of search methods. Hashing & Indexing. Case Study:
Application of various data structures in operating system, DBMS etc.
TEXT BOOKS RECOMMENDED:
1. AM Tanenbaum, Y Langsam & MJ Augustein, “Data structure using C”, Prentice Hall
India-2007
2. Robert Kruse, Bruse Leung, “Data structures & Program Design in C”, Pearson
Education, 2007.
3. Richard, Gilberg Behrouz, Forouzan ,“Data structure – A Pseudocode Approach with
C”, Thomson press, 2005.
REFERENCE BOOKS:
1. Jean – Paul Trembly , Paul Sorenson, “An Introduction to Structure with application”,
TMH, 2007
2. Aho, Hopcroft, Ullman, “Data Structures and Algorithms”, Pearson Education, 2002.
3. N. Wirth, “Algorithms + Data Structure = Programs”, Prentice Hall, 1978.
4. Sartaj Sahni, “ Data Structures,Algorithms and Applications in C++” Universities
Press.
5. Reema Thareja, “Data Structures Unsing C”, Oxford Press 2012
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL
1. Review programming assignments like:
i) Write a program to calculate the area, perimeter of the different geometric
objects like triangle, circle, rectangle, square etc. using structures.
ii) Write a program to perform the insertion, deletion operations on the array of
student structure (Student structure may consist of: student_name, DOB,
mobile_number, e-mail-id, 10_class_percentage, 12_class_percentage etc.)
using pointers.
2. Linked List programming assignments like:
i) Write an abstract data type (ADT) of different types of Linked List.
ii) Write a program for application of linked list like converting binary linked list
to octal linked list, decimal linked list to binary linked list etc. using Linked
List ADT.
iii) Write a program to perform the insertion, deletion operations on linked list of
student structure (as per given in 1.) using Linked list ADT.
3. Stack & Queue programming assignments like:
i) Write an ADT of Stack and Queue.
ii) Write a program to convert the infix notation to prefix and postfix notation
using stack ADT.
iii) Write a program to evaluate the given prefix/postfix expression using stack
ADT.
iv) Write programs for performing different operations like enqueuer and
dequeuer in different types of Queue like circular queue, priority queue etc.
4. Tree programming assignments like:
i) Write an ADT of the different types of tree.
ii) Write a program to load the dictionary from the file and search any word inside
the dictionary using tree ADT. ( dictionary is available on the )
iii) Write a program to perform the insertion, deletion and search operations on
records of students (as per given in 1.) using tree ADT.
5. Graph programming assignments like:
i) Write an ADT of the different implementation of the graph, like adjacency
matrix and adjacency list.
ii) Write a program to implement the different types of graph traversal techniques
like BFS and DFS.
iii) Write a program for implanting different type of graph algorithms like MST,
Shortest path etc. and to show there use in different real life applications.
6. Sorting Techniques programming assignments like:
i) Write a program to implement various sorting algorithms and compare them
on the basis of performance.
7. Hashing Techniques programming assignments like:
i) Write a program to implement the different types of hashing techniques.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-A
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand architecture of a computer, its components and their interconnection.
2. Understand execution of instruction in a computer.
3. Identify the addressing modes used in macro instruction.
4. Code programs in assembly language programming and understand the importance of
parallel architecture.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction, Milestones in Computer Architecture, Von Neumann Model:
Processor Organization- ALU, Control Unit; System Bus, Memory, I/O Devices.
Multilevel model of Computer, Concept of Instruction Execution.
UNIT 2. Review of Combinational and Sequential Circuits. Memory Organization:
Memory Hierarchy, Memory Properties, Main Memory, Associative Memory, Cache
Memory. Machine Language Level (ISA level): Instruction Formats, Addressing
Modes, Instruction Types, Flow of Control. RISC v/s CISC.
UNIT 3. Memory mapped I/O and I/O mapped I/O, I/O Techniques: Programmed I/O,
Concept of Interrupts, Interrupt driven I/O and DMA, I/O Device Interfaces, I/O
Processors. Serial and Parallel Communication. Computer Buses.
UNIT 4. Concept of Hardwired and Micro Programmed Control. Micro Instructions,
Instruction Fetch and Queuing, Micro Instruction Control, Design of the Micro
Architecture Level.
UNIT 5. Parallel Architectures: On-chip Parallelism- Instruction Level Parallelism, On-
chip Multithreading, Multicore Processor Architecture. Pipelining: RISC Pipeline,
Exception handling of Pipelining, Hazards of Pipelining.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc.(30%)
2. End semester Theory Exam (70%).
PRACTICAL:
1. To introduce to Assembly Language of microprocessor 8086.
2. Learning Assembling, Linking and Debugging, Data Allocation Directives
3. Programming assignments to learn 8086 Instruction Set
4. Programming assignments to learn 8086 Addressing modes
PRACTICAL ASSESSMENTS:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After completing the course student should be able to:
1. Solve problems which involve discrete structures such as sets, relations, functions,
graph, predicate and propositional logics etc.
2. Apply discrete structures into other computing problems such as databases, artificial
intelligence, and cryptography etc.
3. Apply logical reasoning to real problems, such as predicting the behavior of software
or solving problems such as puzzles.
4. Apply mathematical skills, analytical and critical thinking abilities in various domain
like Machine learning, Data Science etc.
COURSE CONTENTS:
THEORY:
UNIT 1. Set Theory: Operations, Types, set identities, Principle of Inclusion-Exclusion;
Computer Representation of sets. Logic Theory: Prepositional Logic: Well formed
formula, Truth Table, Algebra of Proposition; Introduction to Predicate logic.
UNIT 2. Counting Techniques and Combinatorics; Relations and Functions: Properties
and types of relations and functions, Application to RDBMS and Hashing; Pigeonhole
Principle.
UNIT 3. Graphs and Trees: Basic terminologies, Types, Properties, Shortest path
algorithms; Cutsets; Hamiltonian and Eulerian paths and circuits; Tree Traversals;
Spanning Trees. Serial and Parallel Communication. Computer Buses.
UNIT 4. Recurrence Relations and Generating Functions; Introduction to Complexity of
Problems and Algorithms.
UNIT 5. Algebraic systems: Groups, Rings, Fields, Integral Domain, Lattices, Boolean
algebra.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%).
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand and explain various concepts of Java Programming i.e. class, objects and
Demonstrate object oriented design principles including encapsulation and
information
hiding, inheritance.
2. Understand and implement the concepts like abstract class, abstract methods, and
static and final keyword implementation.
3. Write, compile, and execute Java programs manipulating Strings and Perform
exception handling to validate the corner cases
4. Solve and understand the real world business problems.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to Object Oriented Thinking & Object Oriented Programming:
Comparison with Procedural Programming, features of Object oriented paradigm,
Merits and demerits of OO methodology; Object model; Elements of OOPS, IO
processing.
UNIT 2. Encapsulation and Data Abstraction- Concept of Objects: State, Behavior &
Identity of an object; Classes: identifying classes and candidates for Classes
Attributes and Services, Access modifiers, Static members of a Class, Instances,
Message passing, and Construction and destruction of Objects.
UNIT 3. Relationships – Inheritance: purpose and its types, ‘is a’ relationship;
Association, Aggregation. Concept of interfaces and Abstract classes.
UNIT 4. Polymorphism: Introduction, Method Overriding & Overloading, static and run
time Polymorphism.
UNIT 5. Strings, Exceptional handling, Introduction of Multi-threading and Data
collections. Case study like: ATM, Library management system.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
1. Programming assignments to understand various concepts of object oriented paradigm
2. Minor projects to understand concepts of OOPS such as inheritance, interfacing etc.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-B
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After completing the course student should be able to:
1. Apply the software development lifecycle in real life project and also able to do
estimation and scheduling.
2. Write and translate a requirements specification into an implementable design,
following a structured and organized process.
3. Make effective use of tool, along with design strategies such as defining software
architecture and designing use case diagram, Activity diagram and Data flow
diagram
4. Formulate a testing strategy for a software system, and also evaluate quality of the
software using software quality metrics.
COURSE CONTENTS:
THEORY:
UNIT 1. Software Development Life Cycle: Important steps and effort distribution;
Software Process Models; Aspects of Planning, Estimation and Scheduling.
UNIT 2. Software Evaluation Techniques: Software Quality Assurance, Software
Quality Metrics; Issues in Software Reliability; Software Development Standards:
IEEE, ISO etc.; Risk Management.
UNIT 3. System Analysis: Requirement Analysis: functional, non-functional, System
and Interface Requirements; Feasibility Analysis, Software Requirement
Specification, Requirements Validation, System Analysis Tools, System Engineering.
UNIT 4. Software Design Methodologies, Data flow and Data Structure Oriented
Design Strategies; System Modelling, File and data structure design; Modular Design
- Coupling and Cohesion, Software Architecture. Coding; Testing: Test
Planning, Testing Strategies, Test Case Design, Verification and Validation.
UNIT 5. Issues in Project Management: Project Planning, Team Structure, and
Scheduling; Configuration Management; Software Maintenance, Forward
Engineering, Reverse Engineering, Re-engineering; Introduction to CBSE and CASE.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Project is given to individual group of students to implement the different phases of
software development life cycles. They are required to collect the requirements of the
problem followed by analysis of requirements. After that they are required to design,
implement and test the system. In the end of semester they are required to submit the
documentation of all phases of the development.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. II YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After completing the course the students should be able to:
1. Determine Specification and Configuration of a given one's Laptop/PC.
2. Identify different components in a computer, their connection and arrangement.
3. Identify and installing various peripheral devices like keyboard, Mouse, Printer, have
basic idea of Device Driver, device driver, device controller and Interfaces.
4. Identify the names, distinguishing features, and units for measuring different kinds of
memory and storage devices (HDD).
COURSE CONTENTS:
PRACTICAL:
Lab1: Overview of system units, Processors and Specifications of different categories of
Processors.
Lab2: Assembling and disassembling of Desktop computer Cabinet.
Lab3: Motherboard and different categories of Motherboard– sockets and slots, expansion
slots, chipsets – north bridge, south bridge.
Lab4: CMOS, BIOS – POST, BIOS features BIOS and Boot sequences.
Lab5: Introduction to Peripherals, Interrupts and Interfaces and types of interfaces.
Lab6: Buses, Industry standard architecture (ISA), peripheral component Interconnect (PCI),
Accelerated Graphics port (AGP).
Lab7: SCSI concepts, VGA, USB architecture, Monitors.
Lab8: Drives - magnetic storage, magnetic recording principles, data and disk organization,
hard drive.
Lab9: CD-ROM drive, construction, CDROM electronics, DVD-ROM, DVD media, DVD
drive and decoder.
Lab10: Mouse and its types, Memory Hierarchy.
Lab11: Parallel port, asynchronous communication, serial port signals, video adapters,
modems.
Lab12: keyboards and types of key Switches and its demonstration.
Lab13: Printers and working of different types of printers.
Reference Books
1. Craig Zacker & John Rourke, “PC Hardware: The complete Reference”, McGraw
Hill, 27th reprint, 2015.
2. D Balasubramanian, “Computer Installation and Servicing” Tata McGraw Hill, 2/e,
12th reprint 2012.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-A
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand formal languages and grammars, mathematical proofs.
2. Analyze and design finite automata, pushdown automata and Turing machine.
3. Understand relation of formal mathematical models of computation with formal
languages and grammars.
4. Understand concept of computable and non-computable problems.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction: L, G, & AT, Review of Sets, Graphs, Trees, Proof Techniques,
Languages and Grammars – Fundamental Concepts Principal of Maths. Inche, proof
by contradiction, etc.
UNIT 2. Finite Automata- DFAs, NFAs, Regular Expressions, Regular Grammars and
Languages, Properties of Regular Languages, Pumping Lemma for Regular
Languages Applications of Regular Expressions .
UNIT 3. Pushdown Automata- Context Free Grammar, Parsing, Ambiguity,
Nondeterministic PDAs, Normal form of CFGs, CFG to NPDA, NPDA to CFGs.
Deterministic PDA, Pumping Lemma for CFGs, Application of CFGs.
UNIT 4. Turing Machines – Turing Machine as acceptor, Recognizing a Language,
Universal TMs, Linear Bounded Automata, Context Sensitive Languages, Recursively
Enumerable Languages, Unrestricted Grammars.
UNIT 5. Chomsky Hierarchy, Concept of Solvability and Unsolvability, Church’s
Thesis, Complexity Theory – P and NP problems, Introduction to Petri Nets.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-A
COURSE OUTCOMES:
After completing the course student should be able to:
1. Knowledge of basic concepts, components & applications of database systems as well
as Entity-Relationship model.
2. Learn basics of SQL and use of commercial relational database system (Oracle) by
writing Queries using SQL.
3. Use the design principles for logical design of databases, including the E‐R method
and normalization approach. Applying relational algebra expressions for queries.
4. Knowledge of basic issues of transaction processing and concurrency control & basic
database storage structures and access techniques.
COURSE CONTENTS:
THEORY:
UNIT 1. Basic Concepts of Data and Information, Overview of Information Systems,
File organization and access methods; Introduction to DBMS, Difference between
DBMS and traditional file storage system. Characteristics of DBMS. Data Models,
Schemas and Instances, DBMS architecture, Components of DBMS. Data
Independence. Study of Entity Relationship Model, Type of attributes, Entity types,
Relationship and Cardinalities, Participation, Roles and constraints.
UNIT 2. Relational Data Model: Domains, Tuples, Attributes, Relations, keys and types
of keys, Integrity Constraints, Relational Algebra: Queries using Select operation,
project operation, renaming, joins, union, intersection, difference, division, and
product etc. Relational Calculus, Tuple calculus. Query Language: SQL –basic SQL
queries, functions, constraints, joins and nested queries, QBE (Query By Example),
Indexing, and PL/SQL.
UNIT 3. Normalization Theory and Database methodologies: Relation Schemas,
Functional Dependencies- Definition and rules of axioms, Normal forms- 1NF, 2NF,
3NF and BCNF, Dependency preservation, properties, loss less join decomposition.
Query Processing and Optimization: Various algorithms to implement select, project
& join operation of relational algebra, complexity measures.
UNIT 4. Transaction Processing: Introduction to Concurrency and Recovery, Read and
Write Operations, Transaction properties, Transaction states, Schedules,
Serializability, types of serializability and test for serializability, Concurrency
Control: Types of Locks, Timestamp Based, Validation Based etc. Multiversion
schemes, Recovery: Basic concepts, techniques based on deferred update and
immediate update, Shadow paging, check points.
UNIT 5. Storage structure: Secondary Storage Devices, RAID, Heap Files and Sorted
files, Hashing techniques, Indexing techniques: Bitmap Indices, Case Study of any
contemporary DBMS.
REFERENCE BOOKS:
1. Oracle 9i, The Complete Reference, Oracle Press.
2. Alexis Leon, Mathews Leon, “Database Management Systems”, Leon Press Chennai
and Vikas Publishing House Private Limited, New Delhi, 2002.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
1. Minor project to design a database.
2. Hands on DDL, DML statements.
3. Write SQL queries using aggregate functions, group by having clause.
4. Write SQL queries using string comparison functions and order by clause.
5. Write SQL queries using sub query and correlated sub query.
6. Write SQL queries using joins.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-A
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand the architecture of networks.
2. Understand the issues and solution to access shared medium.
3. Understand the existing protocols at network and transport layer for design and
implementation of computer network.
4. Understand the reliability & efficiency related issue in a packet switched networks.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to computer networks & their uses, Different topologies. ISO-OSI
model: Layered Architecture, Peer-to-Peer processes and encapsulation, Function and
Services of OSI layers; The Physical layer: Digital Signals, Transmission Impairments
and Maximum data rate of a channel, Shennons theorem, Nyquist theorem.
Transmission media: Guided and Unguided medias. Circuit, Packet and Message
switching, virtual Circuit. Introduction to ISDN & its components.
UNIT 2. The data link layer: Design issues & function, Error detection & correction,
Forward error correction Versus Retransmission, Hamming code & CRC codes,
Framing: Fixed size and Variable size Frame, Bit stuffing and Byte stuffing. Data link
layer protocols: Simplest, Stop and Wait, Sliding window protocols, PPP, SLIP,
HDLC. The medium access sublayer: Static and Dynamic Channel Allocation,
Protocols: ALOHA Protocol, CSMA (CSMA/CD, CSMA/CA), Collision Free
Protocol- Bit Map.
UNIT 3. IEEE 802 standards for LANs (IEEE 802.3, IEEE 802.4, IEEE 802.5), LAN
Devices: HUB, Switches- Learning, Cut-Through and store and forward switches,
Bridges: IEEE 802.x to IEEE 802.y, Spanning Tree, Remote Bridge. Internetworking
Devices: Routers & gateways. The network layer: Design issues and functions,
Internal organization (Virtual Circuit & Datagrams).
UNIT 4. Routing algorithms: Shortest path routing, Flooding, LSR, Distance Vector
Routing, Hierarchical Routing. Introduction to TCP/IP Protocol stack: Protocol
Architecture, Classful IP addressing, ARP, RARP, IP Datagrams with options and its
delivery, ICMP.
UNIT 5. Subnet, Supernet, CIDR. Transport Layer: Congestion control, Load Shedding,
Jitter control, addressing and multiplexing, Connection establishment and
connection release, flow control. Application layer: Introduction to DNS and Email.
TEXT BOOKS RECOMMENDED:
1. Tanenbaum A. S., “Computer Networks”, Pearson Education, 5th edition, 2011.
2. Behrouz A Forouzan, “Data communication and networking”, 4th edition, McGraw-
Hill Education, 2017.
3. Comer, “Internetworking with TCP/ IP Vol-1”, Pearson education, 6th Edition, 2015.
REFERENCE BOOKS:
1. Peterson & Davie, “Computer Networks”, 5th Edition, Morgan Kaufmann, 2011.
2. W. Richard Stevens, “TCP/IP Illustrated Vol-1 ”, 2nd Edition, Addison-Wesley, 2011.
3. Craig Zacker, “Networking The Complete Reference”, 2nd Edition, TMH, 2001.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc.(30%)
2. End semester Theory Exam (70%)
PRACTICAL:
Experiments related to cable crimping, study of basic linux networking related
commands, demo of institute network configuration, protocol understanding using
Wireshark, socket programming etc.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-A
COURSE OUTCOMES:
After completing the course student should be able to:
1. Learn about the RUP process model and best practices of RUP.
2. Analyse and model software specifications
3. Learn the application of the Unified Modelling Language (UML) towards analysis and
design.
4. Learn about Principles and Strategies of Design Pattern and application of various
problems.
COURSE CONTENTS:
THEORY:
UNIT 1. Review of Object Oriented Concepts and Principles: The Object Oriented
Paradigm, Basic Concepts, Software Development Life Cycle and Model
Architectures.
UNIT 2. Introduction to RUP: Basic Concepts, Symptoms in Software Development
and their Root Causes, Best Practices of RUP, RUP software life cycle, 4+1 view
model, Various Workflows.
UNIT 3. Introduction to UML, Notations, Relationships, Stereotypes, Study of UML
based tools Like Rational Rose, Poseidon, etc. Object Oriented Analysis:
Conventional v/s OO analysis approach, Requirement analysis, Use case diagram,
Activity diagram, Analysis class Model.
UNIT 4. Object Oriented Design: Conventional v/s OO design approach, Design of
CRC cards, Class diagram Behavioral Modeling: Interaction Diagram, State chart
Diagram, Implementation Diagram: Component and deployment Diagram. Illustrative
Case Studies like ATM, Payroll, Course and Registration System.
UNIT 5. Object Oriented Testing: Correctness and consistency of OOA & OOD
models, Testing Strategies and test cases for OO software process, Project
Management, Rational Tool Mentors. Introduction to Design Patterns.
TEXT BOOKS RECOMMENDED:
1. Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modelling Language
User Guide”, 2nd Edition, Pearson Education, 2005.
2. Stephen R. Schach, “Object Oriented Classical Software Engg.” Tata McGraw Hill,
2007.
3. Gamma G.Helm, Johnson, “Design Patterns, Elements of Reusable Object Oriented
Software”, First Edition, Pearson, 2015.
REFERENCE BOOKS:
1. Ivon Jacobson, “Object Oriented Software Engineering”, First Edition, Addison
Wesley, 1992.
2. Phillipe Kruchten, “The Rational Unified Process - An Introduction”, 3rd Edition,
Pearson Ed. 2003.
3. Ivar J, Grady B, James R., “The Unified Software Development Process”, Pearson Ed.
2003.
4. Timothy C. Lethbridge, Robert Laganiere, “Object Oriented Software Engg.”, Tata
McGraw Hill, 2004.
5. IBM Rational Modules
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Project is given to individual group of students to implement the different phases of
rational unified process. They are required to collect the requirements of the problem
followed by analysis of requirements. After that they are required to design,
implement and test the system. In the end of semester they are required to submit the
documentation of all phases of the development.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Get clear understanding about the importance and objectives of an operating system
and various services provided by the operating system.
2. Gain a detailed knowledge about the functions of different modules of an Operating
system, like file system, process management, memory management, device
management etc.
3. Visualize the internal implementation of various modules of operating system and
correlate the same with the actual implementation of these modules in Linux and other
contemporary operating systems.
4. Acquire the ability to design and implement certain small modules, shell and utility
programs using system calls of Linux or some educational operating system.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to Operating Systems: Function, Evolution, Different Types,
Desirable Characteristics and features of an O/S, Operating Systems Services: Types
of Services, Different ways of providing these Services – Utility Programs, System
Calls.
UNIT 2. File Systems: File Concept, User’s and System Programmer’s view of File
System, Disk Organization, Tape Organization, Different Modules of a File System,
Disk Space Allocation Methods – Contiguous, Linked, Indexed. Directory
Structures, File Protection, System Calls for File Management, Disk Scheduling
Algorithms.
UNIT 3. CPU Scheduling : Process Concept, Scheduling Concepts, Types of
Schedulers, Process State Diagram, Scheduling Algorithms, Algorithms Evaluation,
System calls for Process Management; Multiple Processor Scheduling; Concept of
Threads.
UNIT 4. Input / Output : Principles and Programming, Input/Output Problems,
Asynchronous Operations, Speed gap Format conversion, I/O Interfaces, Programme
Controlled I/O, Interrupt Driven I/O, Concurrent I/O. Concurrent Processes : Real and
Virtual Concurrency, Mutual Exclusion, Synchronization, Inter- Process
Communication, Critical Section Problem, Solution to Critical Section Problem :
Semaphores – Binary and Counting Semaphores, WAIT & SIGNAL Operations and
their implementation. Deadlocks: Deadlock Problems, Characterization, Prevention,
Avoidance, Recovery.
UNIT 5. Introduction to Network, Distributed and Multiprocessor Operating Systems.
Case Studies: Unix/Linux, WINDOWS and other Contemporary Operating Systems.
REFERENCE BOOKS:
1. Andrew S. Tanenbaum, “Modern Operating Systems”, 3/E, Prentice Hall, 2006.
2. Maurice J. Bach, “The Design of Unix Operating System”, First Edition, Pearson,
2015.
3. Bovet & Cesati, “Understanding the Linux Kernel”, O’Reily, 3/E, 2005.
4. Peter Norton, “Complete Guide to Windows XP”, SAMS, 2002.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc.(30%)
2. End semester Theory Exam (70%)
PRACTICAL:
1. Study Assignments (for Linux and windows operating systems): Familiarity with
working environment; Structure of these operating systems.
2. Programming problems on shell scripting.
3. Development of certain utility programs using system call of Linux.
4. Development of a shell like unix/linux shell using system calls.
5. To study and learn the use of various interface provided by linux, like lm-sensors i/f,
proc fs i/f etc.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-B
CO 34560: SYSTEMS PROGRAMMING
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand the need of system software in a computing system.
2. Understand working of Program execution flow and different components involved in
the process (Preprocessor, Translator, Linker, Loader etc.)
3. Learn different Language Processors (Compiler, Assemblers and Interpreter), their
Pass Structure and basic elements required for language processing.
4. Understand and list the different stages in the process of Compilation, like Identifying
tokens in lexical analysis, Parsing techniques for Syntax analysis, developing SDT for
Semantic analysis etc.
5. Understand linking and relocation process of Linker, Absolute and Relative Loaders.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to System Programming, Evolution and Components of System
Software. C language features for low level programming: Pointer, Memory, inline
assembly code Assembler and Disassembler.
UNIT 2. Translators and Compilers: Program translation; Introduction to assemblers,
review of language grammars and specification of programming languages; Program
Compilation, Compilation phases-lexical analysis, parsing and syntax checking,
Semantic analysis, Code generation and optimization, machine dependent and
independent Compilation; threaded program execution; cross compilers; Issue in
compilation of JVM; Object and executable file formats. LEX and YACC.
UNIT 3. Interpreters: Virtual machine and program interpretation; Types of interpreters;
Target languages for interpretation and Interpreter organization. Cases like JVM ;
Just-In-Time compilation.
UNIT 4. Linkers and Loaders: Address resolution, linking of subroutines and program
relocation; various loading schemes; dynamic linking and DLLs; Object linking and
embedding.
UNIT 5. Text editors & Word Processors, Debug monitors, IDE, Device Drivers.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
1. Programming Assignments to write syntax analysis phase of assembler for a given
assembly language.
2. Assignment on Lex and Yacc for lexical analysis and generation of parser.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After completing the course student should be able to:
1. Understand meaning of complexity of an algorithm & various notations to represent
time complexity.
2. Apply different algorithm design techniques on different types of problems.
3. Understand different graph algorithms and its applications.
4. Understand computability & non-computability and various complexity classes.
COURSE CONTENTS:
THEORY:
UNIT 1. Review of elementary Data Structures: Stacks, Queues, Lists, Trees, Hash,
Graph. Internal representation of Data Structures, Code tuning techniques: Loop
Optimization, Data Transfer Optimization, Logic Optimization, etc.
UNIT 2. Definitions of complexity, Time and Space Complexity; Time space tradeoff,
various bounds on complexity, Asymptotic notation: O-notation, Ω-notation, Ө-
notation, Recurrences and Recurrences solving techniques: Recursion-tree method and
Master method, Average time analysis methods: Probabilistic methods. Amortized
analysis.
UNIT 3. Design and analysis of algorithms using the brute-force, greedy, dynamic
programming, divide-and-conquer and backtracking techniques.
UNIT 4. Algorithm for sorting and searching, string matching algorithm, Number-
theoretic algorithms, linear programming, Matrix Manipulation algorithms, tree and
Graph Algorithms.
UNIT 5. NP-hard and NP-complete problems, Approximations Algorithms, Data
Stream Algorithms, Introduction to design and complexity of Parallel Algorithms.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Programming assignments to
1. Implement different comparison based sorting algorithms and compare its
performance on the basis of number of comparisons and swapping.
2. Implement different optimization problems using greedy and dynamic programming.
3. Implement different graph algorithms.
4. Implement different algorithms to reduce the space complexity using data streaming
algorithms.
5. Solve real world problems using optimized algorithms.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. III YEAR (4YDC)
SEMESTER-B
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Create and design web page using HTML and CSS.
2. Understand working of web browser, web server and search engines.
3. Use client-side and server side programming and creating responsive website.
4. Understand XML and its usage.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to the Internet, Overview of TCP/IP protocol suit, Applications of
Internet: Email, telnet, FTP etc; Internet Service Providers, IP Addresses, DNS;
Evolution of WWW, URL
UNIT 2. HTTP: Headres, working, methods, MIME type and content encoding, Session
tracking and Cookies; Web Sockets; HTML–SGML, Basic HTML Elements, Tags
and usages, HTML Standards, Issues in HTML, DHTML: Introduction, Cascading
Style Sheets. Peer-to-Peer Networking- Concept and details of any one tool such as
Napster, BitTorrent, Gnuella etc.; Peer-to-Peer naming- Distributed Hash tables.
UNIT 3. Browser: Working of a Browser, Plug-ins; Study of one browser such as
Internet Explorer, Mozilla Firefox etc.; Search Engines- Evolution of search engines,
Working of Search Engines; Search strategies, indexing.
UNIT 4. Client Side Programming: Java Applets, Java Script, Javascript Regular
expressions, Java script and HTML DOM, Advanced Javascript and HTML forms,,
AJAX etc.
UNIT 5. XML – Basic Standards, Namespaces, DTDS, XML Schema, Linking &
Presentation Standards, Parsing XML, XPath, XML Transformation; Web site
planning and design; Application lifecycle; Android based web application.
REFERENCE BOOKS:
1. Jackson, “Web Technologies”, Pearson Education, 2012.
2. Deitel, “Internet & World Wide Web”, 5/e, Pearson Education, 2013.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, midterm tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Assignments to
1. To create web page content using HTML.
2. To visualize and apply style on web page.
3. To create an interactive web page.
4. To develop a client server architecture based web application.
5. Data representation, transfer and processing of data using XML.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration, Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44001: ARTIFICIAL INTELLIGENCE
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Compare Artificial Intelligence with Human Intelligence and improving traditional
information processing by designing state space for real world problems
2. Understanding the working of various searching algorithms for Artificial Intelligence
area and implementing efficient ones.
3. Learn to represent knowledge through different Representation Techniques and
application of reasoning on knowledge base to derive inferences.
4. To understand the basic concept of Fuzzy logic and neural network with its
applications in the real world.
COURSE CONTENTS:
THEORY:
UNIT 2. Search techniques: Breadth first, Depth-first, Generate and Test, Hill
Climbing, Best first Search, Problem Reduction, AND/OR graphs, Constraints
Satisfaction.
UNIT 5. Basic Concepts of: Neural networks, Fuzzy Logic, Genetic Algorithm.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44003: COMPUTER INTERFACING AND IoT
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand the purpose of a computer peripheral, role of device drivers and devices
Controller, various I/O methods, difference between a peripheral and interface.
2. Learn about specifications of modern peripherals available in market such as Hard
Disk drive, Pen (flash) drives, keyboard, mouse and printers and their performance
metrics.
3. Learn architecture of Internet Of things (Edge, Router, Cloud Server) & how it
evolved from computer networks, and protocols such as HTTP, MQTT, IFTTT, CoAP
specifically designed for IoT applications.
4. Learn basics of an embedded device used as “edge device” , its hardware , its parallel
ports, serial ports, I2C and SPI interfaces and programming through an open source
IDE.
5. Write and test simple practical applications for remote data acquisition and control
over large scale geographically distributed edge devices.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to Computer Peripherals: interfacing of peripheral devices and
working of Device Controllers. Role of Device Drivers. Review of various I/O
methods – Programmed I/O, Interrupt driven I/O, DMA and I/O processor
based.
UNIT 2. Computer Peripherals: various external peripherals and interfaces Disk Drives
– Hard Disk Drive (HDD) and Solid State Drive (SSD); Disk Controllers and
Interfaces – IDE, SATA, SCSI Keyboards – Types, Functioning and
Interfacing. Printers Display Monitors, Video Display adapters: VGA/SVGA,
DVI/HDMI etc. Principle of operation of other Peripheral Devices: Optical
Disks, Scanners, Mouse, Touch Screens, Flash Memory based storage devices.
UNIT 3. Bus Standards: Introduction, Asynchronous and Synchronous Buses, PCI,
USB, FireWire (IEEE1394) etc.
UNIT 4. Microcontroller Interfaces and Peripherals: Interfaces, protocols and
peripherals used in embedded device: Serial and parallel ports, Inter-IC Bus
(I2C), Serial Peripheral Interface (SPI), Interfacing common devices to ports
such as switches, LEDs, buzzer, LCD displays, Relays, Motors and
programming in C/C++
UNIT 5. Internet Of Things – Architecture & Protocols: -IoT overview - history,
architecture and reference design; edge devices, gateways and cloud servers
Review of computer networks and networking using Serial, Ethernet, WiFi,
Bluetooth, ZigBee physical links Networking protocols currentl used in IoT -
HTTP, MQTT, CoAP, IFTTT - IoT applications - Case Studies of IoT in
Healthcare, transportation, power & water management, agriculture & water
resources.
REFERENCE BOOKS:
1. Winn L. Rosch, “Hardware Bible”, 6/e, Que, 2003.
2. Douglas V. Hall, Andrew L. Rood, “Microprocessors and interfacing: programming
and hardware: 68000 version”, Tata McGraw-Hill, 2003.
3. Marvin Hobbs, “Multifunction Peripherals for PCs: Technology, Troubleshooting and
Repair”, Newnes, 3/e, 2000.
4. Jan Axelson, “USB Mass Storage: Designing and Programming Devices and
Embedded Hosts”, Lakeview Research LLC, 2006
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44051: COMPUTER GRAPHICS
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand Computer Graphics, Graphics System Architecture; Line & circle drawing
Algorithms and line, polygon clipping also and implement it in computer applications.
2. Understand and implement 2D and 3 D transformations, window and view-ports
object representation in relation to images displayed on screen.
3. Understand the concept of polygon filling, polygon shading and Hidden surface
removal in Computer graphics applications
4. Design interactive graphics applications using C, C++, Python, Java etc.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to Computer Graphics; Graphics System Architecture; Line &
circle drawing Algorithms; Antialiasing; Text display
UNIT 2. 2-D Transformations; Windows & Viewports; Point, Line and Polygon
Clipping; Segments and Display Files; Character, Raster Graphics.
UNIT 3. Solid area Scan Conversion; Polygon and Area Filling; 3-D Graphics; 3-D
Transformations; Parallel and Perspective Projection Techniques, Viewing
parameters.
UNIT 5. Usability & GUI, Interaction using Picks, Locators, Buttons etc; UI
Components & Containers, Events, Screen design, Simulation of Interactive Devices,
Overview of Graphics standards, Application and Tools.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments, demonstration
Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44______: SOFT COMPUTING
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand importance of soft computing
2. Solve existing problems using soft computing techniques
3. Identify the feasibility of applying a soft computing technique to solve engineering or
real life problems.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction: Soft Computing, Structure & Functioning of Biological Brain &
Neuron, and Concept of Learning/Training. Model of an Artificial Neuron,
Transfer/activation Function, Perceptron: Binary & Continuous Inputs, Linear
Separability.
UNIT 3. Fuzzy Systems: Fuzzy set theory: Fuzzy sets and operations, Membership
Functions, Concept of Fuzzy relations and their composition, Concept of Fuzzy
Measures. Fuzzy Logic: Fuzzy Rules, Inferencing.
UNIT 5. Advanced soft computing techniques: Rough Set Theory - Introduction, Set
approximation, Rough membership, Attributes, optimization. SVM - Introduction,
obtaining the optimal hyper plane, linear and nonlinear SVM classifiers.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44253: DISTRIBUTED COMPUTING
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand the different application architectures, issues and challenges to develop
scalable, reliable and fault tolerable system over independent autonomous computers
2. Understand the issues due to caching and replication and develop the ability to find the
solutions for the same
3. Design and implement the interfaces for transparent inter-process communication
using message passing with the help of standard DCE
4. Explore the existing distributed systems and applications as well as provisioning of
security mechanism
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to basics of Networking, Distributed System Models and
architectures, Inter-process Communication: API for Internet protocols, External Data
representation and marshalling, Client Server Computing.
REFERENCE BOOKS:
1. Tannenbaum, “Distributed Operating Systems”, PHI.
2. Randy Chow, “Distributed Operating Systems and Algorithms”, Addison- Wesley.
3. Merlin Hughes, Michael Shoffner, Derek Hamner, Conrad Hughes, “Java Network
Programming: A Complete Guide to Networking, Streams, and Distributed
Computing”, Second Edition, July1999.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44301: DATA SCIENCE
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Comprehend the IT-interestingness of data and understand the attributes of data.
2. Preprocess the given data and visualize it for a given application or data exploration/
mining task.
3. Apply techniques of supervised and unsupervised machine learning for various data
applications.
4. Implement web search methods by page ranking and can implement models of
information retrieval by applying different techniques of text mining.
COURSE CONTENTS:
THEORY:
UNIT 1. Understanding Data: Data Wrangling and Exploratory Analysis, Data
Transformation & Cleaning, Feature Extraction, Data Visualization. Introduction to
contemporary tools and programming languages like R, Python etc. for data analysis.
UNIT 5. Introduction to Web Search & Big Data: Crawling and Indexes, Search
Engine architectures, Link Analysis and ranking algorithms such as HITS and
PageRank Hadoop File system & MapReduce Paradigm
TEXT BOOKS RECOMMENDED:
1. Field Cady, “The Data Science Handbook” , 1/e , 2018, Publisher: Wiley
2. Sinan Ozdemir, “Principles of Data Science “, 1/e, 2016, Packt Publishing Limited
REFERENCE BOOKS:
1. Peter Bruce, “Practical Statistics for Data Scientists: 50 Essential Concepts”,
Shroff/O'Reilly; First edition (2017)
2. Pang-Ning Tan, “Introduction to Data Mining”, Pearson Edu., 2007
3. Ricardo Baeza-Yates and Berthier Ribeiro-Neto, “Modern Information Retrieval”,
Pearson Education, 2004
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments, demonstration
Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 4435: ADVANCED COMPUTER NETWORKS
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Design and implement TCP/IP based network.
2. Debug and optimize the network performance.
3. Understand the issues and challenges in wireless communication and routing as per
the network communication.
4. Design new routing protocols as per constraints in the network
COURSE CONTENTS:
THEORY:
UNIT 1. Basic Concepts: Review of LAN, MAN, WAN, Intranet, Internet, and
interconnectivity devices: bridges, Routers etc. Review of TCP/IP Protocol
Architecture: ARP/RARP, IP addressing, IP Datagram format and its Delivery,
Routing table format, ICMP Messages, Subnetting, Supernetting and CIDR, DNS.
NAT: Private addressing and NAT, SNAT, DNAT, NAT and firewalls, IPV6: address
structure, address space and header.
UNIT 2. Transport layer: Multiplexing and ports, TCP: Segment format, Sockets,
Synchronization, Three Way Hand Shaking, Variable window size and Flow control,
Timeout and Retransmission algorithms, Connection Control, Silly window
Syndrome, UDP: Message Encapsulation, Format and Pseudo header. Routing
Protocols: BGP- Concept of hidden network and autonomous system, An Exterior
gateway protocol, Different messages of BGP. Interior Gateway protocol: RIP, OSPF.
UNIT 3. Wireless LAN: Transmission Medium For WLANs, MAC problems, Hidden
and Exposed terminals, Near and Far terminals, Infrastructure and Ad hoc Networks,
IEEE 802.11- System arch, Protocol arch, Physical layer, Concept of spread spectrum,
MAC and its management, Power management, Security. Mobile IP: unsuitability of
Traditional IP; Goals, Terminology, Agent advertisement and discovery, Registration,
Tunneling techniques. Ad hoc network routing: Ad hoc Network routing v/s
Traditional IP routing, types of routing protocols, Examples: OADV, DSDV, DSR,
ZRP.
REFERENCE BOOKS:
1. W. Richard Stevens, “TCP/IP Illustrated Vol-I”, Addison-Wesley.
2. Black U, “ATM-I, Foundation for Broadband Networks”, PH Publications.
3. William Stallings, “ISDN and Broadband ISDN with Frame Relay and ATM”, 2nd
Edition, Pearson education, 2009.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments, demonstration
Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44401: SYSTEM OPERATIONS LAB
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Become familiar and comfortable with Linux and Windows platform. Learn to
install/uninstall/ update software.
2. Install and configure different servers, e.g. apache, file server, apt cacher etc.
3. Learn Latex for technical writing, presentations, papers, resume etc.
4. Learn GitHub and Git for version control, and open source development
COURSE CONTENTS:
PRACTICAL:
Lab1: Partition management with linux and Installation of Linux, Post Install, Configuring
run levels and consoles.
Lab2: Fstab and Crontab, file system, file and directory, Commands permissions, users,
groups, devices, Linux services and daemons, Searching with locate, updatedb.
Lab3: Concept of modules, Linux Backup and Recovery Services, kernel compilation,
Compilation-options, creating initial RAM disk image.
Lab4: Extra installations using RPMs and Make utility, Creating a Local Area Network
using Red Hat Linux, Assigning static IP addresses, Connecting to Internet.
Lab6: Filters and scripting for management of server using sed, grep, awk.
Lab7: NFS-Native file sharing service, Configuring NFS, Samba server, Creating Samba
share and Samba users, Configuring Samba windows client Configuring FTP server
and Client
Lab8: Telnet and SSH, Running Telnet and SSH sessions, Configuring CUPS, NIS, DNS,
Apache, SQUID, IPTABLES.
Lab9: Microsoft Windows Advanced server installation, network and service configuration,
trouble shooting, user and security management.
Lab10: Remote management and administration. Backup and Recovery Services.
Lab11: Database Administration: creation of database and its user, granting rights to users on
tables.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44_____: MACHINE LEARNING
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. To apply knowledge of computing and mathematics to machine learning problems,
models and algorithms;
2. To analyze a problem and identify the computing requirements appropriate for its
solution;
3. To design, implement, and evaluate an algorithm to meet desired needs; and
4. To apply mathematical foundations, algorithmic principles, and computer science
theory to the modeling and design of computer-based systems in a way that
demonstrates comprehension of the trade-offs involved in design choices.
COURSE CONTENTS:
THEORY:
UNIT 1. Introduction to machine learning, scope and limitations, regression,
probability, statistics and linear algebra for machine learning, convex optimization,
data visualization, hypothesis function and testing, data distributions, data
preprocessing, data augmentation, normalizing data sets, machine learning models,
supervised and unsupervised learning.
UNIT 2. Linearity vs non linearity, activation functions like sigmoid, ReLU, etc.,
weights and bias, loss function, gradient descent, multilayer network,
backpropagation, weight initialization, training, testing, unstable gradient problem,
auto encoders, batch normalization, dropout, L1 and L2 regularization, momentum,
tuning hyper parameters,
UNIT 3. Convolutional neural network, flattening, subsampling, padding, stride,
convolution layer, pooling layer, loss layer, dance layer 1x1 convolution, inception
network, input channels, transfer learning, one shot learning, dimension reductions,
implementation of CNN like tensor flow, keras etc.
UNIT 4. Recurrent neural network, Long short-term memory, gated recurrent unit,
translation, beam search and width, Bleu score, attention model, Reinforcement
Learning, RL-framework, MDP, Bellman equations, Value Iteration and Policy
Iteration, , Actor-critic model, Q-learning, SARSA
UNIT 5. Support Vector Machines, Bayesian learning, application of machine learning
in computer vision, speech processing, natural language processing etc, Case Study:
ImageNet Competition
TEXT BOOKS RECOMMENDED:
1. Christopher M. Bishop, “Pattern Recognition and Machine Learning”, Springer-
Verlag New York Inc., 2nd Edition, 2011.
2. Tom M. Mitchell, “Machine Learning”, McGraw Hill Education, First edition, 2017.
3. Ian Goodfellow and Yoshua Bengio and Aaron Courville, “Deep Learning”, MIT
Press, 2016
REFERENCE BOOKS:
1. Aurelien Geon, “Hands-On Machine Learning with Scikit-Learn and Tensorflow:
Concepts, Tools, and Techniques to Build Intelligent Systems”, Shroff/O'Reilly; First
edition (2017).
2. Francois Chollet, "Deep Learning with Python", Manning Publications, 1 edition (10
January 2018).
3. Andreas Muller, "Introduction to Machine Learning with Python: A Guide for Data
Scientists", Shroff/O'Reilly; First edition (2016).
4. Russell, S. and Norvig, N. “Artificial Intelligence: A Modern Approach”, Prentice
Hall Series in Artificial Intelligence. 2003.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 4479: CLOUD COMPUTING
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand web services, service oriented computing and their implementation.
2. Understand cloud file system and map reduce model & their implementation
3. Understand concept of virtualization, security issues and challenges in cloud.
4. Understand applications of cloud, inter cloud issues.
COURSE CONTENTS:
THEORY:
UNIT 3. Data in the cloud: Relational databases, Cloud file systems: GFS and HDFS,
Features and comparisons among GFS, HDFS etc, BigTable, HBase and Dynamo.
Map-Reduce and extensions: Parallel computing, The Map-Reduce model: Parallel
efficiency of Map-Reduce, Relational operations, Enterprise batch processing,
Example/Application of Map-Reduce.
UNIT 4. Cloud security fundamentals, Vulnerability assessment tool for cloud, Privacy
and Security in cloud: Cloud computing security architecture, General Issues, Trusted
Cloud computing, Security challenges: Virtualization security management-virtual
threats, VM Security Recommendations, VM-Specific Security techniques, Secure
Execution Environments and Communications in cloud.
UNIT 5. Issues in cloud computing; implementing real time application; QOS Issues in
Cloud, Dependability, data migration, streaming in Cloud. Cloud Middleware.
Mobile Cloud Computing. Inter Cloud issues. A grid of clouds, Sky computing, load
balancing, Resource optimization, Resource dynamic reconfiguration, Monitoring in
Cloud, Installing cloud platforms and performance evaluation, Features and functions
of cloud computing platforms.
REFERENCE BOOKS:
1. Scott Granneman, “Google Apps”, Pearson, 2012
2. Tim Malhar, S.Kumaraswammy, S.Latif, “Cloud Security & Privacy”, SPD,
O’REILLY
3. Ronald Krutz and Russell Dean Vines, “Cloud Security”, Wiley-India, 2011
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
1. Study of services of different cloud provider like Google App engine/Amazon/Sales
Force/Aneka/Microsoft Azure.
2. Deployment of app in a cloud.
3. Assignment to understand concepts of virtualization.
4. Installation of Hadoop and programming assignments on map-reduce.
5. Creating a toy distributed file system.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 4488: HUMAN-COMPUTER INTERACTION
PRE-REQUISITE: NIL
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Describe the fundamental principles of computer interaction.
2. Describe the design models of user interaction.
3. To understand about writing code for UI.
4. UI design as per customer requirements efficiently
COURSE CONTENTS:
THEORY:
UNIT 3. Human Abilities, IRB & Ethics, Predictive Models and Cognitive Models,
Descriptive Cognitive Models, Ubiquitous Computing.
UNIT 4. Natural Language & Speech, Information Visualization, Universal Design &
Assistive Technology, Pervasive Computing, Tangible User Interfaces
UNIT 5. Help & Documentation, UI Software, UI Agents, and Case Studies: Windows
Swing.
REFERENCE BOOKS:
1. Paul Booth, “An Introduction to Human-Computer Interaction”, First Edition,
Psychology Press, 2015.
2. D. Hix and H. R. Hartson, “Developing User Interfaces: Ensuring Usability Through
Product and Process”, Publisher - John Wiley, 1993.
3. Rosson & Carroll, “Usability Engineering: Scenario-Based Development of Human-
Computer Interaction”, Morgan Kaufmanns, 2001.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%).
2. End semester Theory Exam (70%).
PRACTICAL:
Different problems are framed every year to enable students to understand the concept
learnt and get hands on various tools and software related to the subject. Such
assignments are framed for ten to twelve lab sessions.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 44_____: INFORMATION AND NETWORK SECURITY
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Understand meaning of information and secure system and need of information
security.
2. Understand cryptography and various cryptographic techniques.
3. Understand threats and vulnerabilities in network protocols and attacks.
4. Understand security policies and security in software.
COURSE CONTENTS:
THEORY:
REFERENCE BOOKS:
1. W. Stallings, “Cryptography and Network Security – Principles and Practices”, 7th
Edition, Pearson Education, 2017.
2. Mann, Mitchell, Krell, “Linux, System Security”, 2nd Edition, Pearson Education,
2003.
3. Robert, C. Newman, “Enterprise Security”, Pearson Education.
4. Kaufman, Perlman and Speciner, “Network Security, Private Communication in a
Public Network”, Prentice Hall of India, 2003.
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
1. Programing assignments on writing classical cryptographic algorithms.
2. Assignments related to use of digital certificates/digital signatures.
3. Assignments related to learning commands related exploration of routers, paths,
communication delays etc in linux and windows OS.
4. Assignments related to installation, configuration and use of open source software for
experimentation on intrusion detection.
5. Exploitation of vulnerabilities in network protocols at network layer and application
layer.
6. Assignments to understand exploitation of user authentication, file access control etc
in OS.
7. Assignments related to exploiting bugs in softwares.
8. Problems related to attacks on World Wide Web such as DOS, cross site scripting etc.
9. Case study of database management system with regard to security (such as oracle).
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.
DEPARTMENT OF COMPUTER ENGINEERING
B.E. IV YEAR (4YDC)
CO 4490: ADVANCED DATABASES
PRE-REQUISITE:
COURSE OUTCOMES:
After Completing the course student should be able to:
1. Comprehend the properties of RDBMS and analyze the expedited search in data base
using indexing and hashing.
2. Understand the algorithm behind query execution and learn to use cost estimation for
query optimization,
3. Describe the design of parallel and distributed databases and apply the concept using
Hadoop architecture.
4. Implement the concepts of transaction management & recovery and introduction to
semi- structured databases.
COURSE CONTENTS:
THEORY:
UNIT 1. Brief overview of Relational Data Model, Database storage and indexing:
Hash based indices; Tree based Indices, Indexes and Performance Tuning.
Comparison of File Organizations: cost model, heap files, sorted models, clustered
files.
UNIT 2. Introduction to query evaluation: External merge-sort, nested loops join, Sort
merge join, Hash joins, Query optimization using selectivity and cost Estimates, Index
selection.
REFERENCE BOOKS:
1. T. Ozsu and P. Valduriez, “Principles of Distributed Database Systems”, Springer; 3rd
Edition. edition (March 2011), ISBN-10: 1441988335
2. Hector Garcia-Molina , Jeffrey Ullman and Jennifer Widom, “Database Systems:The
complete Book”, Prentice-Hall, 2/e, 2008
THEORY ASSESSMENT:
1. Internal Assessment for continuous evaluation, mid-term tests, Tutorials, Quizzes,
Class Performance, etc. (30%)
2. End semester Theory Exam (70%)
PRACTICAL:
1. Hands on DDL, DML statements.
2. Write SQL queries using aggregate functions, group by having clause.
3. Write SQL queries using string comparison functions and order by clause.
4. Write SQL queries using sub query and correlated sub query.
5. Write SQL queries using joins.
PRACTICAL ASSESSMENT:
1. Internal Assessment for continuous evaluation (40%): Lab assignments,
demonstration Viva, file etc.
2. End semester Practical Exam (60%): Quiz/Programming test, lab journal, demo, viva
etc.