R23 Syllabus
R23 Syllabus
R23 Syllabus
PROGRAMME OUTCOMES
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.
PO5: Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling 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.
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.
1
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
P012: 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.
2
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
3
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Design Thinking
9 BS&H 1 0 2 2
&Innovation
Total 14 2 10 21
Mandatory Community Service Project Internship of 08 weeks duration during
summer vacation
4
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
5
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
6
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Note : Student need to do at least ONE MOOC Course (of 3 credits out of 160 credits) to
meet the mandatory requirement (11th criteria, as per R23 Regulations)
7
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
8
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year I Semester L T P C
3 0 0 3
DIGITAL LOGIC & COMPUTER ORGANIZATION
Course Objectives:
The main objectives of the course is to
provide students with a comprehensive understanding of digital logic design
principles and computer organization fundamentals
Describe memory hierarchy concepts
Explain input/output (I/O) systems and their interaction with the CPU, memory, and
peripheral devices
UNIT – I:
Data Representation: Binary Numbers,Fixed Point Representation.Floating Point
Representation. Number base conversions, Octal and Hexadecimal Numbers, components,
Signed binary numbers, Binary codes
Digital Logic Circuits-I: Basic Logic Functions, Logic gates, universal logic gates,
Minimization of Logic expressions. K-Map Simplification, Combinational Circuits,
Decoders, Multiplexers
UNIT – II:
Digital Logic Circuits-II: Sequential Circuits, Flip-Flops, Binary counters, Registers, Shift
Registers, Ripple counters
Basic Structure of Computers:Computer Types, Functional units, Basic operational
concepts, Bus structures, Software, Performance, multiprocessors and multi computers,
Computer Generations,Von- Neumann Architecture
UNIT – III:
Computer Arithmetic : Addition and Subtraction of Signed Numbers, Design of Fast
Adders, Multiplication of Positive Numbers, Signed-operand Multiplication, Fast
Multiplication, Integer Division, Floating-Point Numbers and Operations
Processor Organization: Fundamental Concepts, Execution of a Complete Instruction,
Multiple-Bus Organization, Hardwired Control and Multi programmed Control
UNIT – IV:
The Memory Organization: Basic Concepts, Semiconductor RAM Memories, Read-Only
Memories, Speed, Size and Cost, Cache Memories, Performance Considerations, Virtual
Memories, Memory Management Requirements, Secondary Storage
UNIT – V:
Input/Output Organization: Accessing I/O Devices, Interrupts, Processor Examples, Direct
Memory Access, Buses, Interface Circuits, Standard I/O Interfaces
9
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Textbooks:
1. Computer Organization, Carl Hamacher, ZvonkoVranesic, SafwatZaky, 6th edition,
McGraw Hill
2. Digital Design, 6th Edition, M. Morris Mano, Pearson Education.
3. Computer Organization and Architecture, William Stallings, 11thEdition, Pearson.
Reference Books:
1. Computer Systems Architecture, M.Moris Mano, 3rdEdition, Pearson
2. Computer Organization and Design, David A. Paterson, John L.Hennessy,
Elsevier
3. Fundamentals of Logic Design, Roth, 5thEdition, Thomson
10
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
L T P C
II Year I Semester 3 0 0 3
UNIT – I:
Introduction to Algorithm Analysis, Space and Time Complexity analysis, Asymptotic
Notations.
AVL Trees – Creation, Insertion, Deletion operations and Applications
B-Trees – Creation, Insertion, Deletion operations and Applications
UNIT – II:
Heap Trees (Priority Queues) – Min and Max Heaps, Operations and Applications
Graphs – Terminology, Representations, Basic Search and Traversals, Connected
Components and Biconnected Components, applications
Divide and Conquer: The General Method, Quick Sort, Merge Sort, Strassen’s matrix
multiplication, Convex Hull
UNIT – III:
Greedy Method: General Method, Job Sequencing with deadlines, Knapsack Problem,
Minimum cost spanning trees, Single Source Shortest Paths
Dynamic Programming: General Method, All pairs shortest paths, Single Source Shortest
Paths– General Weights (Bellman Ford Algorithm), Optimal Binary Search Trees, 0/1
Knapsack, String Editing, Travelling Salesperson problem
UNIT – IV:
Backtracking: General Method, 8-Queens Problem, Sum of Subsets problem, Graph
Coloring, 0/1 Knapsack Problem
Branch and Bound: The General Method, 0/1 Knapsack Problem, Travelling Salesperson
problem
UNIT – V:
NP Hard and NP Complete Problems: Basic Concepts, Cook’s theorem
NP Hard Graph Problems: Clique Decision Problem (CDP), Chromatic Number Decision
Problem (CNDP), Traveling Salesperson Decision Problem (TSP)
NP Hard Scheduling Problems: Scheduling Identical Processors, Job Shop Scheduling
11
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Textbooks:
1. Fundamentals of Data Structures in C++, Horowitz, Ellis; Sahni, Sartaj; Mehta,
Dinesh, 2ndEdition Universities Press
2. Computer Algorithms in C++, Ellis Horowitz, SartajSahni, SanguthevarRajasekaran,
2nd Edition University Press
Reference Books:
1. Data Structures and program design in C, Robert Kruse, Pearson Education Asia
2. An introduction to Data Structures with applications, Trembley& Sorenson, McGraw
Hill
3. The Art of Computer Programming, Vol.1: Fundamental Algorithms, Donald E Knuth,
Addison-Wesley, 1997.
4. Data Structures using C & C++: Langsam, Augenstein&Tanenbaum, Pearson, 1995
5. Algorithms + Data Structures & Programs:, N.Wirth, PHI
6. Fundamentals of Data Structures in C++: Horowitz Sahni& Mehta, Galgottia Pub.
7. Data structures in Java:, Thomas Standish, Pearson Education Asia
12
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year I Semester L T P C
3 0 0 3
OBJECT ORIENTED PROGRAMMING THROUGH JAVA
Course Objectives:
UNIT I
Object Oriented Programming: Basic concepts, Principles,
Program Structure in Java: Introduction, Writing Simple Java Programs, Elements or Tokens
in Java Programs, Java Statements, Command Line Arguments, User Input to Programs,
Escape Sequences Comments, Programming Style.
Data Types, Variables, and Operators :Introduction, Data Types in Java, Declaration of
Variables, Data Types, Type Casting, Scope of Variable Identifier, Literal Constants,
Symbolic Constants, Formatted Output with printf() Method, Static Variables and Methods,
Attribute Final, Introduction to Operators, Precedence and Associativity of Operators,
Assignment Operator ( = ), Basic Arithmetic Operators, Increment (++) and Decrement (- -)
Operators, Ternary Operator, Relational Operators, Boolean Logical Operators, Bitwise
Logical Operators.
Control Statements:Introduction, if Expression, Nested if Expressions, if–else Expressions,
Ternary Operator?:, Switch Statement, Iteration Statements, while Expression, do–while
Loop, for Loop, Nested for Loop, For–Each for Loop, Break Statement, Continue Statement.
UNIT II
Classes and Objects: Introduction, Class Declaration and Modifiers, Class Members,
Declaration of Class Objects, Assigning One Object to Another, Access Control for Class
Members, Accessing Private Members of Class, Constructor Methods for Class, Overloaded
Constructor Methods, Nested Classes, Final Class and Methods, Passing Arguments by Value
and by Reference, Keyword this.
Methods: Introduction, Defining Methods, Overloaded Methods, Overloaded Constructor
Methods, Class Objects as Parameters in Methods, Access Control, Recursive Methods,
Nesting of Methods, Overriding Methods, Attributes Final and Static.
13
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
UNIT III
Arrays: Introduction, Declaration and Initialization of Arrays, Storage of Array in Computer
Memory, Accessing Elements of Arrays, Operations on Array Elements, Assigning Array to
Another Array, Dynamic Change of Array Size, Sorting of Arrays, Search for Values in
Arrays, Class Arrays, Two-dimensional Arrays, Arrays of Varying Lengths, Three-
dimensional Arrays, Arrays as Vectors.
Inheritance:Introduction, Process of Inheritance, Types of Inheritances, Universal Super
Class-Object Class, Inhibiting Inheritance of Class Using Final, Access Control and
Inheritance, Multilevel Inheritance, Application of Keyword Super, Constructor Method and
Inheritance, Method Overriding, Dynamic Method Dispatch, Abstract Classes, Interfaces and
Inheritance.
Interfaces:Introduction, Declaration of Interface, Implementation of Interface, Multiple
Interfaces, Nested Interfaces, Inheritance of Interfaces, Default Methods in Interfaces, Static
Methods in Interface, Functional Interfaces, Annotations.
UNIT IV
Packages and Java Library:Introduction, Defining Package, Importing Packages and
Classes into Programs, Path and Class Path, Access Control, Packages in Java SE, Java.lang
Package and its Classes, Class Object, Enumeration, class Math, Wrapper Classes, Auto-
boxing and Auto-unboxing, Java util Classes and Interfaces, Formatter Class, Random Class,
Time Package, Class Instant (java.time.Instant), Formatting for Date/Time in Java, Temporal
Adjusters Class, Temporal Adjusters Class.
Exception Handling: Introduction, Hierarchy of Standard Exception Classes, Keywords
throws and throw, try, catch, and finally Blocks, Multiple Catch Clauses, Class Throwable,
Unchecked Exceptions, Checked Exceptions.
Java I/O and File: Java I/O API, standard I/O streams, types, Byte streams, Character
streams, Scanner class, Files in Java(Text Book 2)
UNIT V
String Handling in Java:Introduction, Interface Char Sequence, Class String, Methods for
Extracting Characters from Strings,Comparison, Modifying, Searching; Class String Buffer.
Multithreaded Programming:Introduction, Need for Multiple Threads Multithreaded
Programming for Multi-core Processor, Thread Class, Main Thread-Creation of New
Threads, Thread States, Thread Priority-Synchronization, Deadlock and Race Situations,
Inter-thread Communication - Suspending, Resuming, and Stopping of Threads.
Java Database Connectivity:Introduction, JDBC Architecture, Installing MySQL and
MySQL Connector/J, JDBC Environment Setup, Establishing JDBC Database Connections,
ResultSet Interface
Java FX GUI: Java FX Scene Builder, Java FX App Window Structure, displaying text and
image, event handling, laying out nodes in scene graph, mouse events (Text Book 3)
14
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Text Books:
1) JAVA one step ahead, Anitha Seth, B.L.Juneja, Oxford.
2) Joy with JAVA, Fundamentals of Object Oriented Programming, DebasisSamanta,
MonalisaSarma, Cambridge, 2023.
3) JAVA 9 for Programmers, Paul Deitel, Harvey Deitel, 4th Edition, Pearson.
References Books:
1) The complete Reference Java, 11thedition, Herbert Schildt,TMH
2) Introduction to Java programming, 7th Edition, Y Daniel Liang, Pearson
Online Resources:
1) https://nptel.ac.in/courses/106/105/106105191/
2) https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_012880464547618
816347_shared/overview
15
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year I Semester L T P C
0 0 3 1.5
ADVANCED DATA STRUCTURES & ALGORITHM ANALYSIS LAB
Course Objectives:
The objectives of the course is to
acquire practical skills in constructing and managing Data structures
apply the popular algorithm design methods in problem-solving scenarios
Sample Programs:
1. Construct an AVL tree for a given set of elements which are stored in a file. And
implement insert and delete operation on the constructed tree. Write contents of tree
into a new file using in-order.
2. Construct B-Tree an order of 5 with a set of 100 random elements stored in array.
Implement searching, insertion and deletion operations.
3. Construct Min and Max Heap using arrays, delete any element and display the content
of the Heap.
4. Implement BFT and DFT for given graph, when graph is represented by
a) Adjacency Matrix b) Adjacency Lists
5. Write a program for finding the biconnected components in a given graph.
6. Implement Quick sort and Merge sort and observe the execution time for various input
sizes (Average, Worst and Best cases).
7. Compare the performance of Single Source Shortest Paths using Greedy method when
the graph is represented by adjacency matrix and adjacency lists.
8. Implement Job Sequencing with deadlines using Greedy strategy.
9. Write a program to solve 0/1 Knapsack problem Using Dynamic Programming.
10. Implement N-Queens Problem Using Backtracking.
11. Use Backtracking strategy to solve 0/1 Knapsack problem.
12. Implement Travelling Sales Person problem using Branch and Bound approach.
16
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Reference Books:
1. Fundamentals of Data Structures in C++, Horowitz Ellis, SahniSartaj, Mehta, Dinesh,
2ndEdition, Universities Press
2. Computer Algorithms/C++ Ellis Horowitz, SartajSahni, SanguthevarRajasekaran,
2ndEdition, University Press
3. Data Structures and program design in C, Robert Kruse, Pearson Education Asia
4. An introduction to Data Structures with applications, Trembley& Sorenson, McGraw
Hill
17
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year I Semester L T P C
0 0 3 1.5
OBJECT ORIENTED PROGRAMMING THROUGH JAVA LAB
Course Objectives:
The aim of this course is to
Practice object oriented programming in the Java programming language
Implement Classes, Objects, Methods, Inheritance, Exception, Runtime
Polymorphism, User defined Exception handling mechanism
Illustrate inheritance, Exception handling mechanism, JDBC connectivity
Construct Threads, Event Handling, implement packages, Java FX GUI
Sample Experiments:
Exercise – 1:
a) Write a JAVA program to display default value of all primitive data type of JAVA
b) Write a java program that display the roots of a quadratic equation ax2+bx=0. Calculate the
discriminate D and basing on value of D, describe the nature of root.
Exercise - 2
a) Write a JAVA program to search for an element in a given list of elements using binary
search mechanism.
b) Write a JAVA program to sort for an element in a given list of elements using bubble sort
c) Write a JAVA program using StringBuffer to delete, remove character.
Exercise - 3
a) Write a JAVA program to implement class mechanism. Create a class, methods and invoke
them inside main method.
b) Write a JAVA program implement method overloading.
c) Write a JAVA program to implement constructor.
d)Write a JAVA program to implement constructor overloading.
Exercise - 4
a) Write a JAVA program to implement Single Inheritance
b) Write a JAVA program to implement multi level Inheritance
c) Write a JAVA program for abstract class to find areas of different shapes
18
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Exercise - 5
a) Write a JAVA program give example for “super” keyword.
b) Write a JAVA program to implement Interface. What kind of Inheritance can be achieved?
c) Write a JAVA program that implements Runtime polymorphism
Exercise - 6
a) Write a JAVA program that describes exception handling mechanism
b) Write a JAVA program Illustrating Multiple catch clauses
c) Write a JAVA program for creation of Java Built-in Exceptions
d) Write a JAVA program for creation of User Defined Exception
Exercise - 7
a) Write a JAVA program that creates threads by extending Thread class.First thread display
“Good Morning “every 1 sec, the second thread displays “Hello “every 2 seconds and the
third display “Welcome” every 3 seconds,(Repeat the same by implementing Runnable)
b) Write a program illustrating is Alive and join ()
c) Write a Program illustrating Daemon Threads.
d) Write a JAVA program Producer Consumer Problem
Exercise – 8
a) Write a JAVA program that import and use the user defined packages
b) Without writing any code, build a GUI that display text in label and image in an
ImageView (use JavaFX)
c) Build a Tip Calculator app using several JavaFX components and learn how to respond to
user interactions with the GUI
Exercise – 9
a) Write a java program that connects to a database using JDBC
b)Write a java program to connect to a database using JDBC and insert values into it.
c) Write a java program to connect to a database using JDBC and delete values from it
19
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
L T P C
II Year I Semester 0 1 2 2
PYTHON PROGRAMMING (SKILL ENHANCEMENT COURSE)
Course Objectives:
The main objectives of the course are to
• Introduce core programming concepts of Python programming language.
• Demonstrate about Python data structures like Lists, Tuples, Sets and dictionaries
• Implement Functions, Modules and Regular Expressions in Python Programming and
to create practical and contemporary applications using these
UNTI-I:
History of Python Programming Language, Thrust Areas of Python, Installing Anaconda
Python Distribution, Installing and Using Jupyter Notebook.
Parts of Python Programming Language: Identifiers, Keywords, Statements and Expressions,
Variables, Operators, Precedence and Associativity, Data Types, Indentation, Comments,
Reading Input, Print Output, Type Conversions, the type () Function and Is Operator,
Dynamic and Strongly Typed Language.
Control Flow Statements: if statement, if-else statement, if...elif…else, Nested if statement,
while Loop, for Loop, continue and break Statements, Catching Exceptions Using try and
except Statement.
Sample Experiments:
1. Write a program to find the largest element among three Numbers.
2. Write a Program to display all prime numbers within an interval
3. Write a program to swap two numbers without using a temporary variable.
4. Demonstrate the following Operators in Python with suitable examples.
i) Arithmetic Operators ii) Relational Operators iii) Assignment Operatorsiv) Logical
Operators v) Bit wise Operators vi) Ternary Operator vii) Membership Operatorsviii)
Identity Operators
5. Write a program to add and multiply complex numbers
6. Write a program to print multiplication table of a given number.
UNIT-II:
Functions: Built-In Functions, Commonly Used Modules, Function Definition and Calling the
function, return Statement and void Function, Scope and Lifetime of Variables, Default
Parameters, Keyword Arguments, *args and **kwargs, Command Line Arguments.
Strings: Creating and Storing Strings, Basic String Operations, Accessing Characters in String
by Index Number, String Slicing and Joining, String Methods, Formatting Strings.
Lists: Creating Lists, Basic List Operations, Indexing and Slicing in Lists, Built-In Functions
Used on Lists, List Methods, del Statement.
Sample Experiments:
1. Write a program to define a function with multiple return values.
20
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
UNIT-III:
Dictionaries: Creating Dictionary, Accessing and Modifying key:value Pairs in Dictionaries,
Built-In Functions Used on Dictionaries, Dictionary Methods, del Statement.
Tuples and Sets: Creating Tuples, Basic Tuple Operations, tuple() Function, Indexing and
Slicing in Tuples, Built-In Functions Used on Tuples, Relation between Tuples and Lists,
Relation between Tuples and Dictionaries, Using zip() Function, Sets, Set Methods,
Frozenset.
Sample Experiments:
1. Write a program to create tuples (name, age, address, college) for at least two
members and concatenate the tuples and print the concatenated tuples.
2. Write a program to count the number of vowels in a string (No control flow allowed).
3. Write a program to check if a given key exists in a dictionary or not.
4. Write a program to add a new key-value pair to an existing dictionary.
5. Write a program to sum all the items in a given dictionary.
UNIT-IV:
Files: Types of Files, Creating and Reading Text Data, File Methods to Read and Write Data,
Reading and Writing Binary Files, Pickle Module, Reading and Writing CSV Files, Python os
and os.path Modules.
Object-Oriented Programming: Classes and Objects, Creating Classes in Python, Creating
Objects in Python, Constructor Method, Classes with Multiple Objects, Class Attributes Vs
Data Attributes, Encapsulation, Inheritance, Polymorphism.
Sample Experiments:
1. Write a program to sort words in a file and put them in another file. The output file
should have only lower-case words, so any upper-case words from source must be
lowered.
2. Python program to print each line of a file in reverse order.
3. Python program to compute the number of characters, words and lines in a file.
4. Write a program to create, display, append, insert and reverse the order of the items
in the array.
5. Write a program to add, transpose and multiply two matrices.
6. Write a Python program to create a class that represents a shape. Include methods to
calculate its area and perimeter. Implement subclasses for different shapes like circle,
triangle, and square.
21
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
UNIT-V:
Introduction to Data Science: Functional Programming, JSON and XML in Python, NumPy
with Python, Pandas.
Sample Experiments:
1. Python program to check whether a JSON string contains complex object or not.
2. Python Program to demonstrate NumPy arrays creation using array () function.
3. Python program to demonstrate use of ndim, shape, size, dtype.
4. Python program to demonstrate basic slicing, integer and Boolean indexing.
5. Python program to find min, max, sum, cumulative sum of array
6. Create a dictionary with at least five keys and each key represent value as a list where
this list contains at least ten values and convert this dictionary as a pandas data frame
and explore the data through the data frame as follows:
a) Apply head () function to the pandas data frame
b) Perform various data selection operations on Data Frame
7. Select any two columns from the above data frame, and observe the change in one
attribute with respect to other attribute with scatter and plot operations in matplotlib
Reference Books:
1. Gowrishankar S, Veena A., Introduction to Python Programming, CRC Press.
2. Python Programming, S Sridhar, J Indumathi, V M Hariharan, 2ndEdition, Pearson,
2024
3. Introduction to Programming Using Python, Y. Daniel Liang, Pearson.
22
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year II Semester L T P C
3 0 0 3
OPERATING SYSTEMS
Course Objectives:
The main objectives of the course is to make student
Understand the basic concepts and principles of operating systems, including process
management, memory management, file systems, and Protection
Make use of process scheduling algorithms and synchronization techniques to achieve
better performance of a computer system.
Illustrate different conditions for deadlock and their possible solutions.
UNIT - I
Operating Systems Overview: Introduction, Operating system functions, Operating systems
operations, Computing environments, Free and Open-Source Operating Systems
System Structures: Operating System Services, User and Operating-System Interface, system
calls, Types of System Calls, system programs, Operating system Design and
Implementation, Operating system structure, Building and Booting an Operating System,
Operating system debugging
UNIT - II
Processes: Process Concept, Process scheduling, Operations on processes, Inter-process
communication.
Threads and Concurrency: Multithreading models, Thread libraries, Threading issues.
CPU Scheduling: Basic concepts, Scheduling criteria, Scheduling algorithms, Multiple
processor scheduling.
UNIT – III
Synchronization Tools: The Critical Section Problem, Peterson’s Solution, Mutex Locks,
Semaphores, Monitors, Classic problems of Synchronization.
Deadlocks: system Model, Deadlock characterization, Methods for handling Deadlocks,
Deadlock prevention, Deadlock avoidance, Deadlock detection, Recovery from Deadlock.
UNIT - IV
Memory-Management Strategies: Introduction, Contiguous memory allocation, Paging,
Structure of the Page Table, Swapping.
Virtual Memory Management: Introduction, Demand paging, Copy-on-write, Page
replacement, Allocation of frames, Thrashing
Storage Management: Overview of Mass Storage Structure, HDD Scheduling.
UNIT - V
File System: File System Interface: File concept, Access methods, Directory Structure; File
system Implementation: File-system structure, File-system Operations, Directory
implementation, Allocation method, Free space management; File-System Internals: File-
System Mounting, Partitions and Mounting, File Sharing.
23
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Text Books:
1. Operating System Concepts, Silberschatz A, Galvin P B, Gagne G, 10 th Edition,
Wiley, 2018.
2. Modern Operating Systems, Tanenbaum A S, 4th Edition, Pearson , 2016
Reference Books:
1. Operating Systems -Internals and Design Principles, Stallings W, 9th edition, Pearson,
2018
2. Operating Systems: A Concept Based Approach, D.M Dhamdhere, 3rd Edition,
McGraw- Hill, 2013
24
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
L T P C
II Year II Semester 3 0 0 3
DATABASE MANAGEMENT SYSTEMS
Course Objectives:
The main objectives of the course is to
Introduce database management systems and to give a good formal foundation on the
relational model of data and usage of Relational Algebra
Introduce the concepts of basic SQL as a universal Database language
Demonstrate the principles behind systematic database design approaches by covering
conceptual design, logical design through normalization
Provide an overview of physical design of a database system, by discussing Database
indexing techniques and storage techniques
UNIT I:
Introduction: Database system, Characteristics (Database Vs File System), Database Users,
Advantages of Database systems, Database applications. Brief introduction of different Data
Models; Concepts of Schema, Instance and data independence; Three tier schema
architecture for data independence; Database system structure, environment, Centralized and
Client Server architecture for the database.
Entity Relationship Model: Introduction, Representation of entities, attributes, entity set,
relationship, relationship set, constraints, sub classes, super class, inheritance, specialization,
generalization using ER Diagrams.
UNIT II:
Relational Model: Introduction to relational model, concepts of domain, attribute, tuple,
relation, importance of null values, constraints (Domain, Key constraints, integrity
constraints) and their importance, Relational Algebra, Relational Calculus. BASIC
SQL:Simple Database schema, data types, table definitions (create, alter), different DML
operations (insert, delete, update).
UNIT III:
SQL:Basic SQL querying (select and project) using where clause, arithmetic & logical
operations, SQL functions(Date and Time, Numeric, String conversion).Creating tables with
relationship, implementation of key and integrity constraints, nested queries, sub queries,
grouping, aggregation, ordering, implementation of different types of joins, view(updatable
and non-updatable), relational set operations.
UNIT IV:
Schema Refinement (Normalization):Purpose of Normalization or schema refinement,
concept of functional dependency, normal forms based on functional dependencyLossless
join and dependency preserving decomposition, (1NF, 2NF and 3 NF), concept of surrogate
key, Boyce-Coddnormal form(BCNF), MVD, Fourth normal form(4NF), Fifth Normal Form
(5NF).
25
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
UNIT V:
Transaction Concept: Transaction State, ACID properties, Concurrent Executions,
Serializability, Recoverability, Implementation of Isolation, Testing for Serializability, lock
based, time stamp based, optimistic, concurrency protocols, Deadlocks, Failure Classification,
Storage, Recovery and Atomicity, Recovery algorithm.
Introduction to Indexing Techniques: B+ Trees, operations on B+Trees, Hash Based
Indexing:
Text Books:
1) Database Management Systems, 3rd edition, Raghurama Krishnan, Johannes Gehrke,
TMH (For Chapters 2, 3, 4)
2) Database System Concepts,5th edition, Silberschatz, Korth, Sudarsan,TMH (For
Chapter 1 and Chapter 5)
Reference Books:
1) Introduction to Database Systems, 8thedition, C J Date, Pearson.
2) Database Management System, 6th edition, RamezElmasri, Shamkant B. Navathe,
Pearson
3) Database Principles Fundamentals of Design Implementation and Management,
Corlos Coronel, Steven Morris, Peter Robb, Cengage Learning.
Web-Resources:
1) https://nptel.ac.in/courses/106/105/106105175/
2) https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_012758066672820
22456_shared/overview
26
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
L T P C
II Year II Semester 3 0 0 3
SOFTWARE ENGINEERING
Course Objectives:
The objectives of this course are to introduce
Software life cycle models, Software requirements and SRS document.
Project Planning, quality control and ensuring good quality software.
Software Testing strategies, use of CASE tools, Implementation issues, validation
&verification procedures.
UNIT I:
Introduction: Evolution, Software development projects, Exploratory style of software
developments, Emergence of software engineering, Notable changes in software development
practices, Computer system engineering.
Software Life Cycle Models: Basic concepts, Waterfall model and its extensions, Rapid
application development, Agile development model, Spiral model.
UNIT II:
Software Project Management: Software project management complexities,
Responsibilities of a software project manager, Metrics for project size estimation, Project
estimation techniques, Empirical Estimation techniques, COCOMO, Halstead’s software
science, risk management.
Requirements Analysis And Specification: Requirements gathering and analysis, Software
Requirements Specification (SRS), Formal system specification, Axiomatic specification,
Algebraic specification, Executable specification and 4GL.
UNIT III:
Software Design: Overview of the design process, How to characterize a good software
design? Layered arrangement of modules, Cohesion and Coupling.approaches to software
design.
Agility: Agility and the Cost of Change, Agile Process, Extreme Programming (XP), Other
Agile Process Models, Tool Set for the Agile Process (Text Book 2)
Function-Oriented Software Design: Overview of SA/SD methodology, Structured
analysis, Developing the DFD model of a system, Structured design, Detailed design, and
Design Review.
User Interface Design: Characteristics of a good user interface, Basic concepts, Types of
user interfaces, Fundamentals of component-based GUI development, and user interface
design methodology.
UNIT IV:
Coding And Testing: Coding, Code review, Software documentation, Testing, Black-box
testing, White-Box testing, Debugging, Program analysis tools, Integration testing, Testing
object-oriented programs, Smoke testing, and Some general issues associated with testing.
27
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
UNIT V:
Computer-Aided Software Engineering (Case): CASE and its scope, CASE environment,
CASE support in the software life cycle, other characteristics of CASE tools, Towards second
generation CASE Tool, and Architecture of a CASE Environment.
Software Maintenance: Characteristics of software maintenance, Software reverse
engineering, Software maintenance process models and Estimation of maintenance cost.
Software Reuse: reuse- definition, introduction, reason behind no reuse so far, Basic issues
in any reuse program, A reuse approach, and Reuse at organization level.
Text Books:
1. Fundamentals of Software Engineering, Rajib Mall, 5th Edition,PHI.
2. Software Engineering A practitioner’s Approach, Roger S. Pressman, 9th Edition, Mc-
Graw Hill International Edition.
Reference Books:
1. Software Engineering, Ian Sommerville,10thEdition, Pearson.
2. SoftwareEngineering, PrinciplesandPractices, Deepak Jain, Oxford University
Press.
e-Resources:
1) https://nptel.ac.in/courses/106/105/106105182/
2) https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_012605895063871
48827_shared/overview
3) https://infyspringboard.onwingspan.com/web/en/app/toc/lex_auth_013382690411003
904735_shared/overview
28
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year II Semester L T P C
0 0 3 1.5
OPERATING SYSTEMS LAB
Course Objectives:
The main objectives of the course are to
Provide insights into system calls, file systems, semaphores,
Develop and debug CPU Scheduling algorithms, page replacement algorithms, thread
implementation
Implement Bankers Algorithms to Avoid the Dead Lock
Sample Experiments:
1. Practicing of Basic UNIX Commands.
2. Write programs using the following UNIX operating system calls
fork, exec, getpid, exit, wait, close, stat, opendir and readdir
3. Simulate UNIX commands like cp, ls, grep, etc.,
4. Simulate the following CPU scheduling algorithms
a) FCFS b) SJF c) Priority d) Round Robin
5. Control the number of ports opened by the operating system with
a) Semaphore b) Monitors.
6. Write a program to illustrate concurrent execution of threads using pthreads library.
7. Write a program to solve producer-consumer problem using Semaphores.
8. Implement the following memory allocation methods for fixed partition
a) First fit b) Worst fit c) Best fit
9. Simulate the following page replacement algorithms
a) FIFO b) LRU c) LFU
10. Simulate Paging Technique of memory management.
11. Implement Bankers Algorithm for Dead Lock avoidance and prevention
12. Simulate the following file allocation strategies
a) Sequential b) Indexed c) Linked
13. Download and install nachos operating system and experiment with it
Reference Books:
1. Operating System Concepts, Silberschatz A, Galvin P B, Gagne G, 10th Edition, Wiley,
2018.
2. Modern Operating Systems, Tanenbaum A S, 4th Edition, Pearson, 2016
3. Operating Systems -Internals and Design Principles, Stallings W, 9th edition, Pearson,
29
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
2018
4. Operating Systems: A Concept Based Approach, D.M Dhamdhere, 3rd Edition,
McGraw- Hill, 2013
30
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
II Year II Semester L T P C
0 0 3 1.5
DATABASE MANAGEMENT SYSTEMS LAB
Course Objectives:
This Course will enable students to
Populate and query a database using SQL DDL/DML Commands
Declare and enforce integrity constraints on a database
Writing Queries using advanced concepts of SQL
Programming PL/SQL including procedures, functions, cursors and triggers
Sample Experiments:
1. Creation, altering and droping of tables and inserting rows into a table (use constraints
while creating tables) examples using SELECT command.
2. Queries (along with sub Queries) using ANY, ALL, IN, EXISTS, NOTEXISTS,
UNION, INTERSET, Constraints. Example:- Select the roll number and name of the
student who secured fourth rank in the class.
3. Queries using Aggregate functions (COUNT, SUM, AVG, MAX and MIN), GROUP
BY, HAVING and Creation and dropping of Views.
4. Queries using Conversion functions (to_char, to_number and to_date), string
functions (Concatenation, lpad, rpad, ltrim, rtrim, lower, upper, initcap, length, substr
and instr), date functions (Sysdate, next_day, add_months, last_day, months_between,
least, greatest, trunc, round, to_char, to_date)
5.
i. Create a simple PL/SQL program which includes declaration section,
executable section and exception –Handling section (Ex. Student marks can be
selected from the table and printed for those who secured first class and an
exception can be raised if no records were found)
ii. Insert data into student table and use COMMIT, ROLLBACK and
SAVEPOINT in PL/SQL block.
6. Develop a program that includes the features NESTED IF, CASE and CASE
expression. The program can be extended using the NULLIF and COALESCE
functions.
7. Program development using WHILE LOOPS, numeric FOR LOOPS, nested loops
using ERROR Handling, BUILT –IN Exceptions, USE defined Exceptions, RAISE-
APPLICATION ERROR.
31
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
32
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
L T P C
II Year II Semester
0 1 2 2
FULL STACK DEVELOPMENT – 1(SKILL ENHANCEMENT COURSE)
Course Objectives:
The main objectives of the course are to
Make use of HTML elements and their attributes for designing static web pages
Build a web page by applying appropriate CSS styles to HTML elements
Experiment with JavaScript to develop dynamic web pages and validate forms
Sample Experiments:
33
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
4. Selector forms
a. Write a program to apply different types of selector forms
i. Simple selector (element, id, class, group, universal)
ii. Combinator selector (descendant, child, adjacent sibling, general sibling)
iii. Pseudo-class selector
iv. Pseudo-element selector
v. Attribute selector
5. CSS with Color, Background, Font, Text and CSS Box Model
a. Write a program to demonstrate the various ways you can reference a color in CSS.
b. Write a CSS rule that places a background image halfway down the page, tilting it
horizontally. The image should remain in place when the user scrolls up or down.
c. Write a program using the following terms related to CSS font and text:
i. font-size ii. font-weight iii. font-style
iv. text-decoration v. text-transformation vi. text-alignment
d. Write a program, to explain the importance of CSS Box model using
i. Content ii. Border iii. Margin iv. padding
35
JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY KAKINADA
KAKINADA – 533 003, Andhra Pradesh, India
COMPUTER SCIENCE ENGINEERING (R23-COURSE STRUCTURE & SYLLABUS)
Text Books:
1. Programming the World Wide Web, 7th Edition, Robet W Sebesta, Pearson, 2013.
2. Web Programming with HTML5, CSS and JavaScript, John Dean, Jones & Bartlett
Learning, 2019 (Chapters 1-11).
3. Pro MERN Stack: Full Stack Web App Development with Mongo, Express, React, and
Node, Vasan Subramanian, 2nd edition, APress, O’Reilly.
Web Links:
1. https://www.w3schools.com/html
2. https://www.w3schools.com/css
3. https://www.w3schools.com/js/
4. https://www.w3schools.com/nodejs
36