40 Computer Science Minor
40 Computer Science Minor
Computer Science:MINOR
w.e.f 2023-24 onwards
COURSE STRUCTURE
Y Sem Cou Title No.
e ester rse Hrs./ No. of
a Week Credits
r
I II Problem Solving using C - (T) 3 3
1
Problem Solving using C- (P) 2 1
III Object Oriented Programming using Java- (T) 3 3
2
Object Oriented Programming using Java- (P) 2 1
Database Management System 3 3
3
Database Management System 2 1
Object Oriented Software Engineering 3 3
I 4
Object Oriented Software Engineering 2 1
I Web Applications Development using PHP & 3 3
IV MYSQL
5
Web Applications Development using PHP & 2 1
MYSQL
Internet of Things 3 3
6
Internet of Things 2 1
Computer Science Minor: II Semester
Course 1: Problem Solving using C
Credits -3
Course Objectives
1. To explore basic knowledge on computers
2. Learn how to solve common types of computing problems.
3. Learn to map problems to programming features of C.
4. Learn to write good portable C programs.
Course Outcomes
Upon successful completion of the course, a student will be able to:
1. Understand the working of a digital computer and Fundamental constructs of Programming
2. Analyze and develop a solution to a given problem with suitable control structures
3. Apply the derived data types in program solutions
4. Use the ‘C’ language constructs in the right way
5. Apply the Dynamic Memory Management for effective memory utilization
UNIT-I
Introduction to computer and programming: Introduction, Basic block diagram and functions of
various components of computer, Concepts of Hardware and software, Types of software, Compiler
and interpreter, Concepts of Machine level, Assembly level and high-level programming, Flowcharts
and Algorithms
Fundamentals of C: History of C, Features of C, C Tokens-variables and keywords and identifiers,
constants and Data types, Rules for constructing variable names, Operators, Structure of C program,
Input /output statements in C-Formatted and Unformatted I/O
UNIT-II
Control statements: Decision making statements: if, if else, else if ladder, switch statements. Loop
control statements: while loop, for loop and do-while loop. Jump Control statements: break, continue
and goto.
UNIT-III
Derived data types in C: Arrays: One Dimensional arrays - Declaration, Initialization and Memory
representation; Two Dimensional arrays -Declaration, Initialization and Memory representation.
Strings: Declaring & Initializing string variables; String handling functions, Character handling
functions
UNIT-IV
Functions: Function Prototype, definition and calling. Return statement. Nesting of functions.
Categories of functions. Recursion, Parameter Passing by address & by value. Local and Global
variables. Storage classes: automatic, external, static and register.
Pointers: Pointer data type, Pointer declaration, initialization, accessing values using pointers.
Pointer arithmetic. Pointers and arrays, pointers and functions.
UNIT-V
Dynamic Memory Management: Introduction, Functions-malloc, calloc, realloc, free Structures:
Basics of structure, structure members, accessing structure members, nested structures, array of
structures, structure and functions, structures and pointers. Unions - Union definition; difference
between Structures and Unions.
Text Books:
1. E. Balagurusamy, “Programming in ANSI C”, Tata McGraw Hill, 6th Edn, ISBN-13: 978- 1-
25- 90046-2
2. Herbert Schildt, ―Complete Reference with C, Tata McGraw Hill, 4th Edn., ISBN- 13:
9780070411838, 2000
3. Computer fundamentals and programming in C, REEMA THAREJA, OXFORD
UNIVERSITY PRESS
Reference Books
1. E Balagurusamy, COMPUTING FUNDAMENTALS & C PROGRAMMING – Tata
McGraw-Hill, Second Reprint 2008, ISBN 978-0-07-066909-3.
2. Ashok N Kamthane, Programming with ANSI and Turbo C, Pearson Edition Publ, 2002.
3. Henry Mullish&Huubert L.Cooper: The Spirit of C An Introduction to modern
Programming, Jaico Pub. House,1996.
4. Y kanithkar, let us C BPB, 13 th edition-2013, ISBN:978-8183331630,656 pages.
List of Experiments
Credits -3
Course Objectives
To introduce the fundamental concepts of Object-Oriented programming and to design &
implement object-oriented programming concepts in Java.
Course Outcomes
Upon successful completion of the course, a student will be able to:
1. Understand the basic concepts of Object-Oriented Programming and Java Program
Constructs
2. Implement classes and objects and analyze Inheritance and Dynamic Method Dispatch
3. Demonstrate various classes in different packages and can design own packages
4. Manage Exceptions and Apply Threads
5. Create GUI screens along with event handling
UNIT-I
OOPs Concepts and Java Programming: Introduction to Object-Oriented concepts, procedural
and object-oriented programming paradigm
Java programming: An Overview of Java, Java Environment, Data types, Variables, constants,
scope and life time of variables, operators, type conversion and casting, Accepting Input from the
Keyboard, Reading Input with Java.util.Scanner Class, Displaying Output with
System.out.printf(), Displaying Formatted Output with String.format(), Control Statements
UNIT-II
Arrays, Command Line Arguments, Strings-String Class Methods
Classes & Objects: Creating Classes, declaring objects, Methods, parameter passing, static fields
and methods, Constructors, and ‘this’ keyword, overloading methods and access
Inheritance: Inheritance hierarchies, super and subclasses, member access rules, ‘super’ keyword,
preventing inheritance: final classes and methods, the object class and its methods;
Polymorphism: Dynamic binding, method overriding, abstract classes and methods;
UNIT-III
Interface: Interfaces VS Abstract classes, defining an interface, implement interfaces, accessing
implementations through interface references, extending interface;
Packages: Defining, creating and accessing a package, understanding CLASSPATH, importing
packages.
Exception Handling: Benefits of exception handling, the classification of exceptions, exception
hierarchy, checked exceptions and unchecked exceptions, usage of try, catch, throw, throws and
finally, rethrowing exceptions, exception specification, built in exceptions, creating own exception
sub classes.
NIT-IV
Multithreading: Differences between multiple processes and multiple threads, thread states,
thread life cycle, creating threads, interrupting threads, thread priorities, synchronizing threads,
inter thread communication.
Stream based I/O (java.io) – The Stream classes-Byte streams and Character streams, Reading
console Input and Writing Console Output, File class, Reading and writing Files, The Console
class, Serialization
UNIT-V
GUI Programming with Swing- Introduction, MVC architecture, components, containers.
Understanding Layout Managers - Flow Layout, Border Layout, Grid Layout, Card Layout, Grid
Bag Layout.
Event Handling- The Delegation event model- Events, Event sources, Event Listeners, Event
classes, Handling mouse and keyboard events, Adapter classes, Inner classes, Anonymous Inner
classes.
Text Books:
1. Java The complete reference, 9th edition, Herbert Schildt, McGraw Hill.
2. Understanding Object-Oriented Programming with Java, updated edition, T.
Budd, Pearson Education.
Reference Books
1. Cay S. Horstmann, “Core Java Fundamentals”, Volume 1, 11 th Edition, Prentice Hall,
2018.
2. Paul Deitel, Harvey Deitel, “Java SE 8 for programmers”, 3rd Edition, Pearson, 2015.
3. S. Malhotra, S. Chudhary, Programming in Java, 2nd edition, Oxford Univ. Press.
Credits -1
List of Experiments
1. Write a Java program to print Fibonacci series using for loop.
2. Write a Java program to calculate multiplication of 2 matrices.
3. Create a class Rectangle. The class has attributes length and width. It should have methods
that calculate the perimeter and area of the rectangle. It should have read Attributes method to
read length and width from user.
4. Write a Java program that implements method overloading.
5. Write a Java program for sorting a given list of names in ascending order.
6. Write a Java program that displays the number of characters, lines and words in a text file.
7. Write a Java program to implement various types of inheritance
i. Single ii. Multi-Level iii. Hierarchical iv. Hybrid
8. Write a java program to implement runtime polymorphism.
9. Write a Java program which accepts withdraw amount from the user and throws an exception
“In Sufficient Funds” when withdraw amount more than available amount.
10. Write a Java program to create three threads and that displays “good morning”, for every one
second, “hello” for every 2 seconds and “welcome” for every 3 seconds by using extending
Thread class.
11. Write a Java program that creates three threads. First thread displays “OOPS”, the second thread
displays “Through” and the third thread Displays “JAVA” by using Runnable interface.
12. Implement a Java program for handling mouse events when the mouse entered, exited, clicked,
pressed, released, dragged and moved in the client area.
13. Implement a Java program for handling key events when the key board is pressed, released,
typed.
14. Write a Java swing program that reads two numbers from two separate text fields and display
sum of two numbers in third text field when button “add” is pressed.
15. Write a Java program to design student registration form using Swing Controls. The form which
having the following fields and button SAVE Form Fields are: Name, RNO, Mailid, Gender,
Branch, Address.
Computer Science Minor: IV Semester
Course 3: Database Management Systems
Credits -3
Learning Objectives:
UNIT- I
Overview of Database Management System: Introduction to data, information, database, database
management systems, file-based system, Drawbacks of file-Based System, database approach,
Classification of Database Management Systems, advantages of database approach, Various Data
Models, Components of Database Management System, three schema architecture of data base, costs
and risks of database approach.
UNIT - II
Entity-Relationship Model: Introduction, the building blocks of an entity relationship diagram,
classification of entity sets, attribute classification, relationship degree, relationship classification,
reducing ER diagram to tables, enhanced entity-relationship model (EER model), generalization and
specialization, IS A relationship and attribute inheritance, multiple inheritance, constraints on
specialization and generalization, advantages of ER modeling.
UNIT - III
Relational Model: Introduction, CODD Rules, relational data model, concept of key, relational
integrity, relational algebra, relational algebra operations, advantages of relational algebra,
limitations of relational algebra, relational calculus, tuple relational calculus, domain relational
Calculus (DRC), Functional dependencies and normal forms upto 3rd normal form.
UNIT - IV
Structured Query Language: Introduction, Commands in SQL, Data Types in SQL, Data
Definition Language, Selection Operation, Projection Operation, Aggregate functions, Data
Manipulation Language, Table Modification Commands, Join Operation, Set Operations, View, Sub
Query.
UNIT - V
PL/SQL: Introduction, Shortcomings of SQL, Structure of PL/SQL, PL/SQL Language Elements, Data
Types, Operators Precedence, Control Structure, Steps to Create a PL/SQL, Program, Iterative
Control, Procedure, Function, Database Triggers, Types of Triggers.
Text Books:
1. Operating System Principles by Abraham Silberschatz, Peter Baer Galvin and GregGagne (7th
Edition) Wiley India Edition.
Reference Books
1. Database Management Systems by Raghu Ramakrishnan, McGrawhill
2. Principles of Database Systems by J. D. Ullman
3. Fundamentals of Database Systems by R. Elmasri and S. Navathe
4. SQL: The Ultimate Beginners Guide by Steve Tale.
SUGGESTED CO-CURRICULAR ACTIVITIES & EVALUATION METHODS:
Unit 1: Activity: Seminar Presentation on Database Management Systems
Evaluation Method: Depth of research, clarity of explanations, ability to address questions
and engage the audience.
Unit 2: Activity: Case Study on EER model
Evaluation Method: Identification of inheritance relationships, effective use of
generalization and specialization, and adherence to constraints.
Unit 3: Activity: Exercise on Normalization: Assign students a set of unnormalized tables and have
them normalize the tables to third normal form
Evaluation Method: Normalized table designs, identification of functional dependencies,adherence to
normalization rules, and elimination of anomalies.
Unit 4: Activity: Competition on SQL Query Writing
Evaluation Method: Query correctness, efficiency, proper use of SQL commands, ability to
handle complex scenarios, and creativity in query formulation.
Unit 5: Activity: Peer Review of PL/SQL code
Evaluation Method: Peer evaluation of code quality, adherence to coding standards, proper
use of language elements, and logic.
Computer Science Minor: IV Semester
Course 3: Database Management Systems
Credits -1
List of Experiments:
1. Draw ER diagram for hospital administration
2. Creation of college database and establish relationships between tables
3. Relational database schema of a company is given in the following figure.
Relational Database Schema - COMPANY
21. Retrieve the employee numbers of all employees who work on project located in Bellaire,
Houston, or Stafford.
22. Find the sum of the salaries of all employees, the maximum salary, the minimum salary, and
the average salary. Display with proper headings.
23. Find the sum of the salaries and number of employees of all employees of the ‘Marketing’
department, as well as the maximum salary, the minimum salary, and the average salary in
this department.
24. Select the names of employees whose salary is greater than the average salary of all
employees in department 10.
25. Delete all dependents of employee whose ssn is ‘123456789’.
26. Perform a query using alter command to drop/add field and a constraint in Employee table.
Computer Science Minor: IV Semester
Course 4: Object Oriented Software Engineering
Credits -3
Course Objective:
To introduce Object-oriented software engineering (OOSE) - which is a popular technical approach
to analyzing, designing an application, system, or business by applying the object- oriented paradigm
and visual modeling.
Course Outcomes:
Upon successful completion of the course, a student will be able to:
1. Understand and apply the fundamental principles of Object-Oriented Programming (OOP)
concepts and Unified Modeling Language (UML) basics, in the development of software
solutions.
2. Analyze and specify software requirements, develop use cases and scenarios, apply object-
oriented analysis and design (OOAD) principles
3. Familiar with the concept of test-driven development (TDD) and its practicalimplementation
4. Analyze and Evaluate Software Maintenance and Evolution Strategies
5. Apply Advanced Object-Oriented Software Engineering Concepts
UNIT-I
Introduction to Object-Oriented Programming: Overview of software engineering, Introduction to
Object-Oriented Programming (OOP) concepts (classes, objects, inheritance, polymorphism), Unified
Modelling Language (UML) basics, Introduction to software development process and software
development life cycle (SDLC).
UNIT-II
Requirements Analysis and Design: Requirements analysis and specification, Use cases and
scenarios, Object-oriented analysis and design (OOAD), Design patterns, UML modelling techniques
(class diagrams, sequence diagrams, state machine diagrams, activity diagrams)
UNIT-III
Software Construction and Testing: Software construction basics, Object-oriented design principles,
Object-oriented programming languages (Java, C++, Python), Software testing basics (unit testing,
integration testing, system testing), Test-driven development (TDD)
UNIT-IV
Software Maintenance and Evolution: Software maintenance basics, refactoring techniques Software
version control, Code review and inspection, Software evolution and reengineering
UNIT-V
Advanced Topics in Object-Oriented Software Engineering: Model-driven engineering (MDE),
Aspect-oriented programming (AOP), Component-based software engineering (CBSE), Service-
oriented architecture (SOA), Agile software development and Scrum methodologies.
Text Book(s)
1. An Introduction to Object-Oriented Analysis and Design and the Unified Process, 3rd
Edition, Craig Larman, Prentice-Hall.
2. Programming in Java by Sachin Malhotra, Oxford University Press
Reference Books
1. Requirements engineering: processes and techniques, G.Kotonya and, I.Sommerville, 1998,
Wiley
2. Design Patterns, E.Gamma, R. Helm, R. Johnson, and J. Vlissides
3. The Unified Modeling Language Reference Manual, J. Rumbaugh, I.Jacobson and G.
Booch, Addison Wesley
List of Experiments:
Select domain of interest (e.g. College Management System) and identify multi-tier software
application to work on (e.g. Online Fee Collection). Analyze, design and develop this application
using OOSE approach:
1. Develop an IEEE standard SRS document. Also develop risk management and project plan
(Gantt chart).
2. Understanding of System modeling: Data model i.e. ER – Diagram and draw the ER Diagram
with generalization, specialization and aggregation of specified problem statement
3. Understanding of System modeling: Functional modeling: DFD level 0 i.e. Context Diagram
and draw it
4. Understanding of System modeling: Functional modeling: DFD level 1 and DFD level 2 and
draw it.
5. Identify use cases and develop the use case model.
6. Identify the business activities and develop an UML Activity diagram.
7. Identity the conceptual classes and develop a domain model with UML Class diagram.
8. Using the identified scenarios find the interaction between objects and represent them using
UML Interaction diagrams.
9. Draw the state chart diagram.
10. Identify the user interface, domain objects, and technical services. Draw the partial layered,
logical architecture diagram with UML package diagram notation.
11. Implement the technical services layer.
12. Implement the domain objects layer.
13. Implement the user interface layer.
14. Draw component and deployment diagrams.
Computer Science Minor: V Semester
Course 5: Web Applications Development using PHP & MYSQL
Credits -3
Learning Objectives:
To enable students to understand open-source tools to create dynamic web pages, implement user
interactivity, and gain proficiency in developing web sites
Learning Outcomes: On successful completion of the course, students will be able to
1. Write simple programs in PHP.
2. Understand how to use regular expressions, handle exceptions, and validate data using
PHP.
3. Apply In-Built functions and Create User defined functions in PHP programming.
4. Write PHP scripts to handle HTML forms.
5. Know how to use PHP with a MySQL database and can write database driven web pages.
UNIT-I
The building blocks of PHP: Variables, Data Types, Operators and Expressions, Constants. Flow
Control Functions in PHP: Switching Flow, Loops, Code Blocks and Browser Output. Working
with Functions: Creating functions, Calling functions, Returning the values from User- Defined
Functions, Variable Scope, Saving state between Function calls with the static statement, arguments of
functions
UNIT-II
Working with Arrays: Creating Arrays, Some Array-Related Functions.
Working with Objects: Creating Objects, Accessing Object Instances, Working with Strings,
Dates and Time: Formatting strings with PHP, Manipulating Strings with PHP, Using Date and
Time Functions in PHP.
UNIT-III
Working with Forms: Creating Forms, Accessing Form Input with User defined Arrays,
Combining HTML and PHP code on a single Page, Using Hidden Fields to save state, Redirecting the
user, Sending Mail on Form Submission, and Working with File Uploads, Managing files on server,
Exception handling.
UNIT-IV
Working with Cookies and User Sessions: Introducing Cookies, setting a Cookie with PHP,
Session Function Overview, starting a Session, working with session variables, passing session IDs in
the Query String, Destroying Sessions and Unsetting Variables, Using Sessions in an Environment
with Registered Users.
UNIT-V
Interacting with MySQL using PHP: MySQL Versus MySQLi Functions, connecting to MySQL
with PHP, Working with MySQL Data. Planning and Creating Database Tables, Creating Menu,
Creating Record Addition Mechanism, Viewing Records, Creating the Record Deletion Mechanism.
Text Book(s)
1. Julie C. Meloni, SAMS Teach yourself PHP MySQL and Apache, Pearson Education (2007).
2. Steven Holzner , PHP: The Complete Reference, McGraw-Hill
Reference Books
1. Robin Nixon, Learning PHP, MySQL, JavaScript, CSS & HTML5, Third Edition O'reilly,
2014
2. Xue Bai Michael Ekedahl, The web warrior guide to Web Programming, Thomson (2006).
SUGGESTED CO-CURRICULAR ACTIVITIES & EVALUATION METHODS:
Unit 1: Activity: Infographic explanation of client-server architecture and different server-side
scripting languages.
Evaluation Method: Assess the accuracy, visual design, clarity, creativity, use of visual
elements, presentation of the infographic explaining the benefits of
server-side scripting languages.
Unit 2: Activity: Presentation on various open-source frameworks available in LAMP model
Evaluation Method: Content knowledge, organization, clarity, presentation skills, visual
aids, audience engagement
Unit 3: Activity: Code snippets Challenge.
Evaluation Method: Accuracy, functionality, efficiency, code readability, and problem-
solving approach of the PHP code snippets
Unit 4: Activity: Group discussion on Session Management in PHP
Evaluation Method: Active participation, knowledge sharing, critical thinking, and
demonstration of Session Management
Unit 5: Activity: Hands-on Lab Session on MYSQL Queries
Evaluation Method: Lab Performance and Correctness of solution Implementation
UNIT - I
Fundamentals of IoT: Introduction, Definitions & Characteristics of IoT, IoT Architectures,
Physical & Logical Design of IoT, Enabling Technologies in IoT, History of IoT, About Things in
IoT, The Identifiers in IoT, About the Internet in IoT, IoT frameworks, IoT and M2M.
Applications of IoT: Home Automation, Smart Cities, Energy, Retail Management, Logistics,
Agriculture, Health and Lifestyle, Industrial IoT, Legal challenges, IoT design Ethics, IoT in
Environmental Protection.
UNIT - II
Sensors Networks : Definition, Types of Sensors, Types of Actuators, Examples and Working, IoT
Development Boards: Arduino IDE and Board Types, RaspberriPi Development Kit, RFID Principles
and components, Wireless Sensor Networks: History and Context, The node, Connecting nodes,
Networking Nodes, WSN and IoT.
Unit - III
Wireless Technologies for IoT: WPAN Technologies for IoT: IEEE 802.15.4, Zigbee, HART,
NFC, Z-Wave, BLE, Bacnet and Modbus.
IP Based Protocols for IoT: IPv6, 6LowPAN, LoRA, RPL, REST, AMPQ, CoAP, MQTT. Edge
connectivity and protocols.
Unit - IV
Arduino Simulation Environment: Arduino Uno Architecture, Setting up the IDE, Writing Arduino
Software, Arduino Libraries, Basics of Embedded C programming for Arduino, Interfacing LED,
push button and buzzer with Arduino, Interfacing Arduino with LCD.
Sensor & Actuators with Arduino: Overview of Sensors working, Analog and Digital Sensors,
Interfacing of Temperature, Humidity, Motion, Light and Gas Sensors with Arduino, Interfacing of
Actuators with Arduino, Interfacing of Relay Switch and Servo Motor with Arduino.
Unit - V
Developing IOT’s: Implementation of IoT with Arduino, Connecting and using various IoT Cloud
Based Platforms such as Blynk, Thingspeak, AWS IoT, Google Cloud IoT Core etc. Cloud
Computing, Fog Computing, Privacy and Security Issues in IoT.
Text Book(s)
1. Internet of Things - A Hands-on Approach, ArshdeepBahga and Vijay Madisetti,
Universities Press, 2015, ISBN: 9788173719547
2. Sudip Mishra, Anandarup Mukherjee, Arijit Roy: Introduction to IOT, Cambridge
University Press.
3. Internet of Things- Dr Surya Durbha & Dr Jyoti Joglekar, Oxford University Press
Reference Books
1. Daniel Minoli, ― “Building the Internet of Things with IPv6 and MIPv6: The Evolving
World of M2M Communications”, ISBN: 978-1-118-47347-4, Willy Publications
2. Pethuru Raj and Anupama C. Raman, “The Internet of Things: Enabling Technologies,
Platforms, and Use Cases”, CRC Press
List of Experiments:
1. Understanding Arduino UNO Board and Components
2. Installing and work with Arduino IDE
3. Blinking LED sketch with Arduino
4. Simulation of 4-Way Traffic Light with Arduino
5. Using Pulse Width Modulation
6. LED Fade Sketch and Button Sketch
7. Analog Input Sketch (Bar Graph with LEDs and Potentiometre)
8. Digital Read Serial Sketch (Working with DHT/IR/Gas or Any other Sensor)
9. Working with Adafruit Libraries in Arduino
10. Spinning a DC Motor and Motor Speed Control Sketch
11. Working with Shields
12. Design APP using Blink App or Things peak API and connect it LED bulb.
13. Design APP Using Blynk App and Connect to Temperature, magnetic Sensors