Computer Application CCF
Computer Application CCF
of
Calcutta
Data Data
Computer Digital Full Marks – 25 visualization visualization Full Marks = 50
I fundamentals logic Experiment = 15 using using Experiment = 30
and Digital Circuit Viva = 05 spreadsheet. spreadsheet Viva-Voce = 10
Logic Lab LNB = 05 LNB = 10
* in house * In house
Credit-2 Credit-2
Credit-3 Credit-1
2. Hardware laboratory
Digital Circuit lab
Computer Fundamentals
Central Processing Unit (CPU), Primary memory and Secondary Storage devices, I/O
devices, generation and classification of Computers: Super, Mainframe, Mini and Personal
2 hours
Computer, System and Application Software, basic concepts on machine, assembly and
high-level language.
Number Systems
Weighted and Non - Weighted Codes, Positional, Binary, Octal, Hexadecimal, Binary
Coded Decimal (BCD), Gray Codes, Alphanumeric codes, ASCII, EBCDIC, Conversion
of bases, signed arithmetic, 1's, 2's complement representation, Parity bits.
Single bit error detection and correcting codes: Hamming Code. 3 hours
Fixed- and floating-point Arithmetic.
Boolean Algebra
Combinational Circuits
Combinational Circuits
1. Study and prove De-Morgan’s Theorem.
2. Realization of Universal functions using NAND and NOR gates.
3. Implementation different functions (SOP, POS) using digital logic gates.
4. Implementation of half (2-bit) and full adder (3-bit) using basic (AND, OR and NOT) and
Universal logic gates (NAND & NOR).
5. Design 4 to 1 multiplexer using basic or Universal logic gates and implement half and full
adder/subtractor.
6. Design and implement half and full adder/subtractor and other functions using multiplexers
74151/74153 and other necessary logic gates.
7. Cascading of Multiplexers.
8. Design 2 to 4 decoder using basic or universal logic gates, study 74138 or 74139 and implement
half and full Adder/Subtractor and other functions.
9. Design a display unit using Common anode or cathode seven segment display and decoders
(7446/7447/7448)
10. Design and implement 4-input 3-output (one output as valid input indicator) priority encoder
using basic (AND, OR & NOT) logic gates.
11. Design a parity generator and checker using basic logic gates.
Sequential Circuits
Note: The assignments listed below are illustrative examples and not an exhaustive list. They serve as
a starting point to cover various aspects of the course.
Recommended Books
1. Digital Fundamentals, 11th Edition by Pearson Eleventh Edition, Thomas L. Floyd.
2. Digital Logic and Computer Design, M Morris Mano, Pearson.
3. Digital Electronics, Principles, Devices and Applications, Anil K. Maini, John Wiley & sons.
4. Digital Principles and Applications, Leach, Malvino, Saha, Tata McGraw Hill Education.
5. Digital Systems, Principal and Applications, Widmer, Moss and Tocci, Pearson.
CMAM: Computer Application - Theory: Data visualization using spreadsheet
SEC-1, Theory, Semester – 1, Credits - 02, Contact hours - 30.
Course Description
This Skill Enhancement Course (SEC) provides a comprehensive introduction to essential concepts and
practical skills required for proficient utilization of spreadsheets. Students will gain proficiency in data
management, visualization, analysis, and presentation using a widely-used open-source spreadsheet
software application such as Open Office, Libre Office, or Google Spreadsheets. Through this course,
students will acquire the ability to proficiently create, format, manipulate, and analyze data within
spreadsheets to meet a diverse range of needs.
Course Objectives
Description Teaching
hours
Introduction to Spreadsheets
Spreadsheets and their applications, overview of spreadsheet software (e.g., Open office,
Google Sheets, Excel), creating workbooks, modifying workbook, modifying
2 hours
workbook, zooming in on a worksheet, arranging multiple workbook windows, adding
buttons to the quick access toolbar, customizing the ribbon, maximizing usable space in
the program window navigating the spreadsheet interface, entering and editing data in
cells saving, opening, and closing spreadsheet files.
Entering and revising data, moving data within a workbook, finding and replacing data, 2 hours
correcting and expanding upon worksheet data, defining tables.
Naming groups of data, creating formulas to calculate values (e.g., SUM, AVERAGE,
COUNT), summarizing data that meets specific conditions (e.g., AVERAGEIF, 2 hours
COUNTA, COUNTBLANK, COUNTIFS, SUMIF, IFERROR etc), finding and
correcting errors in calculations.
Changing Workbook Appearance
Formatting Cells, defining styles, workbook themes and table styles, making numbers 2 hours
easier to read, changing the appearance of data based on its value, adding images to
worksheets.
Data Analysis and Manipulation
Limiting data appearance on screen, working with text functions for data cleaning,
Splitting and combining data, Data normalization and standardization, working with 2 hours
ranges and named ranges, conditional formatting, data validation and error checking,
using logical functions (e.g., IF, AND, OR), sorting and filtering data.
Advanced Spreadsheet Features
Creating and managing tables, creating and modifying pivot tables, using lookup 2 hours
functions (e.g., VLOOKUP, HLOOKUP), working with charts and graphs, importing
and exporting data.
Statistical Functions and Analysis
Descriptive statistics (mean, median, mode, variance, etc.), Calculating measures of 2 hours
central tendency and dispersion, Correlation and regression analysis, Hypothesis testing
and confidence intervals, Analysis of variance (ANOVA).
Pivot Tables and Data Aggregation
Creating pivot tables for data summarization, grouping and aggregating data by 3 hours
categories, applying filters and slicers to pivot tables, calculating calculated fields and
items.
Advanced Data Visualization
Creating charts and graphs for data representation, customizing chart elements (titles, 3 hours
axes, legends), Using sparklines and data bars for visual analysis, creating interactive
dashboards, incorporating trendlines and forecasting in charts.
Exploratory Data Analysis 3 hours
Identifying patterns and outliers in data, creating histograms and box plots, using
conditional formatting for data visualization, Data segmentation and drill-down analysis,
Applying data validation rules for data integrity.
Advanced Analysis Techniques
Using goal seek and solver for optimization problems, performing "what-if" analysis 3 hours
with data tables, simulating data using random number functions, Monte Carlo
simulation for risk analysis, creating scenario analysis models.
Reporting and Presentation of Results
Designing informative reports and summaries, creating interactive dashboards for data 2 hours
presentation, data visualization best practices, documenting data analysis processes
presenting findings to stakeholders.
Collaboration and Sharing
Protecting worksheets and workbooks, sharing spreadsheets with others, tracking
2 hours
changes and commenting, collaborating in real-time, using version history and revision
control.
CMAM: Computer Application - Practical - Data visualization using spreadsheet
SEC, Laboratory, Semester – 1, Credits - 02, Contact hours - 45.
1. Create a personal budget spreadsheet that tracks income, expenses, and savings over a specified
period. Use formulas and functions to calculate totals, percentages, and remaining balances.
2. A dataset containing sales data for a company to be provided. A spreadsheet to be created that
calculates monthly sales totals, identifies top-selling products, and visualizes sales trends using
line charts or bar graphs. Use conditional formatting to highlight exceptional sales
performances.
3. Design a grade book spreadsheet that calculates students' final grades based on assignments,
exams, and participation. Incorporate weighted grading systems, formulas for calculating
averages, and conditional formatting to indicate performance levels. Generate reports to track
individual student progress.
4. Create a spreadsheet that tracks inventory for a hypothetical business. Include columns for item
names, quantities, prices, and total values. Use formulas to automatically update inventory
totals, generate alerts for low stock, and create visualizations to represent inventory levels over
time.
5. Loan parameters, such as principal amount, interest rate, and loan term to be provided. Create
a spreadsheet that calculates monthly loan payments, remaining balances, and interest paid over
time using appropriate formulas. Create a chart to visualize the loan's repayment schedule.
6. Dataset to be provided which will allow various data analysis tasks using spreadsheets.
Calculation of summary statistics, sorting and filtering data, creating pivot tables for deeper
insights, and generation of charts or graphs to visualize patterns or trends within the data.
7. A dataset to be selected (e.g., stock prices, weather data, population growth, etc) and create line
charts or area charts to visualize trends over time. Students should choose appropriate chart
types, label axes, and add titles and legends to make the visualization clear and informative.
8. A dataset containing information about different products or variables (e.g., sales data,
customer satisfaction ratings) to be provided and following to be done; create bar charts or
column charts to compare the performance or rankings of the items. Use color, data labels, and
chart elements to enhance the visual comparison.
9. A dataset containing time-series data for multiple variables (e.g., monthly sales data for
different products) to be provided and the following task to be performed; to create a combo
chart with lines and columns to compare the trends of the variables and identify any
relationships or patterns.
10. To create a unique visualization using advanced spreadsheet features and tools. For example,
an experiment with sparklines, radar charts, or treemaps to represent specific types of data or
explore innovative ways to visualize information.
Note: The assignments listed below are illustrative examples and not an exhaustive list. They serve as
a starting point to cover various aspects of the course.
Recommended Text books
1. Data Analysis and Decision Making with Microsoft Excel" by S. Christian Albright.
2. Microsoft Excel 2019 Data Analysis and Business Modeling, Sixth Edition, Wayne L. Winston,
Pearson education.
3. Excel 2019 Bible, Michael Alexander, 11th edition, Wiley.
4. Microsoft Office 2019 for Dummies, Wallace Wang, Wiley.
1. Google Spreadsheets
2. Libre/Open Office
3. Excel sptreadsheets
Semester - II
Paper Paper type Paper name Credit Contact hours
1 Introduction to Programming 03
2 Algorithm/ Flowchart for Problem Solving 06
3 Introduction to ‘C’ Language 02
4 Conditional Statements and Loops 05
5 Arrays 05
6 Functions 06
7 Storage Classes 02
8 Structures and Unions 05
9 Pointers 06
10 File Processing 03
11 Organizing C Projects 02
Lectures = 45
Practical/tutorials = 30, Total = 75
Detailed Syllabus
Description Teaching
hours
Introduction to Programming
The Basic Model of Computation, Algorithms, Flow-charts, Programming Languages, 03 hours
Compiler, Interpreter, Assembler, Linker and Loader, Testing and Debugging,
Documentation.
Algorithms/ Flowchart for Problem Solving
Exchanging values of two variables, summation of a set of numbers, decimal base to
binary base conversion, reversing digits of an integer, GCD (Greatest Common 06 hours
Division) of two numbers, test whether a number is prime, organize numbers in
ascending order using bubble sort, find integer square root of a number, factorial
computation, Fibonacci sequence, evaluate ‘sin x’ as sum of a series, reverse order of
elements of an array, find largest number in an array, print elements of upper triangular
matrix, multiplication of two matrices, evaluate a Polynomial.
Introduction to ‘C’ Language
Character set, variables, identifiers and their nomenclature, built-in data types, variable 02 hours
declaration, arithmetic operators and expressions, constants and literals, simple
assignment statement, basic input/output statement, simple ‘C’ programs.
Conditional Statements and Loops
Decision making within a program, conditions, relational operators, logical 05 hours
connectives, if statement, if-else statement, Loops: while loop, do while, for loop,
nested structure, infinite loops, switch-case, break, continue statement, structured
programming.
Arrays
One dimensional array: Array manipulation; Searching, Insertion, deletion of an
element from an array; finding the largest/smallest element in an array; two 05 hours
dimensional arrays, addition/multiplication of two matrices, Transpose of a square
matrix; null terminated strings as array of characters, standard library string functions.
Functions
Top-down approach of problem solving, modular programming and functions,
standard library of C functions, Prototype of a function: Formal parameter list, return 06 hours
type, function call, block structure, passing arguments to a function: call by reference,
call by value, Recursive functions, arrays as function arguments.
Storage Classes
Scope and extent, Storage Classes in a single source file: auto, extern and static, 02 hours
register, Storage Classes in multiple source files: extern and static
Structures and Unions
Structure variables, initialization, structure assignment, nested structure, structures and 05 hours
functions, structures and arrays: arrays of structures, structures containing arrays,
unions.
Pointers
Address operators, pointer type declaration, pointer assignment, pointer initialization,
pointer arithmetic, functions and pointers, Array of Pointers, pointer to an array, 06 hours
pointers and structures, dynamic memory allocation.
File Processing
Concept of Files, File opening in various modes and closing of a file, reading from a 03 hours
file, writing onto a file, appending to a file.
Organizing C projects, working with multiple source directories, makefiles. 02 hours
Recommended books main reading
1. Byron S Gottfried “Programming with C” Second edition, Tata McGraw Hill, 2007 (Paperback)
2. R.G. Dromey, “How to solve it by Computer”, Pearson Education, 2008.
3. Kanetkar Y, “Let us C”, BPB Publications, 2007.
4. Hanly J R & Koffman E.B, “Problem Solving and Program design in C”, Pearson Education, 2009.
5. Kashi Nath Dey and Samir Bandyopadhayay “C Programming Essentials” Pearson India Education,
2010.
Supplementary reading.
GCC
Note: The assignments listed below are illustrative examples and not an exhaustive list. They serve as
a starting point to cover various aspects of the course.
Course Description
This course provides an introduction to web development using HTML (Hypertext Markup Language)
and CSS (Cascading Style Sheets). Students will learn the core concepts and practical skills needed to
create and style web pages. The course covers the fundamentals of HTML structure, CSS styling
properties, and responsive web design principles.
Course Objectives
1. Understanding the basics of web development and the role of HTML and CSS.
2. Create well-structured HTML documents using proper tags and elements.
3. Apply CSS to style web pages, including layout, typography, colors, and images.
4. Implement responsive design techniques to ensure optimal display on different devices.
5. Incorporate multimedia elements, such as images, videos, and audio, into web pages.
6. Understand best practices for organizing and maintaining code in web development projects.
7. Develop and deploy a basic website using HTML and CSS.
Description Teaching
hours
Introduction to Web development
Overview of web technologies and the role of HTML and CSS, understanding the 2 hours
structure of a web page, introduction to web browsers and developer tools.
HTML Fundamentals
Introduction to HTML tags and elements, creating headings, paragraphs, lists, and 2 hours
links, working with images and multimedia content, creating forms for user input.
CSS basics
Introduction to CSS and its role in web page styling, selectors, properties, and values, 2 hours
applying inline, internal, and external style sheets, formatting text, backgrounds, and
borders.
CSS Layout and box model 2 hours
Understanding the box model and its impact on layout, working with margins, padding,
and borders, positioning elements using floats, positioning properties, and flexbox,
creating responsive layouts with media queries.
Typography and colors
Styling text with fonts, sizes, weights, and styles, formatting text using CSS properties, 3 hours
understanding color models and applying colors to elements.
Images and multimedia
Working with images: sizing, aligning, and optimizing, incorporating videos and audio 3 hours
into web pages, implementing responsive images and media.
CSS Selectors and specificity
Understanding CSS selectors and specificity, applying styles to specific elements and 3 hours
classes, using pseudo-classes and pseudo-elements.
Responsive Web design
Introduction to responsive design principles, creating fluid layouts using CSS media 3 hours
queries, adapting web pages for different screen sizes and devices.
CSS Frameworks and libraries 2 hours
Overview of popular CSS frameworks (e.g., Bootstrap, Foundation), using pre-built
CSS components and grids, customizing and integrating CSS frameworks into web
projects.
Web development best practices
Organizing and structuring code files and directories, validating HTML and CSS code, 2 hours
optimizing web pages for performance, introduction to version control with Git.
Building and deploying a website
Planning and designing a basic website structure, Implementing HTML and CSS to 6 hours
create the website, testing and debugging the website across different browsers,
deploying the website to a local host/web server.
1. Creating a personal portfolio website using HTML and CSS. There should be sections for an
about me, projects, skills, and contact information’s. Using CSS to style the layout, typography,
and colors to create a visually appealing and professional-looking portfolio.
2. To design a responsive website that adapts to different screen sizes. They should create a layout
that adjusts fluidly using CSS media queries and responsive design techniques.
3. To create a product landing page for a fictional product or an existing one. HTML to be used
to structure the page and CSS to style the layout, typography, buttons, and images. Main focus
to be on creating an engaging page that effectively showcases the chosen product.
4. To incorporate CSS animation effects into a web page. Use CSS transitions, transforms, and
keyframe animations to add interactive and engaging elements to the website. Create
animations for hover effects, scrolling effects, image sliders, or menu transitions.
5. Redesign an existing website using HTML and CSS. Analyze the original design and propose
improvements to the layout, typography, color scheme, and overall user experience.
6. Create a webpage layout using CSS Flexbox or CSS Grid. Design a responsive layout that
organizes content in a visually appealing way. Experiment can be performed with different grid
or flexbox properties to create flexible and responsive designs.
7. To design and style an interactive form using HTML and CSS. They should incorporate various
form elements such as text inputs, checkboxes, radio buttons, and select dropdowns. Apply CSS
styling to improve the form's visual appearance and user experience.
Note: The assignments listed below are illustrative examples and not an exhaustive list. They serve as
a starting point to cover various aspects of the course.
Suggested Readings.
1. Mastering HTML, CSS & Java Script Web Publishing, Laura Lemay, Rafe Colburn, Jennifer
Kyrnin, BPB Publication.
2. Web designing and development, Satish Jain, BPB Publications.
3. HTML & CSS: The complete reference, Thomas Powell, McGraw Hill education.
4. Web programming with HTML5, CSS and JavaScript, John Dean, Joneas and Bartlet learning.
5. Sams Teach Yourself HTML, CSS, and JavaScript All in One, Julie C Meloni, Pearson
Education.
6. Learning Web App development, Semmy Purewal, O’Reilly.
Semester - III
Paper Paper type Paper name Credit Contact hours
Theory Data Structure 3 45
DSC/CC-3 Practical Data Structure using C Lab 1 30
Theory Programing in Python 3 45
DSC/CC-4 Practical Python lab 1 30
Theory Mobile App Development 2 30
SEC – 3 Practical Mobile App Development Lab 2 45
Course Objectives:
The objective of the Data Structures course is to introduce students to fundamental concepts
and practical applications of various data structures, enabling them to analyze and implement
efficient solutions for complex problems. The course aims to develop students' understanding
of arrays, linked lists, stacks, queues, trees, graphs, and hash tables, and to equip them with the
skills to evaluate and select appropriate data structures based on performance metrics.
Course Outcomes
By the end of the course, students will be;
Proficient in designing,
Coding,
optimizing algorithms,
demonstrating readiness for advanced studies and real-world applications in computer
science.
They will also enhance their problem-solving abilities, collaborate effectively, and
communicate technical information clearly.
Description Teaching
hours
Introduction to Data Structure
Abstract Data Type. 01 hour
Arrays
1D, 2D and Multi-dimensional Arrays, Sparse Matrices. Polynomial representation. 05 hours
Linked Lists
Singly, Circular and Doubly Lists, Polynomial representation. 03 hours
Stacks
Array and linked representation of stack, Prefix, Infix and Postfix expressions, utility
and conversion of these expressions from one to another, evaluation of postfix and prefix 09 hours
expression using stack, applications of stack, limitations of Array representation of stack.
Queues
Array and Linked representation of Queue, Circular Queue, De-queue, Priority Queues. 05 hours
Images and multimedia
Working with images: sizing, aligning, and optimizing, incorporating videos and audio 05 hours
into web pages, implementing responsive images and media.
Developing Recursive Definition of Simple Problems and their implementation;
Advantages and Limitations of Recursion; Understanding what goes behind Recursion 05 hours
(Internal Stack Implementation), Tail recursion.
Trees
Introduction to Tree as a data structure: Binary Trees (Recursive and Iterative
Traversals), Binary Search Tree (Traversal, Insertion, Deletion and Searching), 15 hours
Threaded Binary Trees (Traversal and advantages).
Searching and Sorting
Linear Search, Binary Search, Comparison of Linear and Binary Search with respect to
time complexity, Selection Sort, Bubble sort, Insertion Sort, Merge Sort, Quick sort, 10 hours
Heap sort, Shell Sort, Radix sort, Comparison of Sorting Techniques with respect to time
complexity.
Hashing
Introduction to Hashing, Different hashing Techniques, Collision and resolving collision
by Open Addressing, Closed Hashing, Separate Chaining, Choosing a Hash Function. 05 hours
1. Array Operations
Create a singly linked list and perform operations like insertion, deletion, and
traversal.
Implement a function to reverse a linked list.
Create a doubly linked list and implement similar operations.
3. Stacks
Implement a binary tree with operations like insertion, traversal (in-order, pre-
order, post-order), and deletion.
Write a program to find the height of a binary tree and check if it is balanced.
Implement a binary search tree (BST) and functions for insertion, search, and
deletion.
6. Graphs
Implement a hash table with basic operations: insertion, deletion, and searching.
Handle collisions using chaining or open addressing.
8. Heaps
Implement a binary heap and operations like insertion, deletion, and heapify.
Write a program to perform heap sort using the heap data structure.
9. Graphs Algorithms
Implement Kruskal’s or Prim’s algorithm for finding the Minimum Spanning Tree
(MST).
Write a program to detect cycles in a graph.
Each of these assignments can be adjusted in complexity depending on the skill level of the students.
Description Teaching
hours
Introduction
History of Python Programming Language, Installing Anaconda Python distribution,
Installing and using Jupyter Notebook, features of Python, built in Object Types, 01 hour
libraries and tools, Paradigms: Procedural, Object-Oriented, Functional.
Sample Programs
1. Write a program to swap two numbers.
2. Ask the user to enter the coordinates of a point and find the distance of the point from the origin.
3. Ask the user to enter two points (x and y coordinates) and find the distance between them.
4. Ask the user to enter three points and find whether they are collinear.
5. In the above question, if the points are not collinear then find the type of triangle formed by
them (equilateral, isosceles or scalene).
6. Ask the user to enter two points and find if they are at equal distances from the origin.
7. Ask the user to enter 4 points and arrange them in order of their distances from the origin.
8. Ask the user to enter a number and find the number obtained by reversing the order of the digits.
9. Ask the user to enter a four-digit number and check whether the sum of the first and the last
digits is same as the sum of the second and the third digits.
10. Ask the user to enter the concentration of hydrogen ions in a given solution (C) and find the PH
of the solution using the following formula.
PH = log10 C
If the PH is <7 then the solution is deemed acidic, else it is deemed as basic.
Find if the given solution is acidic. In the above question find whether the solution is neutral.
(A solution is neutral if the PH is 7).
11. The centripetal force acting on a body (mass m), moving with a velocity v, in a circle of radius
r, is given by the formula mv2/r. The gravitational force on the body is given by the formula
(GmM)/R2, where m and M are the masses of the body and earth and R is the radius of the
earth. Ask the user to enter the requisite data and find whether the two forces are equal or not.
12. Ask the user to enter his salary and calculate the TA, DA, which is 10% of the salary; the HRA,
which is 20% of the salary and the gross income, which is the sum total of the salary, TADA
and the HRA.
13. Ask the user to enter a number and find whether it is a prime number.
14. Ask the user to enter a number and find all its factors.
Example: If number = 30, then factors are 2, 3, and 5.
15. Ask the user to enter two numbers and find the lowest common multiple, example: If numbers
are 30 and 20, then LCM is 60, as both 20 and 30 are factors of 60.
16. Ask the user to enter two numbers and find the highest common factor.
17. Write a generator that produces the terms of a geometrical progression.
also write the corresponding iterator class.
18. Write a generator that produces the terms of a harmonic progression.
also write the corresponding iterator class.
19. Write a generator that produces all the prime numbers up to a given number.
also write the corresponding iterator class.
20. Write a generator that produces all the Fibonacci numbers up to n.
21. Write a generator that produces all the Armstrong numbers up to n.
also write the corresponding iterator class.
22. Write a generator that produces Pythagoras triples in the range (1, 20).
23. Write a generator that produces all the multiples of 6 up to the given number.
24. Write a program to copy the contents of one file to another.
25. Write a program to capitalize the first character of each word in a file.
26. Write a program to find the ASCII value of each character in a file.
27. Write a program to find the frequency of each character in a file.
28. Write a program to find all occurrences of a word, entered by the user, in a given file.
29. Write a program to replace a given character with another in a file.
30. Write a program to replace a given word with another, in a given file.
31. Write a program to find the frequency of a given word in a file.
32. Write a program to find the word used the minimum number of times in a given file.
33. Write a program to change the name of a file to the name entered by the user.
34. Write a program to create a directory and then create a new file in it.
35. Write a program to print the name, number of characters, and number of spaces in a file.
36. Write a program to convert the characters of a given file to binary format.
37. Write a program to find the words starting with a vowel from a given file.
38. Write a program to implement any substitution cipher on the text of a given file.
39. Write a program to find the sum of ASCII values of the characters of a given string.
40. Write a program to find a particular substring in a given string.
41. Write a program to split a given text into tokens.
42. Write a program to check which of the tokens obtained in the above question are keywords.
43. Write a program to convert a string entered by a user to that obtained by adding “k” to each
character’s ASCII value.
44. Create a class called distance having meter and centimeter as its data members. The member
functions of the class would be putData(), which takes the values of meter and centimeter from
the user; putData(), which displays the data members and add, which adds the two distances.
The addition of two instances of distances (say d1 and d2) would require addition of
corresponding centimeters (d1.centimeter +s2.centimeter), if the sum is less than 100, otherwise
it would be (d1.centimeter +s2.centimeter)%100. The “meter” of the sum would be the sum of
meters of the two instances (d1.meter +d2.meter), if (d1.centimeter +d2.centimeter) <100,
otherwise it would be (d1.meter +d2.meter+1).
45. Overload the + operator for the above class. The + operator should carry out the same task as
is done by the add function. The subtraction of two instances of distances (say d1 and d2) would
require the subtraction of corresponding centimeters (d1.centimeter -s2.centimeter). The
“meter” of the difference would be the sum of meters of the two instances (d1.meter - d2.meter).
46. Overload the – operator for the distance class. Assume that d1-d2, would always mean d1>d2.
47. Ask the user to enter the value of n. Create an array, a, containing integers from 0 to (n-1).
48. Create another array, b, from the above array containing all the even numbers of the original
array.
49. Create an array, c, from an array containing all the odd numbers of the original array.
50. Now add b and c and divide each element of the resultant array by 2. Check if the result is same
as a.
51. Create a one-dimensional array containing 500 random numbers.
52. Find the mean, standard deviation, median, 25th percentile, 75th percentile of the numbers.
53. Create a histogram of the above data with 10 bins.
54. Implement linear search. Also use the requisite method of NumPy and compare the running
time of both.
55. Sort the elements of the array. Also use the requisite method of NumPy and compare the
running time of both.
56. Create an array of 500 random numbers. Find the product of the numbers using loops and by
using the functions of numpy and compare the running time by the two methods.
57. From the above array find the maximum element by the following methods:
(a) Using the maximum function of NumPy
(b) Using loops in O(n) time
(c) Using divide and conquer in O(log n) time
58. Create a two-dimensional array having n rows and m columns containing:
(a) All ones
(b) All zeros
(c) 1’s at the diagonal
(d) 0-(m-1) at the diagonal
(e) Random numbers
59. Create a two-dimensional array having 7 rows and 7 columns such that an element aij (element
at the ith row and the jth column) is (i+j)2.
60. Create a list having numbers in arithmetic progression. Ask the user to enter the first term, the
common difference and the number of terms of the arithmetic progression. Plot the values using
the plot function.
61. Create a list having numbers in geometric progression. Ask the user to enter the first term, the
common ratio and the number of terms of the geometric progression. Plot the values using the
plot function.
62. Create a list having numbers in harmonic progression. Ask the user to enter the values of “a,”
“d,” and the number of terms and plot the curve.
63. There are four types of parabolas: upward, downward, left facing, and right facing. The
equations of the parabolas having vertex at the origin are as follows:
Upward: x2 = 4ay
Downward: x2 = – 4ay
Right facing: y2 = 4ax
Left facing: y2 = – 4ax
64. If the values of x range from [10, 10] and the values of y are calculated using the appropriate
equation, (you can use comprehensions to calculate the values of y), plot the above parabolas
on a single plot. Now create a subplot to plot each one of them.
65. Using plotting prove that (sin θ)2 + (cos θ)2 = 1.
66. Plot the curve of tan θ and identify the points of discontinuity.
67. Plot an ellipse having the length of major axis = 10 and the length of minor axis = 5.
68. Plot a circle having radius = 10 and center at (5,5).
69. Now plot 10 circles having radius 10 and center’s x coordinate varying from 0 to 10. The y
coordinate of the center should be 8.
Note: The examples provided are just a few, and additional ones can be included according to
the syllabus.
Reference Books
1. Introduction to Computation and Programming Using Python: With Application to
Understanding Data, Guttag, John V. MIT Press.
2. Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World
of Computers and Code, Shaw, Zed A, Addison-Wesley Professional.
3. Think Python 2e. Green Tea Books, Downey, Allen B.
4. Practical Programming: An Introduction to Computer Science Using Python 3.6. Pragmatic
Bookshelf, Gries, Paul, Jennifer Campbell, and Jason Montojo.
5. Introduction to Python Programming, Gowrishankar S, Veena A, Talor and Francis.
6. Python® Programming for the Absolute Beginner, Third Edition, Michael Dawson, Cengage
Learning.
CMAM - Theory: Mobile Application Development
SEC-3 Course, Theory, Semester – 3, Credits - 02, Contact hours - 30.
Introduction to Flutter
Introducing Flutter, defining widgets and elements, understanding Widget lifecycle
events, understanding the Widget tree and the element tree, Installing the Flutter SDK, 02 hours
Android Setup: Install Android Studio, Setup the Android Emulator.
Creating Your First Flutter App
Setting Up the Project, using hot reload, using themes to style your App, understanding 02 hours
Stateless and Stateful Widgets, using external packages.
Learning Dart basic
Purpose of DART and its use, Commenting code, Running the main() entry Point,
referencing variables, declaring variables, using Operators, using flow statements, using
functions, Import packages, using classes, Implementing Asynchronous Programming. 04 hours
Creating Starter Project Template
Creating and Organizing Folders and Files, Structuring Widgets. 02 hours
Widget Tree
Introduction to Widgets, Building the Full Widget Tree, Building a Shallow Widget Tree 02 hours
Using Common Widgets
Using basic widgets, using Images and Icons, using decorators, using the Form Widget
to validate text fields, checking orientation. 02 hours
User Interface (UI) Development
Animation: Animated container, Crossfade, Opacity, controller.
Navigation: Using navigator, Hero Animation, Bottom navigation bar, Bottom app bar,
Tabbar and view.
Scrolling: Card, list view, list tile, Gridview, using Stack. 08 hours
Layout: High level view of layout, Creating layout.
Interactivity: Set up Gesture detector, Draggable and Dragtarget Widgets, Moving and
Scaling, Dismissible Widget.
Finalizing App development
Understanding the JSON Format, Using Database Classes to Write, Read, and Serialize
JSON, Formatting Dates, sorting a list of dates, Retrieving Data with the FutureBuilder, 04 hours
Building the Journal App, Adding the Journal Database Classes, Adding the Journal
Entry Page, Finishing the Journal Home Page.
Adding Firebase and Firestore Backend
Introduction to Firebase and Cloud Firestore, Structuring and Data Modelling Cloud
Firestore, Viewing Firebase Authentication Capabilities, Viewing Cloud Firestore
Security Rules, Configuring the Firebase Project, adding a Cloud Firestore Database and 04 hours
Implementing Security, Building the Client Journal App,
Adding Authentication and Cloud Firestore Packages to the Client App, Adding Basic
Layout to the Client App, Adding Classes to the Client App.
Here are some practical assignments for mobile app development using Flutter;
1. Simple Calculator
- Build a basic calculator app that can perform addition, subtraction, multiplication, and division.
- Use `TextField` for input and `RaisedButton` for operations.
3. Recipe App
- Create a recipe app that displays a list of recipes.
- Each recipe should have a detail page with ingredients and instructions.
- Implement navigation between the list and detail pages.
4. Notes App
- Build a notes app where users can create, view, edit, and delete notes.
- Use local storage (e.g., `SharedPreferences` or `sqflite`) to save the notes.
5. Expense Tracker
- Develop an expense tracker app that allows users to log their expenses.
- Display a summary of expenses by category and date.
- Use charts to visualize spending patterns.
6. E-commerce App
- Develop a simple e-commerce app with a product list and product detail pages.
- Implement a shopping cart where users can add products and proceed to checkout.
7. Chat App
- Build a basic chat application with a login screen and a chat screen.
- Use a backend service like Firebase for real-time messaging.
8. Fitness Tracker
- Create a fitness tracker app that logs workout activities.
- Display statistics like total time spent, calories burned, and workout history.
9. Music Player
- Create a music player app that can play audio files from the device.
- Implement basic controls like play, pause, next, and previous.
Course Objective
The objective of the “Multimedia and Its Applications” course is to provide students with a thorough
understanding of multimedia technologies and their practical applications across various domains.
Students will learn to integrate and manipulate different media elements such as text, audio, images,
video, and animation to create compelling and interactive content. The course will cover essential topics
including Digital Data Acquisition, Media Representation and Media Formats, Colour Theory,
Multimedia Authoring, Multimedia Compression, Application of Compression, Media Compression,
Multimedia Distribution, and Wireless Multimedia Networking.
Syllabus Overview
1. Digital Data Acquisition: Techniques and tools for capturing and digitizing various forms of
media.
2. Media Representation and Media Formats: Understanding different media formats and how
they are represented digitally.
3. Colour Theory: Principles of colour and its application in multimedia design.
4. Multimedia Authoring: Tools and techniques for creating multimedia content.
5. Multimedia Compression: Methods for reducing the size of multimedia files without significant
loss of quality.
6. Application of Compression: Practical uses of compression in various multimedia applications.
7. Media Compression: Advanced techniques for compressing different types of media.
8. Multimedia Distribution: Strategies for distributing multimedia content across different
platforms.
9. Wireless Multimedia Networking: Technologies and protocols for delivering multimedia
content over wireless networks.
Description Teaching
Hours
Introduction to Multimedia
Components of Multimedia.
Multimedia: Past and Present: History of multimedia, Hypermedia, WWW, and
Internet, multimedia in the new millennium. 02 hours
Multimedia Software Tools: Music Sequencing and Notation, Digital Audio,
Graphics and Image Editing, Video Editing, Animation, Multimedia Authoring.
Multimedia in the Future.
Digital Data Acquisition
Analog and Digital Signals: Analog-to-Digital conversion, Sampling, Quantization,
bit rate.
Signals and Systems: Linear Time Invariant Systems, Fundamental Results in Linear
Time Invariant Systems, useful signals, Fourier Transform. 04 hours
Sampling Theorem and Aliasing: Spatial and Temporal Aliasing, Moiré Patterns and
Aliasing.
Filtering: Digital Filters, 1D, 2D Filtering, Subsampling, Fourier Theory.
Media Representation and Media Formats (qualitative approach)
Digital Images: Digital Representation of Images, aspect ratio, Digital Image Formats.
Digital Video: Representation of Digital Video, Analog Video and Television, types
of Video Signals, YUV Subsampling Schemes, Digital Video Formats. 04 hours
Digital Audio: Digital representation of audio, Surround Sound, Spatial Audio,
commonly used audio formats.
Graphics
Colour Theory
Colour Problem: History of Colour and Light, Human Colour Sensing, Human Colour
Perception.
Trichromacity Theory: Cone Response, Tristimulus Vector, Colour Calibration,
Colour Cameras, Rendering Devices, Calibration Process, CIE Standard and Colour-
Matching Functions. 03 hours
Colour Spaces: The CIE XYZ Colour Space, RGB Colour Space, CMY or CMYK
Colour Space, YUV Colour Space, HSV Colour Space, Uniform Colour Space, Device
Dependence of Colour Spaces.
Gamma Correction and Monitor Calibration.
Multimedia Authoring
Examples of Multimedia, Requirements for Multimedia Authoring Tools.
Intramedia Processing: Issues related to images, issues related to video, Issues related
to audio, Issues related to 2D/3D graphics.
Intermedia Processing: Spatial Placement, Temporal, Interactivity Setup.
Multimedia Authoring Paradigms and User Interfaces: Timeline, Scripting, Flow 05 Hours
Control, Cards.
Role of User Interfaces: On mobile devices, multiple devices as user interfaces.
Device-Independent Content Authoring, distributed authoring and versioning,
multimedia services and content management, asset management.
Multimedia Compression (Qualitative approach)
Overview of Compression, need for compression.
Basics of Information Theory: Information theory definitions, information
representation, entropy, efficiency.
Taxonomy of Compression: Compression Metrics, rate distortion.
Lossless Compression (Qualitative): Run length encoding repetition suppression, 05 hours
Pattern substitution, Huffman Coding, Arithmetic Coding.
Lossy Compression (Qualitative): Differential PCM, Vector Quantization, transform
coding sub-band coding, hybrid compression techniques.
Practical Issues Related to Compression Systems (Qualitative): Encoder speed and
complexity, rate control, symmetric and asymmetric compression, adaptive and
nonadaptive compression.
Application of Compression (Qualitative approach)
Media Compression: Images
Redundancy and Relevancy of Image Data, Classes of Image Compression
Techniques.
Lossless Image Coding: Image coding based on run length, Dictionary-Based Image
Coding (GIF, PNG), Prediction-Based Coding.
Transform Image Coding: DCT Image Coding and the JPEG Standard, JPEG Bit 04 hours
Stream, drawbacks of JPEG.
Wavelet Based Coding (JPEG 2000): Preprocessing Step, Discrete Wavelet
Transform, JPEG 2000 Versus JPEG.
Transmission Issues in Compressed Images: Progressive Transmission using DCTs
in JPEG, Progressive Transmission using Wavelets in JPEG 2000.
Discrete Cosine Transform.
Media Compression: Video (Qualitative approach)
General Theory of Video Compression: Temporal Redundancy, Block-Based Frame
Prediction, Computing motion vectors, Size of Macroblocks, Open Loop versus closed 03 hours
loop motion compensation.
Types of Predictions: I Frames, P Frames, B Frames, Multiframe Prediction, Video
Structure—Group of Pictures.
Complexity of Motion Compensation: Sequential or Brute Force Search,
Logarithmic Search, Hierarchical Search.
Video-Coding Standards (Qualitative approach): H.261, H.263, MPEG-1, MPEG-
2, MPEG-4 VOP and Object Base Coding, SP and ASP, H.264 or MPEG-4 AVC 25.
Media Compression: Audio (Qualitative approach)
Need for Audio Compression, Audio-Compression Theory, Audio as a Waveform:
DPCM and Entropy Coding, Delta Modulation, ADPCM, Logarithmic Quantization
Scales-A-law and & law. 03 hours
Audio Compression Using Event Lists: Structured representations and synthesis
methodologies, advantage of structured audio.
Audio Coding Standards: MPEG-1, MPEG-2, Dolby AC-2 and AC-3, MPEG-4,
MIDI, MP-3.
Media Compression: Graphics (Qualitative approach)
Need for Graphics Compression, 2D Graphics Objects: Points, Regions, Curves.
3D Graphics Objects: Polygonal descriptions, Patch-based descriptions, Constructive
Solid Geometry.
Graphics Compression in Relation to Other Media Compression, Mesh
Compression Using Connectivity Encoding: Triangle Runs, Topological Surgery 03 hours
(TS) Compression Algorithm, Analysis of Topological Surgery.
Mesh Compression Using Polyhedral Simplification: Progressive Meshes, Analysis
of Progressive Meshes.
Multiresolution Techniques—Wavelet-Based Encoding, Progressive encoding
and level of detail.
3D Graphics Compression Standards: VRML, X3D, MPEG-4, Java 3D.
Multimedia Distribution
Multimedia Networking, OSI Architecture, Networks: LAN, WAN.
Modes of Communication: Unicast, Multicast, Broadcast.
Routing: Approaches to Routing, Routing algorithms, Broadcast Routing. 04 hours
Multimedia Traffic Control: Congestion Control, Flow Control.
Networking Performance and Quality of Service: Throughput, Error Rate, Delay or
Latency, Quality of Service (QoS).
Multimedia Communication Standards and Protocols: General Protocols, Media-
Related Protocols.
Wireless Multimedia Networking
Wireless versus wired technology, history of wireless development, Basics of Wireless
Communications: Radio Frequency Spectrum and Allocation, Radio-Based
Communication, Medium Access (MAC) Protocols for Wireless. 05 hours
Wireless Generations and Standards: Cellular Network Standards, Wireless LAN
Standards, Bluetooth (IEEE 802.15).
Wireless Application Protocol (WAP), Problems with Wireless Communication:
Multipath Effects, Attenuation, Doppler Shift, Handovers.
Here are some laboratory experiments related to multimedia and its applications that can considered
for students:
1. Image Editing and Manipulation
Objective: Learn the basics of image editing and manipulation.
Tools: GIMP
Tasks:
o Adjust brightness, contrast, and colour balance.
o Apply filters and effects.
o Combine multiple images into a single composition.
Assessment Criteria: Creativity, technical execution, and understanding of tools.
2. Audio Editing and Mixing
Objective: Understand audio editing and mixing techniques.
Tools: Audacity.
Tasks:
o Edit and trim audio clips.
o Apply effects like reverb, echo, and equalization.
o Mix multiple audio tracks.
Assessment Criteria: Clarity, technical quality, and creativity.
3. Video Editing and Production
Objective: Learn the fundamentals of video editing and production.
Tools: Open shot.
Tasks:
o Import and organize video clips.
o Apply transitions and effects.
o Add titles, captions, and background music.
Assessment Criteria: Storytelling, technical execution, and creativity.
4. 2D Animation
Objective: Create a simple 2D animation.
Tools: Synfig Studio.
Tasks:
o Develop a storyboard.
o Design characters and backgrounds.
o Animate scenes using keyframes.
Assessment Criteria: Creativity, smoothness of animation, and technical execution.
5. 3D Modelling and Animation
Objective: Understand the basics of 3D modelling and animation.
Tools: Blender.
Tasks:
o Create 3D models of objects.
o Apply textures and materials.
o Animate the models.
Assessment Criteria: Creativity, technical execution, and realism.
6. Broadcasting and Streaming
Objective: Understand the basics of broadcasting, recording and streaming.
Tools: OBS.
Tasks:
a. Screen recording.
b. Broadcast and stream (YouTube live).
Assessment Criteria: Broadcasting with scene changing, filtering, recording screen content and
YouTube live streaming.
These experiments can help students gain hands-on experience with various multimedia tools and
techniques, enhancing their understanding and skills in multimedia applications.
Reference Books
Course Objective
The objective of the “Computer Organization and Architecture” course is to provide students with a
comprehensive understanding of the fundamental principles and concepts underlying the design and
functionality of computer systems. Students will explore the basic structure of computers, including the
organization and design of the central processing unit (CPU), control unit, and memory. The course will
cover essential topics such as Register Transfer and Micro-operations, CPU Registers, Instructions, and
the differences between CISC and RISC processors. Additionally, students will learn about computer
peripherals, input/output organization, and various memory types and management techniques.
Syllabus Overview
1. Basic Structure of Computers: Introduction to the fundamental components and their
interactions.
2. Register Transfer and Micro-operation: Understanding data transfer and micro-operations
within the CPU.
3. Basic Computer Organization and Design: Principles of computer design and organization.
4. CPU Organization: Detailed study of CPU architecture and its components.
5. Control Unit: Design and functionality of the control unit in a computer system.
6. CPU Registers: Types and roles of CPU registers in processing.
7. Instructions: Instruction set architecture and execution.
8. CISC and RISC Processors: Comparison and characteristics of CISC and RISC architectures.
9. Computer Peripherals: Overview of peripheral devices and their interfaces.
10. Input/Output Organization: Techniques and methods for I/O operations.
11. Memory: Types of memory, memory hierarchy, and management techniques.
Description Contact
hours
(1). Construct an Arithmetic Unit capable of performing 4-bit subtraction and Addition using 2's
complement method. Use Parallel Adders and other necessary logic gates.
(2). Construct a 2-bit logical unit using logic gates capable of performing 2-bit, Bitwise ORing,
ANDing, XORing and inversion
(3). Construct a 4-bit ALU unit which can perform the following operation;
Selection Function
S1 S0
0 0 Addition
0 1 Subtraction
1 0 XOR-ing
1 1 Complement
(4). Construct a 2-bit Carry Look Ahead (CLA) Adder using logic gates.
(5). Study and construct a 1-digit BCD/Decimal adder using parallel adders and other necessary logic
gates.
(6). Construct a Binary Multiplier using basic logic gates.
(7). Subtraction with 1's complement method using parallel adders and logic gates(necessary).
(8). Construction of BCD Subtractor with 9'S complement method using parallel adders.
(9). Construction of BCD Subtractor with 10'S complement method using parallel adders.
(10). Binary magnitude comparators (up to 4 bits) using parallel adder and logic gates.
(11). Cascading of 4-bit parallel adder (7483/74283) to construct an 8-bit adder circuit.
(12). Construct a Serial in Serial out 2/4-bit register.
(13). Construct a 2-bit Universal Shift register.
(14). Construct a 2/4-bit ring counter using edge triggered D Flip-Flops.
(15). Construct a 4 - bit Johnson Counter.
(16). Horizontal and Vertical Cascading of memory modules (7489/74189).
(17). Code converters using memory modules.
Text/Reference Books
1. Computer System Architecture, Morries Mano, Pearson.
2. Computer Organization & Architecture, Williams Stallings, Pearson.
3. Computer Organization, Hamacher, Vranesic and Zaky, McGraw Hill.
4. Computer Architecture and Organization, Govindrajalu, Tata McGraw Hill.
5. Computer Architecture and Organization, J P Hayes, Tata McGraw Hill.
6. Structured Computer Organization, Andrew S. Tanenbaum, Austin, Pearson.
Note: Laboratory work must be conducted using integrated circuits on a breadboard, along with other
necessary devices and equipment.
CMAM: Computer Application – Database Management system
DSC/CC-7, Theory, Semester – 4, Credits - 03, Contact hours - 45.
Course Objective
The objective of this Database Management Systems (DBMS) course is to provide students with a
comprehensive understanding of the fundamental concepts and techniques used in the design,
implementation, and management of database systems.
The course begins with an Introduction to database systems, covering their importance and
applications.
Students will then explore Entity Relationship (ER) Modelling, which is essential for
conceptual database design.
The Relational Model will be introduced, focusing on its structure and the principles behind
it. Integrity Constraints will be discussed to ensure data accuracy and consistency.
The course will delve into Relational Database Design, emphasizing normalization and
schema refinement.
Students will gain practical skills in SQL for querying and managing databases.
Finally, the course will cover Record Storage and File Organization concepts, providing
insights into how data is physically stored and accessed. By the end of the course, students will
be equipped to design, implement, and manage efficient and effective database systems.
Description Teaching
Hours
Introduction
Drawbacks of Legacy System; Advantages of DBMS; Layered Architecture of Database,
04 hours
Data Independence; Data Models; Schemas and Instances; Database Languages;
Database Users, DBA; Data Dictionary.
Entity Relationship (ER) Modelling
Entity, Attributes and Relationship, Structural Constraints, Keys, ER Diagram of Some
Example Database, Weak and strong Entity Set, Specialization and Generalization, 04 hours
Constraints of Specialization and Generalization, Aggregation.
Relational Model
Basic Concepts of Relational Model; Relational Algebra; Tuple Relational Calculus; 08 hours
Domain Relational Calculus.
Integrity Constraints 04 hours
Domain Constraints, Referential Integrity, View.
Relational Database Design
Problems of Un-Normalized Database; Functional Dependencies (FD), Derivation
Rules, Closure of FD Set, Canonical Cover; Normalization: Decomposition to 1NF, 10 hours
2NF, 3NF or BCNF Using FD; Lossless Join Decomposition Algorithm; Dependency
preservation.
SQL
Basic Structure, Data Definition, Constraints and Schema Changes; Basic SQL Queries
(Selection, Insertion, Deletion, Update); Order by Clause; Complex Queries, Aggregate 10 hours
Function and Group by Clause; Nested Sub Queries; Views, Joined Relations; Set
Comparisons (All, Some); Derived Relations.
Record Storage and File Organization (Concepts only)
Fixed Length and Variable Length Records; Spanned and Un-Spanned Organization of 05 hours
Records; Primary File Organizations and Access Structures Concepts; Unordered,
Sequential, Hashed; Concepts of Primary and Secondary Index; Dense and Sparse Index;
Index Sequential Files; Multilevel Indices.
CMAM: Computer Application – RDBMS Lab
DSC/CC-7, Theory, Semester – 4, Credits - 01, Contact hours - 30.
1. Create a Database: Design and create a database for a university, including tables for students,
courses, and enrolments.
2. Insert Data: Populate the university database with sample data using INSERT INTO statements.
3. Basic Queries: Write SELECT queries to retrieve data from the students and courses tables.
4. Filtering Data: Use WHERE clauses to filter students based on their enrollment status or courses
based on their credits.
5. Aggregate Functions: Calculate the average, minimum, and maximum grades for students using
AVG, MIN, and MAX.
6. Grouping Data: Group students by their major and calculate the average GPA for each group
using GROUP BY.
7. Joining Tables: Write JOIN queries to combine data from students and enrolments tables to list
all students and their enrolled courses.
8. Subqueries: Use subqueries to find students who are enrolled in more than three courses.
9. Updating Records: Update the contact information for a student using the UPDATE statement.
10. Deleting Records: Remove students who have graduated using the DELETE statement.
11. Creating Indexes: Create indexes on the students table to improve query performance.
12. Stored Procedures: Write a stored procedure to calculate and update the GPA for each student.
13. Triggers: Create a trigger to automatically update the total number of students enrolled in a course
when a new enrolment is added.
14. Views: Create a view to display the list of students along with their total credits earned.
15. Transactions: Implement transactions to ensure data integrity when enrolling students in courses.
16. Normalization: Normalize a given set of tables to the third normal form (3NF).
17. Backup and Restore: Perform a backup of the database and restore it to a new instance.
18. User Management: Create and manage user accounts with different privileges.
19. Security: Implement security measures such as encryption and access control.
20. Performance Tuning: Analyse and optimize query performance using EXPLAIN and other tools.
Note: The examples provided are just a few, and additional ones can be included according to
the syllabus.
Text/ Reference Books
Course Objective
The objective of this Object-Oriented Programming (OOP) using Java course is to equip students with
a solid foundation in the principles and practices of OOP, enabling them to design and develop robust,
reusable, and maintainable software.
The course will cover essential OOP concepts such as abstraction, encapsulation,
inheritance, and polymorphism, and demonstrate their application in Java.
Students will learn to create and manipulate classes and objects, implement interfaces, and use
Java’s built-in libraries effectively.
The syllabus includes an Introduction to OOP and Java, Classes and Objects, Methods and
Constructors, Inheritance and Polymorphism, Exception Handling, File I/O, and
Collections Framework.
By the end of the course, students will be proficient in using Java to solve complex
programming problems and will have developed the skills necessary to build scalable and
efficient software systems.
Description Contact
Hours
Concept of OOPs
Difference with procedure-oriented programming, Data abstraction and information 02 hours
hiding: Objects, Classes, methods.
Introduction to Java
Java Architecture and features, understanding the semantic and syntax differences
between C++ and Java, Compiling and executing a Java Program, variables, constants,
keywords data types, Operators (Arithmetic, Logical and Bitwise) and expressions,
comments, doing basic program output, decision making constructs (conditional 04 hours
statements and loops) and nesting, Java methods (defining, scope, passing and returning
arguments, type conversion and type and checking, built-in Java class methods).
Applets
Java Applets: Introduction to Applets, Writing Java Applets, Working with Graphics,
Incorporating Images & Sounds. Event Handling Mechanisms, Listener Interfaces,
10 hours
Adapter and Inner Classes. The design and Implementation of GUIs using the AWT
controls, Swing components of Java Foundation Classes such as labels, buttons,
textfields, layout managers, menus, events and listeners; Graphic objects for drawing
figures such as lines, rectangles, ovals, using different fonts. Overview of servlets.
1. Person Class: Create a class called Person with attributes for name and age. Implement
methods to set and get these attributes.
2. Rectangle Class: Create a class called Rectangle with attributes for width and height.
Implement methods to calculate the area and perimeter.
3. Circle Class: Create a class called Circle with an attribute for radius. Implement methods to
calculate the area and circumference.
4. Book Class: Create a class called Book with attributes for title, author, and ISBN. Implement
methods to add and remove books from a collection.
5. Employee Class: Create a class called Employee with attributes for name, job title, and salary.
Implement methods to calculate and update salary.
6. Bank Account Class: Create a class called BankAccount with attributes for account number,
account holder’s name, and balance. Include methods for depositing and withdrawing money,
and checking the balance.
7. Traffic Light Class: Create a class called TrafficLight with attributes for color and duration.
Implement methods to change the color and check if the light is red or green.
8. Inheritance Example: Create a base class Shape with a method to calculate the area. Derive
classes Triangle and Rectangle from Shape and override the area calculation method.
9. Interface Example: Create an interface Vehicle with methods for starting, stopping, and
accelerating. Implement this interface in classes Car and Bike.
10. Abstract Class Example: Create -abstract class Animal with an abstract method makeSound().
Derive classes Dog and Cat from Animal and implement the makeSound() method.
11. Polymorphism Example: Create a class Shape with a method draw(). Derive classes Circle,
Rectangle, and Triangle from Shape and override the draw() method. Demonstrate
polymorphism by calling the draw() method on different shapes.
12. Exception Handling: Create a class that handles arithmetic exceptions. Implement methods to
perform division and handle cases where division by zero occurs.
13. File Handling: Create a class to read from and write to a file. Implement methods to save and
load a list of Person objects to and from a file.
14. Collections Example: Create a class to manage a collection of Book objects using an
ArrayList. Implement methods to add, remove, and search for books.
15. GUI Application: Create a simple GUI application using Swing to manage a list of Employee
objects. Implement features to add, remove, and display employees.
16. ATM Simulation: Create a class to simulate an ATM machine. Implement methods for
checking balance, withdrawing money, and depositing money.
17. Library Management System: Create classes for Book, Member, and Library. Implement
methods to issue and return books, and to manage the list of books and members.
18. Shopping Cart: Create classes for Product, CartItem, and ShoppingCart. Implement methods
to add and remove items from the cart, and to calculate the total price.
Note: The examples provided are just a few, and additional ones can be included according to the
syllabus.
Text/Reference Books