Today we find that information technology has become overwhelmingly pervasive, while its parent, computing science, has become correspondingly hard to find. While many Computer Science educational institutions have shifted focus from core Computer Science and become specialty providers for the IT industry while our department has remained true to the vision on which it was founded.
There are several ways to present the canonical core of computer science. Over the years we have developed a distinct style and method that bridges the theory – practice divide while remaining grounded in the core.
Technology changes rapidly, especially in the field of computing, whereas the science, if it changes at all, does so much more gradually. Our understanding is that persons who are clear and thorough about the fundamentals can adapt to rapid changes in technology relatively easily. We want the education imparted to our students to be the basis of a life time of learning.
Our Department has produced hundreds of professionals and has established a name for itself in the country and abroad. They have consistently excelled in the highly competitive industrial environment, Best Employer in top-ranking companies. I attribute this success to the winning combination of a dedicated and experienced faculty that works hard at imparting quality education, a well-planned syllabus and last but not least, our sincere students.
Learning is a continuous process and does not end with the acquisition of a degree, especially because steady and rapid advances in computing technologies shorten the life of tools and techniques prevalent today. Therefore we do not aim to make our students walking manuals of any language or package. Instead, they are given a strong foundation in computer science and problem-solving techniques, and are made adaptable to changes.
We believe that this approach to teaching-learning, coupled with practical experience gained during Industrial Training in reputed organizations, equips our students to handle the challenges posed by the software industry. I am confident that our students will prove themselves worthy for any organization or institute.
Mr. Jayanta Pal
HOD, Department of CSE, Narula Institute of Technology
To develop responsible citizens who would 'think global and act local' and become the change agents of society to meet the challenges of future
The mission of the Computer Science and Engineering Department is to build and sustain a high quality and broad area-based teaching and research program in computer science, to prepare students for successful professional careers both in industry, academics and as entrepreneur, and to provide service to the nation as a good human being.
Make valuable contributions to design, development, and production in the practice of computer science and related engineering or application areas, particularly in software systems and algorithmic methods.
Analyze, design, implement, and evaluate a computerized solution to a real life problem using appropriate tools.
Pursue life-long learning and continued professional development.
effectively through speaking, writing, and the use of presentation tools and the ability to function effectively as part of a team.
Be aware of ethical and societal concerns relating to computers in society and apply this knowledge in the conduct of their careers.
Engage in professional development or post-graduate education to pursue flexible career paths amid future technological changes.
Constantly updating our curriculum to incorporate innovations in ever-changing Computer Science and Engineering field. (If autonomy achieved)
Hiring, nurturing, and retaining outstanding and energetic faculty who strengthen our existing expertise, while positioning us to lead in the important emerging research areas.
Maintaining high selectivity in our graduate programs by choosing students with the potential to be leaders in the fields as determined by their evidence both of academic achievement and diversity of life experiences.
|Course Name||Degree||Intake Strength|
|Under Graduate (UG)||4 years B.Tech Computer Science & Engineering||B.Tech||180|
|Post Graduate (PG)||2 years M.Tech Power Systems||M.Tech||18|
At the end of the course students are able to understand
CO1: Learn the concept of DOS system commands and editor.
CO2: To formulate the algorithms for simple problems and to translate given algorithms to a working
and correct program.
CO3: To be able to identify and correct syntax errors / logical errors as reported during compilation time and run time.
CO4: To be able to write iterative as well as recursive programs.
CO5: Learn the concept of programs with Arrays, Pointers, Structures, Union and Files.
List of Experiment:
∙ Some basic commands of DOS, Windows and Linux Operating System, File handling and Directory structures, file permissions, creating and editing simple C program, compilation and execution of C program.
∙ Writing C Programs on variable, expression, operator and type-casting.
∙ Writing C Programs using different structures of if-else statement and switch-case statement.
∙ Writing C Programs demonstrating use of loop (for loop, while loop and do-while loop) concept and use of break and continue statement.
∙ Writing C Programs demonstrating concept of Single & Multidimensional arrays.
∙ Writing C Programs demonstrating concept of Function and Recursion.
∙ Writing C Programs demonstrating concept of Pointers, address of operator, declaring pointers and operations on pointers.
∙ Writing C Programs demonstrating concept of structures, union and pointer to structure.
∙ Writing C Programs demonstrating concept of String and command line arguments.
∙ Writing C Programs demonstrating concept of dynamic memory allocation.
∙ Writing C Programs demonstrating concept of File Programming.
∙ Innovative Experiments
CO1: Choose appropriate data structure as applied to specified problem definition.
CO2: Handle operations like searching, insertion, deletion, traversing mechanism on various data structures.
CO3: Have practical knowledge on the applications of data structures.
CO4: Able to store, manipulate and arrange data in an efficient manner.
CO5: Able to implement queue and stack using arrays and linked list. Implementation of queue, binary tree and binary search tree.
List of Experiment:
1. Write a C program to implement Single Link List
2. Write a C program to implement Double Link List
3. Write a C program to implement Single Circular Link List
4. Write a C program to implement Double Circular Link List
5. Write a C program to implement Polynomial addition and Polynomial multiplication using Linked List.
6. Write a C program to convert a given infix expression into its postfix Equivalent.
7. Write C programs to implement a queue ADT using i) array and ii) doubly linked
8. Write a C program to implement Binary Search Tree (BST).
9. Write C programs for implementing the following sorting methods to arrange a list of integers in ascending order:
a. Insertion sort
b. Merge sort
10. Write C programs for implementing the following sorting methods to arrange a list of integers in ascending order:
a. Quick sort
b. Selection sort
11. Write C programs for implementing the following searching methods:
a. Linear Search
b. Binary Search
Write a C program to implement all the functions of a dictionary (ADT) using hashing.
12. Write C programs for implementing the following graph traversal algorithms:
a. Depth first search
b. Breadth first search
13. Innovative experiments
CO1: To demonstrate a thorough understanding of modular programming by designing programs that requires the use of programmer-defined functions.
CO2: To demonstrate a thorough understanding of arrays by designing and implementing programs that search and sort arrays.
CO3: To demonstrate a thorough understanding of the object-oriented programming concepts of encapsulation, data abstraction and composition by designing and implementing classes including
the use of overloaded functions and constructors.
CO4: To demonstrate a thorough understanding of the concept of pointers and dynamic memory allocation, the implementation of programmer-defined functions and classes by writing code, performing unit testing and debugging of multiple complex programs.
CO5: To demonstrate an understanding of the differences between C and C++ in the areas of strings, pass by reference/passing pointers, and structs by designing and implementing programs that use C strings, C++ strings, C language structs and classes.
CO1: To design the basic gates
CO2: To verify the truth table
CO3: To design circuit using Xilinx tools
List of Experiment:
1. Implement different types of Basic gates and simulate for truth table verification.
2. Implement half adder circuit and simulate for truth table verification.
3. Implement full adder circuit and simulate for truth table verification.
4. Implement half subtractor circuit and simulate for truth table verification.
5. Implement full subtractor circuit and simulate for truth table verification.
6. Implement Multiplexer, DeMultiplexer circuit and simulate for truth table verification.
7. Implement Encoder, Decoder circuit and simulate for truth table verification.
8. Implement different types of flip flop and simulate for truth table verification.
9. Implement different types of parallel circuits (SISO,SIPO,PISO,PIPO) and simulate the result.
10. Implement ALU and simulate the result.
11. Implement RAM chip and simulate the result.
12. Innovative Experiments.
Course Outcome: Student will be able to:
CO1: To prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains.
CO2: To understand methods for analyzing the efficiency and correctness of algorithms (such as exchange arguments, recurrence, induction, and average case analysis)
CO3: To design algorithms using the dynamic programming, greedy method, Backtracking, Branch and Bound strategy, and recite algorithms that employ this strategy
CO4: To compare, contrast, and choose appropriate algorithmic design techniques to present an algorithm that solves a given problem.
CO5: To Identify and analyze criteria and specifications appropriate to new problems.
List of Experiment:
Write the following problems in any programming language. Programming Language used: C
1. Divide and Conquer:
a. Implement Binary Search (Recursive & Iterative) using Divide and Conquer approach
b. Implement Merge Sort using Divide and Conquer approach
c. Implement Quick Sort using Divide and Conquer approach
d. Implement Heap Sort using Divide and Conquer approach
e. Find Maximum and Minimum element from a array of integer using Divide and Conquer approach
2. Dynamic Programming:
a. Find the minimum number of scalar multiplication needed for chain of matrix
b. Implement all pair of Shortest path for a graph ( Floyed Warshall Algorithm )
c. Implement Single Source shortest Path for a graph ( Dijkstra , Bellman Ford)
d. Implement Longest Common Subsequence problem
a. Implement n-Queens Problem
b. Graph Coloring Problem
4. Greedy method:
a. Knapsack Problem
b. Job sequencing with deadlines
c. Minimum Cost Spanning Tree by Prim's Algorithm
d. Minimum Cost Spanning Tree by Kruskal's Algorithm
5. Innovative experiments
∙ To familiarize the students with the Operating System.
∙ To demonstrate the process, memory, file and directory management issues under the UNIX/ LINUX operating system.
∙ To introduce LINUX basic commands.
∙ To make students how to make simple programs in LINUX and administrative task of LINUX
CO1: To Analyze different aspects of Linux.
CO2: To Create or design different scripts using shell programming.
CO3: To implement process, thread, semaphore concept of operating system.
CO4: Create shared memory with the implementation of reading from, write into shared memory.
1. To learn the data models, conceptualize and depict a database system
2. To learn the fundamental concepts of SQL queries.
3. To understand the concept of designing a database with the necessary attributes.
4. To know the methodology of Accessing, Modifying and Updating data & information from the relational databases
5. To learn database design as well as to design user interface and how to connect with database.
On completion of the course students will be able to
CO1: Understand the basic concepts regarding database, know about query processing and techniques involved in query optimization and understand the concepts of database transaction
and related database facilities including concurrency control, backup and recovery.
CO2: Understand the introductory concepts of some advanced topics in data management like distributed databases, data warehousing, deductive databases and be aware of some advanced databases like partial multimedia and mobile databases.
CO3: Differentiate between DBMS and advanced DBMS and use of advanced database
concepts and become proficient in creating database queries.
CO4: Analyze database system concepts and apply normalization to the database.
CO5: Apply and create different transaction processing and concurrency control applications.
∙ It demonstrates that how can you change the implementation of an object without affecting any other code by increasing data security and protecting unwanted data access. (Encapsulation).
∙ It allows you to have many different functions, all with the same name, all doing the same job, but depending upon different data. (Polymorphism).
∙ It guides you to write generic code: which will work with a range of data, so you don't have to write basic stuff over, and over again. (Generics).
∙ It lets you write a set of functions, then expand them in different direction without changing or copying them in any way. (Inheritance)
CO1: Create the procedure of communication between Objects, classes & methods.
CO2: Understand the elementary facts of Object Orientation with various characteristics as well as several aspects of Java.
CO3: Analyze distinct features of different string handling functions with various I/O operations.
CO4: Discuss simple Code Reusability notion w.r.t. Inheritance, Package and Interface.
CO5: Apply Exception handling, Multithreading and Applet (Web program in java) programming concept in Java.
CO1: To understand about various latest interactive multimedia devices, the basic concepts about images and image format.
CO2: To Apply and analyze data compression techniques, image compression techniques like JPEG, video compression techniques like MPEG, and the basic concepts about animation.
CO3: To evaluate and develop an interactive multimedia presentation by using multimedia devices and identify theoretical and practical aspects in designing multimedia applications are surrounding the emergence of multimedia technology.
CO4: To analyze the effects of scale and use on both presentation and lower level requirements along with feedback evaluation in response to an objective set of criteria for multimedia design.
1. Perceptual and cognitive psychology related to visual and auditory perception.
2. Methods of data sampling and digitization relative to different formats of audio and video media: frequency- and spatial-based sampling., vector-based and sampling-based media representations, audio and video files including AVI and WAV, uses and application of XML, media data compression.
3. Sound capturing & editing using tools like SOUNDFORGE
4. Image editing using tools like Adobe Photoshop Creating/editing motion video/animation clips (using tools like Flash / Adobe Premier)
CO1: Demonstrate the socket program using TCP & UDP.
CO2: Develop simple applications using TCP & UDP.
CO3: Develop the code for Data link layer protocol simulation.
CO4: Examine the performances of Routing protocol.
CO5: Experiment with congestion control algorithm using network simulator
CO1: To handle software development models through rational method.
CO2: To prepare SRS document, design document, project management related document.
CO3: To develop function oriented and object-oriented software design using tools like rational rose.
CO4: To apply various testing techniques through test cases.