Computer Science and Engineering

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

Vision

Vision of the Department:

To develop responsible citizens who would 'think global and act local' and become the change agents of society to meet the challenges of future

Mission

Mission of the department:

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.

Objectives

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.

Goals

  • Maintain our high standards of rigor in the classroom.
  • Maintain excitement in the classroom.
  • Maintain up-to-date knowledge of the evolving computer science landscape.
  • Maintain modern equipment for our labs and our faculty.
  • Maintain professional accreditation for our programs.
  • Recruit and graduate greater numbers of students.
  • Recruit greater diversity in our faculty and students.
  • Acquire greater external funding for research, scholarships, and equipment.
  • Acquire greater recognition as a locus for research by attending and publishing in premiere computer science conferences around the world.
  • Partner with other programs in the college, the university, and the community to advance the role of computer science.

Responsibility of Faculty

  • Keep current field and related topics to normal teaching assignments.
  • Continue to improve in effective teaching.
  • Serve as mentors and advisors to students.
  • Take an active role in curriculum and program development.
  • Participate in professional organizations relevant to their interests.

Expected Outcomes

  • An ability to apply knowledge of computing and mathematics appropriate to the discipline.
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  • An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs.
  • An ability to function effectively on teams to accomplish a common goal.
  • An understanding of professional, ethical, legal, security, and social issues and responsibilities.
  • An ability to communicate effectively with a range of audiences.
  • An ability to analyze the local and global impact of computing on individuals, organizations and society.
  • Recognition of the need for, and an ability to engage in, continuing professional development.
  • An ability to use current techniques, skills, and tools necessary for computing practices..
  • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices.
  • An ability to apply design and development principles in the construction of software systems of varying complexity.
  • Be prepared to enter a top-ranked graduate program in Computer Science

PEO, PO, PSO

Program Educational Objectives(B.Tech. Course):
  • PEO1:Graduates are prepared to be employed in IT industries and be engaged in learning,understanding, and applying new ideas.
  • PEO2:Graduates are prepared to take up Masters / Research programs.
  • PEO3:Graduates are prepared to be responsible computing professionals in their own area of interest.
  • PEO4:Graduates are prepared to be good entrepreneur and responsible social representatives.
Program Outcome (PO)(B.Tech. Course):
  • PO1. Engineering knowledge:Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization to the solution of complex engineering problems.
  • PO2. Problem analysis:Identify, formulate, review research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences.
  • PO3. Design/development of solutions:Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.
  • PO4. Conduct investigations of complex problems:Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
  • PO5. Modern tool usage:Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modelling to complex engineering activities with an understanding of the limitations.
  • PO6. The engineer and society:Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
  • PO7. Environment and sustainability:Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development.
  • PO8. Ethics:Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
  • PO9. Individual and team work:Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.
  • PO10. Communication:Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.
  • PO11. Project management and finance:Demonstrate knowledge and understanding of the engineering and management principles and apply these to one’s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
  • PO12. Life-long learning:Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change.
Program Specific Outcomes (PSOs)(B.Tech. Course):
  • PSO1Specify, design, develop, test and maintain usable software systems that behave reliably and efficiently and satisfy all the requirements that customers have defined for them
  • PSO2Demonstrate understanding of the principles and working of the hardware and software aspects of computer systems.
  • PSO3Use professional engineering practices, strategies and tactics for the development, operation and maintenance of software.
Program Outcome (PO)(M.Tech. Course):
  • PO1 :An understanding of the theoretical foundations and the limits of computing.
  • PO2 :An ability to adapt existing models, techniques, algorithms, data structures, etc. for efficiently solving problems.
  • PO3 :An ability to design, develop and evaluate new computer based systems for novel applications which meet the desired needs of industry and society.
  • PO4 :Understanding and ability to use advanced computing techniques and tools.
  • PO5 :An ability to undertake original research at the cutting edge of computer science & its related areas.
  • PO6 :An ability to function effectively individually or as a part of a team to accomplish a stated goal.
  • PO7 :An understanding of professional and ethical responsibility.
  • PO8 :An ability to communicate effectively with a wide range of audience.
  • PO9 :An ability to learn independently and engage in life¬long learning.
  • PO10 :An understanding of the impact of IT related solutions in an economic, social and environment context.
    Course Name Degree Intake Strength
Under Graduate (UG) 4 years B.Tech Computer Science & Engineering  B.Tech 180
4 years B.Tech Computer Science and Technology B.Tech 60
4 years B.Tech Computer Science (Artificial Intelligence & Machine Learning) B.Tech 60
4 years B.Tech Computer Science & Business System B.Tech 60
Post Graduate (PG) 2 years M.Tech Computer Science & Engineering  M.Tech 18

Programming for Problem Solving Lab

Course Outcomes:

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

Data Structures Lab

Course Outcomes:

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

list respectively.

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


Programming with C++ Lab

Outcomes:

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.

Computer Architecture Lab

Course Outcome:

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.


Design & Analysis of Algorithm Lab

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

3. Backtracking:

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


Operating Systems Lab

Course Objectives:

∙ 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

Course Outcomes:

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.

Database Management System Lab

Course Objectives:

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.

Course Outcomes:

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.

Object Oriented Programming Lab

Course Objectives:

∙ 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)

Course Outcomes:

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.


Multimedia Technology


Course Outcomes:

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.

Course Contents:

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)


Computer Networks Lab


Course Outcome(s)

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


Software Engineering Lab


Course Outcomes:

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.

Sahayak Ready to Help
×
+
Udbhavan