Program Outcome B.Tech CSE
PO1. Engineering knowledge: Apply the knowledge of mathematics with a depth of
discrete mathematics, science, engineering fundamentals, and computer science to
the solution of complex engineering problems.
PO2. Problem analysis: Analyze problems with varying complexity using computer
softwares easily
PO3. Design/development of solutions: Design and develop software/hardware
components or systems for applications.
PO4. Environment: Provide computer based solutions to problems of the
average person without causing harm to the environment and compromise for
public safety, cultural, social and legal aspects.
PO5. Ethics: Practice code of ethics in personal, social and professional activities
the motto of F.E.T is “Building Technocrats with Ethics”
PO6. Individual and team work: Function effectively as an individual, and as a
member or leader in diverse teams, and in multidisciplinary settings.
PO7. 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.
PO8. 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.
PO9. 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.
Course Objective & Outcome
Ist Year (Ist Semester)
Programming for Problem Solving (BCE-C102)
Objective:-
The course aims to provide exposure to problem-solving through programming. It aims to train
the student to the basic concepts of the C-programming language. This course involves a lab
component which is designed to give the student hands-on experience with the concepts.
Outcome: -
● Develop simple algorithms for arithmetic and logical problems.
● Translate the algorithms to programs in C language and execute them.
● Implement conditional branching, iteration, and recursion.
● Decompose a problem into functions and synthesize a complete program using the
divide and conquer approach.
● Use arrays, pointers, and structures to develop algorithms and programs.
IInd Year (IIIrd Semester)
Python Programming (BCE-C304)
Objective:-
The course is designed to provide an introduction to the Python programming language. The
focus of the course is to provide students with an introduction to programming, I/O, and other
libraries using the Python programming language.
Outcome: -
● Fluent in the use of procedural statements — assignments, conditional statements,
loops, function calls — and sequences. Be able to design, code, and test small Python
programs that meet requirements expressed in English. This includes a basic
understanding of top-down design.
● Make basic program of python and learn different about different libraries of python.
● Make user defined functions in python and use of regular expressions for complex
problems
● Case Studies Using Python for Data Science/M.L./IoT etc.
● Explain basic principles of Python programming language.
Data Structure-I (BCE-C305)
Objective: -
The Objective of this course is to introduce the fundamental concept of various data structures
and to emphasize the importance of data structures in developing and implementing efficient
algorithms.
Outcome: -
● Able to Describe how arrays, records, linked structures, stacks, queues, trees, and
graphs are represented in memory and used by algorithms.
● Able to Describe common applications for arrays, records, linked structures, stacks,
queues, trees, and graphs.
● Able to Write programs that use arrays, records, linked structures, stacks, queues, trees,
and graphs.
● Able to Demonstrate different methods for traversing trees.
● Able to Compare alternative implementations of data structures with respect to
performance.
● Able to Compare and contrast the benefits of dynamic and static data structures
implementations.
● Able to Describe the concept of recursion, give examples of its use, describe how it can
be implemented using a stack.
● Able to Design and implement an appropriate hashing function for an application.
● Able to Discuss the computational efficiency of the principal algorithms for sorting,
searching, and hashing.
Computer Architecture & Organization (BCE-C306)
Objective:-
The course intends to provide the basic organization and architecture of digital computers
(CPU, memory, I/O, software). Discussions will include digital logic and microprogramming.
Such knowledge leads to better understanding and utilization of digital computers, and can be
used in the design and application of computer systems or as foundation for more advanced
computer-related studies.
Outcome: -
● Able to Recognize and manipulate representations of numbers stored in digital
computers.
● Able to Recall the history and development of modern computers, developing an
appreciation for the potential and directions for future changes.
● Able to Recall the internal organization of computers, CPU, memory unit and
Input/Outputs and the relations between its main components.
● Able to Recognize and perform computations with the functional units of the processor.
● Able to Recall the basics of, and develop the ability to determine the applicability of
single-cycle (MIPS), multi-cycle (MIPS), parallel, pipelined, superscalar, and
RISC/CISC architectures.
● Able to Analyze cost performance and design trade-offs in designing and constructing
a computer processor including memory.
● Able to Perform elementary quantitative performance evaluation of computer systems.
● Able to Solve elementary problems by assembly language programming.
● Able to Understand the theory and architecture of central processing unit.
● Able to Analyze some of the design issues in terms of speed, technology, cost,
performance.
● Able to Design a simple CPU with applying the theory concepts.
● Able to Use appropriate tools to design verify and test the CPU architecture.
● Able to Learn the concepts of parallel processing, pipelining and inter processor
communication.
● Able to Understand the architecture and functionality of central processing unit.
● Able to Exemplify in a better way the I/O and memory organization.
● Able to Define different number systems, binary addition and subtraction, 2’s
complement representation and operations with this representation.
IInd Year (IVth Semester)
Database Management System (BCE-C404)
Objective:-
The course, Database Management Systems, provides an introduction to the management of
database systems. The course emphasizes the understanding of the fundamentals of relational
systems including data models, database architectures, and database manipulations. The course
also provides an understanding of new developments and trends such as Internet database
environment and data warehousing. The course uses a problem-based approach to learning
Outcome: -
● Able to Describe the fundamental elements of relational database management systems.
● Able to Explain the basic concepts of relational data model, entity-relationship model,
relational database design, relational algebra and SQL.
● Able to Design ER-models to represent simple database application scenarios.
● Able to Convert the ER-model to relational tables, populate relational database and
formulate SQL queries on data.
● Able to Improve the database design by normalization.
● Able to run SQL commands along with a webapp.
Object Oriented Programming Using Java (BCE-C405)
Objective: -
This course provides an introduction to object oriented programming (OOP) using
the Java programming language. Its main objective is to teach the basic concepts and
techniques which form the object oriented programming paradigm. The model of object
oriented programming: abstract data types, encapsulation, inheritance and polymorphism
.Fundamental features of an object oriented language like Java: object classes and interfaces,
exceptions and libraries of object collections .How to take the statement of a business problem
and from this determine suitable logic for solving the problem.
Outcome: -
● Able to understand the use of OOPs concepts.
● Able to solve real world problems using OOP techniques.
● Able to understand the use of abstraction.
● Able to understand the use of Packages and Interface in java.
● Able to develop and understand exception handling, multithreaded applications with
synchronization.
● Able to understand the use of Collection Framework.
● Able to design GUI based applications and develop applets for web applications.
Operating System (BCE-C406)
Objective:-
The course will provide adequate knowledge to understand the basic components of a
computer operating sys- tem, and the interactions among the various components.
The course will cover an introduction on the policies for scheduling, deadlocks, memory
management, synchronization, system calls, and file systems.
Outcome: -
● Able to describe and explain the fundamental components of a computer operating
system.
● Able to describe and explain the fundamental components of a computer operating
system.
● Define, restate, discuss, and explain the policies for scheduling, deadlocks, memory
management, synchronization, system calls, and file systems.
● Describe and extrapolate the interactions among the various components of computing
systems.
● Design and construct the following OS components: System calls, Schedulers, Memory
management systems, Virtual Memory and Paging systems.
IIIrd Year (Vth Semester)
Java Programming (BCE-C501)
Objective:-
The learning objectives of this course are: To learn why Java is useful for the design of desktop
and web applications. To learn how to implement object-oriented designs with Java. To
identify Java language components and how they work together in applications.
Outcome: -
● Explain OOP Principles.
● Use an integrated development environment to write, compile, run, and test simple
object-oriented Java programs.
● Read and make elementary modifications to Java programs that solve real-world
problems.
● Validate input in a Java program.
● Identify and fix defects and common security issues in code.
● Document a Java program using Javadoc.
● Use a version control system to track source code in a project.
● Knowledge of the structure and model of the Java programming language, (knowledge)
● Use the Java programming language for various programming technologies
(understanding)
● Develop software in the Java programming language, (application)
● Evaluate user requirements for software functionality required to decide whether the
Java programming language can meet user requirements (analysis)
● Propose the use of certain technologies by implementing them in the Java programming
language to solve the given problem (synthesis)
● Choose an engineering approach to solving problems, starting from the acquired
knowledge of programming and knowledge of operating systems. (Evaluation)
Design and Analysis of Algorithm (BCE-C502)
Objective:-
The course intends to teach paradigms and approaches used to analyze and design algorithms
and to appreciate the impact of algorithm design in practice. And to make students understand
how the worst-case time complexity of an algorithm is defined, how asymptotic notation is
used to provide a rough classification of algorithms. It will also explain different computational
models (e.g., divide-and-conquer), order notation and various complexity measures (e.g.,
running time, disk space) to analyze the complexity/performance of different algorithms. It will
introduce various advanced design and analysis techniques such as greedy algorithms, dynamic
programming & Know the concepts of tractable and intractable problems and the classes P, NP
and NP-complete problems.
Outcome: -
● To design efficient algorithms using various algorithm designing strategies.
● To analyze the problem and develop the algorithms related to these problems.
● To classify the problem and apply the appropriate design strategy to develop algorithm.
● To design algorithm in context of space and time complexity and apply asymptotic
notation.
Computer Graphics (BCE-C503)
Objective:-
The course intends to provide basic principles and techniques for computer graphics on modern
graphics hardware. Students will gain experience in interactive computer graphics using the C
in 2D viewing, 3D viewing, perspective, lighting, and geometry.
Outcome: -
● Able to explain the core concepts of computer graphics, including viewing, projection,
perspective, modelling and transformation in two and three dimensions.
● Able to apply the concepts of colour models, lighting and shading models, textures, ray
tracing, hidden surface elimination, anti-aliasing, and rendering.
● Able to interpret the mathematical foundation of the concepts of computer graphics.
● Able to describe the fundamentals of animation, parametric curves and surfaces, and
spotlighting.
● Able to identify a typical graphics pipeline and apply graphics programming techniques
to design and create computer graphics.
Computer networks (BCE-C504)
Objective:-
The course objectives include learning about computer network organization and
implementation, obtaining a theoretical understanding of data communication and computer
networks, and gaining practical experience in installation, monitoring, and troubleshooting of
current LAN systems.
Outcome: -
● Able to understand computer network basics, network architecture, TCP/IP and OSI
reference models.
● Able to identify and understand various techniques and modes of transmission.
● Able to describe data link protocols, multi-channel access protocols and IEEE 802
standards for LAN.
● Able to describe routing and congestion in network layer with routing algorithms and
classify IPV4 addressing scheme.
● Able to discuss the elements and protocols of transport layer.
● Able to understand network security and define various protocols such as FTP, HTTP,
Telnet, DNS
Cloud Computing (BCE-C505)
Objective:-
This course intends to provide students with the fundamentals and essentials of Cloud
Computing, A sound foundation of the Cloud computing so that they are able to start using and
adopting Cloud Computing services and tools in their real life scenarios. And to enable students
exploring some important cloud computing driven commercial systems and applications. It will
also expose the students to frontier areas of Cloud Computing and information systems, while
providing sufficient foundations to enable further study and research.
Outcome: -
● To understand the principles and paradigm of Cloud Computing.
● Ability to design and deploy Cloud Infrastructure.
● Understand cloud security issues and solutions.
● Ability to understand the role of Virtualization Technologies.
● Design & develop backup strategies for cloud data based on features.
● Knowledge of real world applications using IBM Cloud/ AWS/Google Cloud
IIIrd Year (VIth Semester)
Theory of Computation (BCE-C601)
Objective:-
This course intends to introduce students to the mathematical foundations of computation
including automata theory; the theory of formal languages and grammars; the notions of
algorithm, decidability, complexity, and computability.
Outcome: -
● Demonstrate advanced knowledge of formal computation and its relationship to
languages
● Distinguish different computing languages and classify their respective types
● Recognise and comprehend formal reasoning about languages
● Show a competent understanding of the basic concepts of complexity theory
● Discuss key notions of computation, such as algorithm, computability, decidability,
reducibility, and complexity, through problem solving.
● Explain the models of computation, including formal languages, grammars and
automata, and their connections.
● State and explain the Church-Turing thesis and its significance.
● Analyze and design finite automata, pushdown automata, Turing machines, formal
languages, and grammars.
Enterprise Computing With java (BCE-C602)
Objective:-
This comprehensive course explores a variety of modern Java frameworks and technologies
that can be used for developing mission-critical complex enterprise applications. The emphasis
is on use of the latest Java EE platform, its set of underlying specifications, designing and
developing server-side application components. Students will learn thru having hands-on
experience in building multi-tier distributed enterprise applications, comparing and using
variety of Java API’s, rich set of server-side components and technologies, and web-enabled
by modern design practices and communication protocols.
Outcome: -
● To understand Multi-tier architecture.
● To understand and work with JDBC.
● To understand the architecture of Remote Method Invocation and networking.
● To understand Java servlets work flow and architecture.
● To understand the architecture of Java Server Pages.
● Able to build multi tier web applications using JDBC, Java servlets and Java server
Pages.
Distributed System (BCE-C603)
Objective:-
The course objective is an in-depth study of the classical distributed database management
issues such as distribution design, distributed query processing and optimization, and
distributed transaction management.
Outcome: -
● List the principles of distributed systems and describe the problems and challenges
associated with these principles.
● Understand Distributed Computing techniques, Synchronous and Processes.
● Apply Shared Data access and Files concepts.
● Design a distributed system that fulfills requirements with regards to key distributed
systems properties.
● Understand Distributed File Systems and Distributed Shared Memory.
● Apply Distributed web-based system.
● Understand the importance of security in distributed systems
● Identify distributed system characteristics
● Explain the models for distributed processing and communication
● Develop a simple distributed system.
● Analyze distributed algorithms.
● Evaluate the performance of distributed systems.
● Evaluate the characteristics of a particular distributed system.
Advanced Data Structure (BCE-C604)
Objective:-
The course is intended to provide the foundations of the practical implementation and usage of
Algorithms and Data Structures.Objective is to ensure that the student evolves into a competent
programmer capable of designing and analysing implementations of algorithms and data
structures for different kinds of problems.
Course Outcomes: -
● Describe how arrays, records, linked structures, stacks, queues, trees, and graphs
are represented in memory and used by algorithms.
● Describe common applications for arrays, records, linked structures, stacks, queues,
trees, and graphs.
● Write programs that use arrays, records, linked structures, stacks, queues, trees, and
graphs.
● Demonstrate different methods for traversing trees.
● Compare alternative implementations of data structures with respect to
performance.
● Compare and contrast the benefits of dynamic and static data structures
implementations.
● Describe the concept of recursion, give examples of its use, describe how it can be
implemented using a stack.
● Design and implement an appropriate hashing function for an application.
● Discuss the computational efficiency of the principal algorithms for sorting,
searching, and hashing.
Artificial Intelligence (BCE-C605)
Objective:-
The objective of this course is to provide a strong foundation of fundamental concepts in
Artificial Intelligence and a basic exposition to the goals and methods of Artificial Intelligence,
which will enable the student to apply these techniques in applications which involve reasoning
and learning.
Outcome: -
● To analyze and formalize the problem as a state space, graph, design heuristics
● Ability to represent solutions for various real-life problem domains using logic-based
techniques
● Understand the numerous applications and huge possibilities in the field of AI
● Ability to express the ideas in AI research and programming language related to
emerging technology.
.net Technologies (BCE-C606)
Objective:-
This course will cover the practical aspects of multi-tier application development using the
.NET framework. The goal of this course is to introduce the students to the basics of
distributed application development. We will introduce the students to Web Service
development and .NET remoting.
Outcome: -
● Set up a programming environment for ASP.net programs.
● Configure an asp.net application.
● Creating ASP.Net applications using standard .net controls.
● Develop a data driven web application.
● Connecting to data sources and managing them.
● Maintain session and controls related information for user used in multi user web
applications.
● Understand the fundamentals of developing modular application by using object-
oriented methodologies.
IVth Year (VIIth Semester)
Compiler Design (BCE-C701)
Objective:-
Compiler Design intends to provide the fundamental concepts and techniques used for building
a simple compiler. Focusing on both theory and practice, it will also help in understanding
different considerations and phases of compilation, the impact of language attributes upon the
compilation process, the effect of hardware feature on the generated code and the practical
fundamentals of compiler implementation.The objective is to make students know how a
compiler works and how it can be built.
Outcome: -
● To understand the basics of system programs like editors, compiler, assembler, linker,
loader, interpreter and debugger.
● Describe the various concepts of assemblers and macroprocessors.
● To understand the various phases of compiler and compare its working with assembler.
● To understand how linker and loader create an executable program from an object
module created by assembler and compiler.
● To know various editors and debugging techniques.
● Understand the major phases of compilation and to understand the knowledge of Lex
tool & YAAC tool.
● Develop the parsers and experiment the knowledge of different parsers design without
automated tools.
● Construct the intermediate code representations and generation.
● Convert source code for a novel language into machine code for a novel computer.
● Apply for various optimization techniques for dataflow analysis.
Cryptography & Network Security (BCE-C702)
Objective:-
This Course focuses towards the introduction of network security using various cryptographic
algorithms. Underlying network security applications. It also focuses on the practical
applications that have been implemented and are in use to provide email and web security.
Outcome: -
● Understand the most common type of cryptographic algorithm ·
● Understand the Public-Key Infrastructure ·
● Understand security protocols for protecting data on networks ·
● Be able to digitally sign emails and files ·
● Understand vulnerability assessments and the weakness of using passwords for
authentication ·
● Be able to perform simple vulnerablility assessments and password audits ·
● Be able to configure simple firewall architectures ·
● Understand Virtual Private Networks
● Classify the symmetric encryption techniques.
● Illustrate various Public key cryptographic techniques.
● Evaluate the authentication and hash algorithms.
● Discuss authentication applications.
● Summarize the intrusion detection and its solutions to overcome the attacks.
● Basic concepts of system level security.
Unix Programming (BCE-C703)
Objective:-
This course introduces the concept of Unix Operating System in comparison to other Operating
System, which includes understanding and working of file system and its commands. It also
introduces the concept of shell and network programming in unix environment.
Outcome: -
● Describe the architecture and features of UNIX Operating System and distinguish it
from another Operating System
● Demonstrate UNIX commands for file handling and process control
● Write Regular expressions for pattern matching and apply them to various filters for a
specific task
● Analyze a given problem and apply requisite facets of SHELL programming in order
to devise a SHELL script to solve the problem
Mobile Computing (BCE-E706)
Objective:-
This course introduces the basic concepts and principles in mobile computing. This includes
the major techniques involved, and networks & systems issues for the design and
implementation of mobile computing systems and applications. This course also provides an
opportunity for students to understand the key components and technologies involved and to
gain hands-on experiences in building mobile applications.
Outcome: -
● Get familiar with various generations of mobile communications.
● Understand the concept of cellular communication
● Understand the basics of wireless communication
● Get the Knowledge of GSM mobile communication standard, its architecture, logical
channels, advantages, and limitations.
● Develop ability to develop Android Application
IVth Year (VIIIth Semester)
Advance Computer Networks (BCE-E802)
Objective:-
This course aims to provide advanced background on relevant computer networking topics to
have a comprehensive and deep knowledge in computer networks. Laboratory Work: consists
of creating simulated networks and passing packets through them using different routing
techniques.
Outcome: -
● Able to understand computer network basics, network architecture, TCP/IP and OSI
reference models.
● Able to identify and understand various techniques and modes of transmission.
● Able to describe data link protocols, multi-channel access protocols and IEEE 802
standards for LAN.
● Able to describe routing and congestion in network layer with routing algorithms and
classify IPV4 addressing scheme.
● Able to discuss the elements and protocols of transport layer.
● Able to understand network security and define various protocols such as FTP, HTTP,
Telnet, DNS
● Analyze wireless LAN technologies
● Understand internet traffic and plan traffic engineering including IP over ATM and
multimedia over internet
● Design of routing and transport layer protocols for advanced multi hop networks
● Able to identify and discuss the concepts underlying IPv6 protocol, and their main
characteristics and functionality;
● Able to understand the principles and functionality of mobile IP, explaining its
concretization in IPv6; to understand the needs of optimization of the mobility
mechanisms and description of some extensions that aim to reduce handover latency
and requirements from terminals;
● Able to recognize the need for service integration and discuss how it can be
accomplished;
● Able to explain and exemplify current QoS architectures and mechanisms, and the QoS
support challenges in future networks;
● Able to understand and explain the design issues in transport services in face of
applications and services requirements;
● Able to understand theoretical and practical concepts behind the design of
multiconstained applications and services;
● Able to discuss relevant management issues and devise adequate network management
solutions;
● Able to identify and assess possible research opportunities and difficulties within the
course scope.
E-Commerce (BCE-E804)
Objective:-
This course provides an introduction to information systems for business and management. It
is designed to familiarize students with organizational and managerial foundations of systems,
the technical foundation for understanding information systems.
Outcome: -
● Demonstrate an understanding of the foundations and importance of E-commerce
● Demonstrate an understanding of retailing in E-commerce by:
o analyzing branding and pricing strategies,
o using and determining the effectiveness of market research
o assessing the effects of disintermediation.
● Analyze the impact of E-commerce on business models and strategy
● Describe Internet trading relationships including Business to Consumer, Business-to-
Business, Intra-organizational.
● Describe the infrastructure for E-commerce
● Describe the key features of Internet, Intranets and Extranets and explain how they
relate to each other.
● Discuss legal issues and privacy in E-Commerce.
● Assess electronic payment systems.
● Recognize and discuss global E-commerce issues
● Understand the basic concepts and technologies used in the field of management
information systems.
● Have the knowledge of the different types of management information systems.
● Understand the processes of developing and implementing information systems.
● Be aware of the ethical, social, and security issues of information systems.
Natural language Processing (BCE-E807)
Objective:-
This course introduces the fundamental concepts and techniques of natural language processing
(NLP). Students will gain an in-depth understanding of the computational properties of natural
languages and the commonly used algorithms for processing linguistic information. The course
examines NLP models and algorithms using both the traditional symbolic and the more recent
statistical approaches.
Outcome: -
● Understand approaches to syntax and semantics in NLP.
● Understand approaches to discourse, generation, dialogue and summarization within
NLP.
● Understand current methods for statistical approaches to machine translation.
● Understand machine learning techniques used in NLP, including hidden Markov
models and probabilistic context-free grammars, clustering and unsupervised methods,
log-linear and discriminative models, and the EM algorithm as applied within NLP
● Understanding of the fundamental mathematical models and algorithms in the field of
NLP.
● Apply these mathematical models and algorithms in applications in software design and
implementation for NLP.
● Understand the principles of language resource annotation and its use in machine
learning applications and apply the above principles in analysis of data and acquire
intended information through the use of available tools.
● Understand the design and implementation issues in various NLP applications such as
information retrieval and information extraction.
● Understand the complexity of speech and the challenges facing speech engineers.
● Understand the principles of automatic speech recognition and synthesis.
● Problem solving using systematic ways and learning independently.
BIG DATA (BCE-E812)
Objective:-
The main goal of this course is to help students learn, understand, and practice big
data analytics and machine learning approaches, which include the study of modern
computing big data technologies and scaling up machine learning techniques focusing on
industry applications.
Outcome: -
● Ability to identify the characteristics of datasets and compare the trivial data and
big data for various applications.
● Ability to select and implement machine learning techniques and computing
environments that are suitable for the applications under consideration.
● Ability to solve problems associated with batch learning and online learning, and
the big data characteristics such as high dimensionality, dynamically growing data
and in particular scalability issues.
● Ability to understand and apply scaling up machine learning techniques and
associated computing techniques and technologies.
● Ability to recognize and implement various ways of selecting suitable model
parameters for different machine learning techniques.
● Ability to integrate machine learning libraries and mathematical and statistical tools
with modern technologies like Hadoop and map reduce.