0% found this document useful (0 votes)
4 views42 pages

Computer Application CCF

The University of Calcutta offers a 4-year B.Sc. degree program in Computer Application, structured across eight semesters with core vocational courses and practical labs. The curriculum includes foundational subjects such as Computer Fundamentals, Digital Logic, Data Visualization, and advanced topics like Machine Learning and Game Design, along with an internship and a final project. Recommended hardware and software specifications for labs are also provided to ensure students have the necessary tools for their studies.

Uploaded by

haldersoham253
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views42 pages

Computer Application CCF

The University of Calcutta offers a 4-year B.Sc. degree program in Computer Application, structured across eight semesters with core vocational courses and practical labs. The curriculum includes foundational subjects such as Computer Fundamentals, Digital Logic, Data Visualization, and advanced topics like Machine Learning and Game Design, along with an internship and a final project. Recommended hardware and software specifications for labs are also provided to ensure students have the necessary tools for their studies.

Uploaded by

haldersoham253
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

University

of
Calcutta

B.Sc 4 - years degree


program in Computer
Application under credit
framework.
(2024)
Semester – I, II, III & IV
(Core-Vocational)
Structure of 4-Year B.Sc. program in Computer Application (Core
Vocational).

Semester Theory Practical Modality of SEC Practical Modality of


Paper Practical Practical

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

Problem Problem Full Marks – 25 Web Web Full Marks = 50


II Solving using Solving Experiment = 15 Development. Development Experiment = 30
C. using C Viva = 05 lab. Viva-Voce = 10
Lab. LNB = 05 LNB = 10
* in house * in house
Credit-3 Credit-1 Credit-2 Credit-2
Data Data
Structure structure Full Marks = 50
III lab Full Marks – 25 Mobile App Mobile App Experiment = 30
Credit-3 Credit-1 Experiment = 15 Development Development Viva-Voce = 10
Programing Python Viva = 05 Lab LNB = 10
LNB = 05 * in house`
in Python. lab
* in house
Credit-2 Credit-2
Credit-3 Credit-1

Semester Theory Paper Credit Practical/Lab Credit Modality of


Practical

Multimedia and Its Application 3 Multimedia Lab 1


Full Marks – 25
Computer Architecture & 3 Computer Architecture 1 Experiment =
Organization & Organization Lab 15
IV
Viva = 05
Database Management system 3 RDBMS Lab 1 LNB = 05
Object Oriented Programming 3 OOPs using Java 1 * in house
Semester Theory Paper Credit Practical/Lab Credit Modality of
Practical

Data Communication and 3 Computer Networking Lab 1


Networking
Full Marks – 25
Introduction to Algorithms 3 Lab using C 1 Experiment = 15
V
Viva-Voce = 05
Operating System 3 Operating Systems Lab 1 LNB = 05
* in house
Mathematical Methods 3 Lab using Python 1

Introduction to Machine 3 ML Lab 1 Full Marks – 25


learning Experiment = 15
Viva-Voce = 05
Embedded systems 3 Embedded systems lab 1 LNB = 05
VI
* in house
Software Engineering 3 Software Engineering Lab 1

Internship (Twelve weeks) Credit - 16

Introduction to Game design 3 Game design lab 1 Full Marks – 25


VII Experiment = 15
Viva-Voce = 05
LNB = 05
* in house

VIII Project 16 Project presentation/Viva 4


Computer and other hardware recommended for laboratory (Upgrade/New installation)

1. Minimum System requirement


Computer Hardware upgradation recommended

 Processor: Ryzen-3 (3200) series or Ryzen-5 (4600G/5600G) or higher series with


compatible motherboard.
Or
 Processor: Intel i-3 10th generation and above, i5 12th generation and above with
compatible mother board with integrated graphics.
 Memory: DDR-4/5 (3200), 8 GB (minimum recommended) or more
 Operating System: Window-10/11 (64 - bit), or Linux (Ubuntu latest version).
 Open Office/licensed office.
 Upgrade hard disk to SSD (recommended).

2. Hardware laboratory
Digital Circuit lab

 +5V dc Regulated power supply


 Digital multimeter
 Integrated Circuits – 7400, 7402, 7404, 7408, 7410, 7411, 7420, 7432, 7442, 7447, 7446,
7474, 7476, 7483/74283, 7486, 7489/74189, 7490, 74112, 74138, 74147, 74151, 74153,
74157, 74194, 74244, 74373.
 LED.
 Resistors: 100 Ω, 220 Ω, 330 Ω, 470 Ω, 560 Ω, 1K Ω, 1.5K Ω, 2.2K Ω, 4.7K Ω, 10K Ω,
15K Ω, 22k Ω, 100K Ω.
 Semiconductor devices: 1N4007.
 Jumper wires
 Cutters.
 Wish-board or bread board
Semester - I
Paper Paper type Paper name Credit Contact hours

Theory Computer fundamentals and Digital Logic 3 45


DSC/CC-1 Practical Computer fundamentals and Digital Logic 1 30
lab

Theory Data visualization using spreadsheet 2 30


SEC – 1 Practical Data visualization using spreadsheet Lab 2 45

CMAM: Computer Application - Theory: Computer Fundamentals and Digital Logic


Core Course, Theory, Semester – 1, Credits - 03, Contact hours - 45.
Course description:
The course introduces the fundamental principles and concepts of digital logic, which form the
foundation of digital systems and computer architecture. Students will learn about Boolean algebra,
logic gates, combinational and sequential circuits, and the design and analysis of digital systems.
Course Objectives:
By the end of the course, students should be able to:
1. Understanding of Computer fundamentals, generations, classification of computers and brief
understanding of languages used.
2. Understand the principles and terminology of digital logic.
3. Analyze and simplify Boolean expressions using Boolean algebra.
4. Design and implement combinational logic circuits using logic gates.
5. Design and analyze sequential logic circuits, including flip-flops and registers.
6. Apply digital logic concepts to solve practical problems.
7. Utilizing discrete logic gates and integrated circuits on breadboards for the design of digital
circuits to enhance hands-on experience and practical understanding.

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

Fundamentals of Boolean Expression: Definition of Switching Algebra, Basic properties


of Switching Algebra, Huntington's Postulates, Basic logic gates (AND, OR, NOT), De-
Morgan's Theorem, Universal Logic gates (NAND & NOR), XOR and others, Minterm,
Maxterm, Minimization of Boolean Functions using Karnaugh-Map up to four (4)
4 hours
variables, two level and multilevel implementation using logic gates, simplification of logic
expressions.

Combinational Circuits

Adder & Subtractor


Half adders (2-bit), half Subtractor (2-bit), Full Adder (3-bit), Full Subtractor (3-bit) 5 hours
realization using logic gates, Carry Look Ahead adders, BCD adder, 1’s and 2’s
complement adders/subtractor unit using 4-bit parallel adders.
Data Selector/Multiplexer
Realization of multiplexers (4 to 1 and 8 to 1) using logical gates, expansion (Cascading), 5 hours
realization of AND, OR and NOT using multiplexers, realization of different Boolean
expressions (SOP) using multiplexers.
Data Distributor
De-multiplexer, Cascading, realization of various functions. 2 hours
Encoders
Realization of simple and priority encoders using basic and universal logic gates. 2 hours
Chip Selector/Minterm Generator
Realization of decoders using logic gates, function realization, BCD Decoders, Seven 3 hours
Segment display and decoders, cascading.
Parity bit, Code Converters and magnitude comparators
Parity bit generator/checker, Gray to binary code, binary to Gray code and Gray to Excess- 2 hours
3 code converter, 2 & 3 bit magnitude comparators.
Sequential Circuits

Latch & Flip-Flops


Basic Set/Reset (SR) Latch using NAND and NOR gates, Gated S-R latches, Gated D
Latch, Gated J-K Latch, race around condition, Master-Slave J-K flip flop, negative and 5 hours
positive clock edge detector circuits, edge triggered SR, D, JK, and T flip flop, flip-flop
Conversions.
Registers
Serial Input Serial Output (SISO), Serial Input Parallel Output (SIPO), Parallel input Serial 3 hours
Output (PISO), Parallel Input Parallel Output (PIPO), Universal Shift Registers.
Counters
Asynchronous Counter 4 hours
UP/DOWN Counters, Mod - N Counters, BCD Counter (Counter Construction using J-K
and T Flip Flops).
Synchronous Counter
UP/DOWN Counters, Mod-N Counters, Ring & Johnson Counters. 3 hours
Integrated Circuits (Qualitative Study): DTL, TTL: Concepts of Fan in & out, TTL
NOT, TTL NAND & NOR, NMOS, PMOS, CMOS, IC fabrication (Concepts only): SSI, 2 hours
MSI, LSI, VLSI, ULSI.
CMAM: Core Course/DSE, CMSA- Practical: Computer Fundamentals and Digital Logic Lab,
Semester – 1, Credits - 01, Contact hours - 30.

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

1. Realization of SR, D, JK Clocked/Gated, Level Triggered flip-flop using logic gates.


2. Master Slave flip-flop using discrete digital logic gates.
3. Conversion of flip-flops: D to JK, JK to D, JK to T, SR to JK, SR to D Flip-flop.
4. Design asynchronous counters MOD-n (upto 4 bits) UP/ DOWN.
5. Construction Synchronous UP/Down Counter (maximum 4 bits).

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

1. The purpose and potential applications of spreadsheets.


2. Create, format, and modify spreadsheets.
3. Use of formulas, functions, and calculations to perform data visualization.
4. Understanding and utilization of advanced spreadsheet features such as data validation,
conditional formatting, and pivot tables.
5. Design visually appealing charts and graphs to represent data.
6. Collaborate and share spreadsheets with others.
7. Apply spreadsheet skills to real-world scenarios and problem-solving.
8. Role of spreadsheets in data analysis.
9. Import, clean, and transform data for analysis.
10. Applicability of statistical and mathematical functions for data visualization.
11. Advanced features and tools for data visualization.
12. Perform exploratory data analysis and identify patterns and trends.
13. Create informative reports and summaries based on data analysis.
14. Apply data analysis techniques to real-world problems.

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.

Working with Data and Tables

Entering and revising data, moving data within a workbook, finding and replacing data, 2 hours
correcting and expanding upon worksheet data, defining tables.

Performing Calculations on Data

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.

Recommended Application Software

1. Google Spreadsheets
2. Libre/Open Office
3. Excel sptreadsheets
Semester - II
Paper Paper type Paper name Credit Contact hours

Theory Problem Solving using C 3 45


DSC/CC-2 Practical Problem Solving using C Lab 1 30

Theory Web Development 2 30


SEC – 2 Practical Web Development Lab 2 45

CMAM: Computer Application - Theory: Problem Solving using C


DSC/CC-2, Theory, Semester – 2, Credits - 03, Contact hours - 45.

Objective of the Course


The objectives of this course are to make the student understand programming language, programming,
concepts of Loops, reading a set of Data, stepwise refinement, Functions, Control structure, Arrays.
After completion of this course the student is expected to analyze the real-life problem and write a
program in ‘C’ language to solve the problem. The main emphasis of the course will be on problem
solving aspect i.e. developing proper algorithms.
After completion of the course the student will be able to;
1. Develop efficient algorithms for solving a problem.
2. Use the various constructs of a programming language viz. conditional, iteration and recursion.
3. Implement the algorithms in “C” language.
4. Use simple data structures like arrays, stacks and linked list in solving problems.
5. Handling File in “C”.
Outline of Course

S. No. Topic Minimum


number of 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.

1. E. Balagurusamy, “Programming with ANSI-C”, Fourth Edition,2008, Tata McGraw Hill.


2. Venugopal K. R and Prasad S. R, “Mastering ‘C’”, Third Edition, 2008, Tata McGraw Hill.
3. B.W. Kernighan & D. M. Ritchie, “The C Programming Language”, Second Edition, 2001, Pearson
education.
4. ISRD Group, “Programming and Problem-Solving Using C”, Tata McGraw Hill,2008.
5. Pradip Dey, Manas Ghosh, “Programming in C”, Oxford University Press, 2007.

CMAM: Computer Application - Practical: Problem Solving using C


DSC/CC-2, Practical, Semester – 2, Credits - 01, Contact hours - 30.

Algorithms / Flowchart (Sample and simple assignments)


1. Design a flowchart/ Algorithm for a basic calculator that accepts two numbers and an operator
(+, -, *, /) as input from the user and performs the corresponding operations, and
displaying/print the result.
2. Create a flowchart/Algorithm that converts a temperature from Celsius to Fahrenheit or vice
versa based on user input.
3. Design a flowchart/Algorithm that calculates the factorial of a given positive integer provided
by the user.
4. Create a flowchart/Algorithm that finds and displays the largest number among three input
numbers given by the user.
5. Design a flowchart/Algorithm to implement the linear search algorithm to find a specific
element in an array of integers. The array and the element to search for should be taken as user
input.
6. Create a flowchart/Algorithm that calculates the area and perimeter/circumference of different
shapes (e.g., circle, rectangle, triangle) based on user input for dimensions.
7. Design a flowchart/Algorithm that checks whether a given input string is a palindrome or not.
Introduction to ‘C’ Language (Assignments/examples related to simple C program.)
8. Write a program in C to read two numbers and produce the sum and product of those numbers
and show the result separately.
9. Write a program in C to read two numbers and print the greater number, if both the numbers
are same them print “EQUAL”.
10. Write a program in C multiple numbers say n and print the greatest and the third greatest.
11. Write a program in C to read n numbers and print the even/odd numbers up to n.
12. Write a program in C to read a number and print the sum of n natural numbers.
13. Write a program in C to read a number n and print factor of n.
14. Write a program in C to read a number n and print first 10 multiples of n.
15. Write a program in C to read a number n and print if n is “PRIME” or “COMPOSITE”.
16. Write a program in C to calculate the average of a set of N numbers.
17. Write a program in C convert the temperature given in Celsius to Fahrenheit or vice-versa.
18. Write a program in C to determine and print the sum of the following harmonic series for a
given value of n: 1+1/2+1/3+……..1/n.
19. Write a program in C that reads a floating-point number and then displays the right most digits
of integral part of the number.
20. Write a program in C to accept the length and breadth in meters and calculate the area and
perimeter and also determine if it is a rectangle or a square based on the inputs given.
21. Write a program in C to accept an input and determine if the input entered is a number or
alphabet or a special character.
22. Write a program in C to accept a word and then print the reverse case that is lower to upper or
upper to lower case.
23. Write an interactive program in C which will demonstrate the process of
division/multiplication, the user should be asked to enter two-digit numbers.
Conditional Statements and Loops (simple examples)
24. Write a program in C to read a number n and print n terms of the Fibonacci series.
25. Write a program in C to read a number n and print a single digit answer showing sum of the
digits of n. (example – input 8626, expected output – 4, explanation 8+6+2+6 = 22, 2+2 = 4).
26. Write a program in C to read a number n and print all the prime numbers up to n.
27. Write a program in C to read a number n and print the following pattern (input = 5, expected
output
1
12
123
1234
12345).
28. Write a program in C to check if the given number is the Armstrong number or not (e.g 153 =
13+53+33).
29. Write a program in C to check the type of the given triangle whether it is equilateral, isosceles
or scalene.
Arrays (examples of few simple programs)
30. Write a program in C to read a string and store it into a character array. Check whether the
string is a palindrome or not and display accordingly.
31. Write a program in C to read a list of numbers stored in an integer array and while saving them
arrange in ascending order.
32. Write a program in C to read two matrices and perform addition.
33. Write a program in C to read two matrix and check their compatibility for multiplication, if
compatible then find product and print it.
34. Write a program in C to read a string and print the triangular pattern using the string.
Functions
35. Write a program in C to print all the Armstrong number from 1 to 500.
36. Write a function convert () that returns a weight in Kg after being given a weight in pounds.
37. Write a function to find all perfect numbers from 1 to 100 (perfect numbers are positive integers
where the sum of perfect divisor is the number itself, e.g., 6 = 1+2+3).
38. Write a function power () to find base raise to power [basepower].
±√
39. Write a program in C to find solution of a quadratic equation [ 𝑥 = ] where values
a, b and c to be accepted from the user as input.
40. Accept inputs from the user and echo it on to the screen in normal as well as in reverse using
void recursive function.
41. Accept any number from the user and calculate the factorial of the number using recursion
42.Accept numbers n and print the odd/even numbers up to n using recursive function.
43.Write a program in C in compute the cubes of all numbers from 10 to 20.
44.Write a program in C to find the GCD of a number.
45.Write a program in C to generate all combinations of 1, 2, 3, 4 using recursion, e.g.,1234,
2341… etc.
Storage Classes
46. Write a program in C to accept a number and find the factorial of the number demonstrating
use of automatic variables.
47. Write a program in C to accept two numbers and find the sum of the number demonstrating use
of external variables.
48. Write a program in C to accept two numbers and find the sum of the number demonstrating use
of global variables.
49. Write a program in C to illustrate the use of static variables.
50. Write a program in C to accept numbers till a negative number is entered and calculate the sum
of a list of numbers read using static variable.
51. Write a program in C to sum integers and use static variable to store the cumulative sum.
Pointers
52. Write a program in C to swap two numbers of n length.
53. Write a program in C for swapping numbers using functions.
54. Write a program in C to illustrate the Call by Value and Call by reference a rule in C
programming.
55. Write a program in C to use a double dimensional array and print each cells value and address.
56. Write a program in C to show the use of Array, declared at compilation time (static manner) to
read 10 numbers and display them.
57. Write a program in C to show the use of Array, declared dynamically to read 10 numbers and
display them.
58. Write a program in C to read a string in a dynamic array and determine whether it is palindrome
or not.
Structures and Unions
59. Write a program in C to read the data of a student, store it in a structure and display it.
60. Write a program in C to read the data of many students, store it in a structure and display the
student’s data and average percentage of the class.
61. Write a program in C to accept two dates from the user, validate both of them and check if they
are different dates.
62. Write a program in C to accept students’ data from the user. Check if the student stream is
science, commerce or arts. If the stream is arts, then print the class of students. If the stream is
science, then print the grade and if the stream is commerce, then print the percentage.
Files
63. Write a program in C showing the technique of opening and closing a file say result.dat and
writing a list of numbers and its square into the file.
64. Write some texts into a file, reopen the file in read mode and reproduce the text on the monitor
(use of putc() and fputc()).
65. Write a few numbers in the file created earlier. Reopen it in Read mode, write odd numbers in
one file and even number in another file (use the getw and putw functions).
66. Write programs to demonstrate the use of getc(), fgetc() and ungetc().
67. Write programs to demonstrate the use of String I/O, Formatted I/O and End of file eof() and
feof().
Recommended assignment content/structure
 Objective
 Algorithm/Flowchart
 Code
 Result
 Conclusion
Platform/Compiler

 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.

CMAM: Computer Application - Theory: Web development


SEC, Theory, Semester – 2, Credits - 02, Contact hours - 30.

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.

CMAM: Computer Application - Web development


SEC, Laboratory, Semester – 2, Credits - 02, Contact hours - 45.

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

CMAM: Computer Application - Theory: Data Structure


DSC/CC-3, Theory, Semester – 3, Credits - 03, Contact hours - 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

CMAM: Computer Application - Practical: Data Structure using C


DSC/CC-3, Practical, Semester – 3, Credits - 01, Contact hours - 30.

1. Array Operations

 Implement basic operations on arrays: insertion, deletion, and searching.


 Write a program to find the maximum and minimum elements in an array.
 Implement sorting algorithms (e.g., bubble sort, insertion sort).
2. Linked Lists

 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 stack using arrays and linked lists.


 Write functions for stack operations: push, pop, and peek.
 Use stacks to evaluate postfix expressions.
4. Queues

 Implement a queue using arrays and linked lists.


 Write functions for queue operations: enqueue, dequeue, and peek.
 Implement a circular queue and a priority queue.
5. Trees

 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 graph using adjacency matrix and adjacency list representations.


 Write programs for graph traversal algorithms: depth-first search (DFS) and
breadth-first search (BFS).
 Implement Dijkstra’s algorithm for finding the shortest path in a weighted graph.
7. Hash Tables

 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.

CMAM: Computer Application – Programming in Python


DSC/CC-4, Theory, Semester – 3, Credits - 03, Contact hours - 45.

Course Objective for Programming in Python


The Programming in Python course aims to provide students with a comprehensive foundation in
Python programming, enabling them to create efficient and effective software solutions.
By the end of the course:
1. students will have a thorough understanding of Python’s syntax, semantics, and core
programming constructs.
2. They will develop problem-solving skills by applying logical thinking and designing algorithms
in Python.
3. Students will learn to use control structures like loops and conditional statements to manage
program flow, write modular and reusable code using functions and modules, and handle files
and exceptions to build robust programs.
4. The course also covers object-oriented programming principles, including the creation of
classes and objects, inheritance, and polymorphism.
5. Students will explore advanced topics such as regular expressions, web scraping, and data
visualization.

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.

Python programming and its parts


Identifiers, Keywords, Statements and Expressions.
Variables: legal variable names, assigning values to variables.
Operators: Arithmetic, Assignment, Comparison, Logical, Bitwise, Precedence and
Associativity.
Data Types: Numbers, Boolean, None, Indentation, Strings: String Operators:
Concatenation Operator (+), Replication Operator, Membership Operator. Functions for
String Handling: len(), Capitalize(), find(), count, Endswith(), Encode, Decode, 05 hour
Miscellaneous Functions.
Comments: Single Line Comment, Multiline Comments, Reading Input, Print Output,
str.format() Method, f-strings.
Type Conversions: int() function, float() function, str() function, chr() function,
complex() function, ord() function, hex(), oct() function, type() function and is operator,
dynamic and strongly typed language.
Lists and Tuples, List, Tuples, Features of Tuples.
Conditional Statements
Introduction, if, if-else, and if-elif-else constructs, if-elif-else Ladder, Logical Operators,
Ternary Operator, get Construct. 03 hour
Looping
Introduction, While, Patterns, Nesting and applications of loops in lists.
Functions
Features of a function: modular programming, reusability of code, manageability.
Basic terminology: Name of a Function, Arguments, Return Value. Definition and
Invocation: Working. 05 hour
Types of Function: Advantage of Arguments, Implementing Search, Scope, Recursion:
Rabbit Problem, disadvantages of using Recursion.
Iterations, Generators, and Comprehensions
Power of “For”, Iterators, Defining an Iterable Object, Generators, Comprehensions. 02 hours
File Handling
File handling mechanism, Open function and file access modes.
Python Functions for File Handling: Essential Ones, OS Methods, Miscellaneous 04 hours
Functions and File Attributes. Command Line Arguments.
Introduction to Object Oriented Paradigm
Creating new types, Attributes and Functions, Elements of Object-Oriented
Programming: Class, Object, Encapsulation, Data hiding, Inheritance, Polymorphism,
Reusability. 05 hours
Classes and Objects
Introduction to Classes, defining a Class, Creating an Object, Scope of Data Members,
Nesting, Constructor, Constructor Overloading, Destructors.
Inheritance
Introduction to Inheritance and Composition, Inheritance and Methods, Composition.
Inheritance Importance and Types: Need for Inheritance, Types of Inheritance.
Methods: Bound, Unbound, Methods are Callable Objects, Importance and Usage of 05 hours
Super, Calling the Base Class Function Using Super.
Search in Inheritance Tree, Class Interface and Abstract Classes.
Operator Overloading
Introduction, _init_ Revisited: Overloading _init_ (sort of).
Methods for Overloading Binary Operators, Overloading Binary Operators: The 05 hours
Fraction Example, Overloading the += Operator, Overloading the > and < Operators,
Overloading the _boolean_ Operators: Precedence of _bool_over _len_, Destructors.
Exception Handling
Importance and Mechanism: Try/Catch, Manually Raising Exceptions. 04 hours
Built-In Exceptions in Python, The Process: Exception Handling: Try/Except, Raising
Exceptions.
Crafting User Defined Exceptions.
Introduction to NUMPY
Introduction to NumPy and Creation of a Basic Array, Functions for Generating 04 hours
Sequence: arange(), linspace(), logspace(). Aggregate Functions, Broadcasting,
Structured Arrays.
Introduction to MATPLOTLIB 02 hours
Plot Function, Subplots, 3-Dimensional Plotting.

CMAM: Computer Application – Programming in Python


DSC/CC-4, Practical, Semester – 1, Credits - 01, Contact hours - 30.

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.

Mobile App development using Flutter and Dart

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.

CMAM- Practical: Mobile App Development


SEC-3, Practical, Semester – 3, Credits - 02, Contact hours - 45.

Here are some practical assignments for mobile app development using Flutter;

1. Basic Flutter Mobile App


- Create a simple Flutter app with a single screen that displays "Hello, Flutter!".
- Add a button that changes the text to "Hello, World!" when pressed.

2. Personal Profile Mobile App


- Develop an app that displays your personal profile, including your name, photo, and a brief bio.
- Use different Flutter widgets such as `Container`, `Row`, `Column`, and `Text`.

3. Weather Mobile App


- Develop a weather app that fetches and displays weather information for a given location.
- Use an API like OpenWeatherMap or any other suitable and display the data using Flutter widgets.

4. Quiz Mobile App


- Create a quiz app with multiple-choice questions.
- Show the user's score at the end of the quiz.
- Use `ListView` for displaying questions and options.

5. Photo Gallery Mobile App


- Develop a photo gallery app that displays images from a user's device.
- Implement features like viewing images in full screen, deleting, and sharing images.

Optional (App development for practice)

1. Simple Calculator
- Build a basic calculator app that can perform addition, subtraction, multiplication, and division.
- Use `TextField` for input and `RaisedButton` for operations.

2. Todo List App


- Create a todo list app where users can add, edit, and delete tasks.
- Use a `ListView` to display the list of tasks.

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.

10. Travel Guide App


- Build a travel guide app that provides information about different travel destinations.
- Include features like a map view, destination details, and user reviews.

Reference books and other resources


1. Flutter Complete Reference by Alberto Miola
2. Beginning Flutter: A Hands-On Guide to App Development by Marco L. Napoli
3. Flutter in Action by Eric Windmill
4. Flutter for Beginners by Thomas Bailey and Alessandro Biessek
5. Pragmatic Flutter by Priyanka Tyagi
6. Online documentations by Google on Flutter: https://docs.flutter.dev/
Semester - IV
Paper Paper type Paper name Credit Contact hours

Theory Multimedia and its application 3 45


DSC/CC-5 Practical Multimedia and its application lab 1 30

Theory Computer Architecture & Organization 3 45


DSC/CC-6 Practical Computer Architecture & Organization 1 30
Lab

Theory Database Management system 3 45


DSC/CC-7 Practical RDBMS Lab 1 30

Theory Object Oriented Programming 3 45


DSC/CC-8 Practical OOPs using Java 1 30

CMAM: Computer Application – Multimedia and its application


DSC/CC-5, Theory, Semester – 4, Credits - 03, Contact hours - 45.

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.

CMAM: Computer Application – Multimedia and its application


DSC/CC-5, Practical, Semester – 4, Credits - 01, Contact hours - 30.

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

1. Multimedia: Computing Communications & Applications, Klara Nahrstedt, Pearson India.


2. Multimedia and Applications, D.S. Sherawat, Sanjay Sharma, S.K. Kataria & Sons.
3. Introduction to Multimedia and Its Applications, V. K. Jain, Khanna Book Publishing Company.
4. Multimedia: Making it Work, Tay Vaughan, McGraw Hill Education.
5. Multimedia & Applications, Ashish Chopra, Ishan publications.
6. Principles of Multimedia, Ranjan Parekh, McGraw Hill Education.

CMAM: Computer Application – Computer Architecture & Organization


DSC/CC-6, Theory, Semester – 4, Credits - 03, Contact hours - 45.

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

Basic Structure of Computers (Qualitative discussion)


Basic functional units, basic operational concept, bus structure, software, performance, 2 hours
multiprocessor and multicomputer, IAS Computer, Historical Perspectives.
Register Transfer and Micro-operation
Register transfer language, register transfer, bus and memory transfers, three state bus 4 hours
buffers, memory transfer, arithmetic and logical micro-operations, shift and arithmetic
shifts.
Basic Computer Organization and Design
Stored program organization, computer registers, common bus system, timing and control, 5 hours
instruction cycle, fetch decode, Computer Instructions, register reference instructions,
memory reference instruction, input-output and Interrupt, design of basic computer,
design of accumulator logic.
CPU Organization
Arithmetic and Logic Unit (ALU) - Combinational ALU, 2'S complement subtraction unit,
Booth’s algorithm for multiplication, restoration division algorithm and hardware. 6 hours
General register organization, control word, accumulator based, register based, Stack type
CPU organization.
Control Unit
Hardwired Control Unit (basic concept), Micro-programmed Control Unit: Control 6 hours
memory, address sequencing, conditional branching, mapping of instructions, subroutine.
CPU Registers
Program Counter, Stack Pointer Register, Memory Address Register, Instruction Register, 4 hours
Memory Buffer Register, Flag registers, Temporary Registers.
Instructions
Operational code, operands, zero, one, two and three address instruction, instruction types, 5 hours
addressing modes, data transfer and manipulation instructions, Program control
instructions.
CISC and RISC processors 1 hour
Introduction, relative merits and De-merits.
Computer Peripherals 3 hours
VDU, Keyboard, Mouse, Printer, Scanner (Qualitative approach).
Input / Output Organization: Polling, Interrupts, subroutines, memory mapped I/O, I/O
mapped IO, DMA, I/O bus and protocol, SCSI, PCI, USB, bus arbitration. 4 hours
Memory
Primary memory: ROM, PROM, EPROM, EEPROM, Flash memory, SRAM, DRAM,
Cache Memory: mapping functions, replacement algorithms, interleaving, hit and rate 5 hours
penalty, virtual memories, address translation, memory management requirements,
Secondary Storage: Solid State drives (SSD), Magnetic hard disks, Optical disks,
magnetic tape systems.
CMAM: Computer Application – Computer Architecture & Organization
DSC/CC-6, Theory, Semester – 4, Credits - 01, Contact hours - 30.

(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.

Assignments related to RDBMs using MYSQL

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

1. Fundamentals of Database Systems, R. Elmasri, S.B. Navathe, Pearson Education.


2. Database Management Systems, R. Ramakrishanan, J. Gehrke,3rd Edition, McGraw-Hill.
3. Database System Concepts, A. Silberschatz, H.F. Korth, S. Sudarshan, McGraw Hill.
4. Database Systems Models, Languages, Design and application Programming, R. Elmasri, S.B.
Navathe, Pearson Education.
5. SQL and Relational Theory: How to Write Accurate SQL Code, Christopher J. Date, O'Reilly Media.
6. Database Systems: A Practical Approach to Design, Implementation and Management, Thomas M.
Connolly and Carolyn E. Begg, Pearson.
CMAM: Computer Application – Object Oriented Programming
DSC/CC-8, Theory, Semester – 4, Credits - 03, Contact hours - 45.

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

Arrays, Strings and I/O


Creating & using arrays (One dimension and multi-dimensional), referencing arrays
dynamically, Java Strings: The Java String class, creating & using string objects,
06 hours
manipulating strings, string immutability & equality, passing strings to & from methods,
string buffer classes. Simple I/O using System.out and the scanner class, byte and
character streams, Reading/Writing from console and files.

Object-Oriented Programming Overview 04 hours


Principles of Object-Oriented Programming, defining & using classes, controlling access
to class members, class constructors, method overloading, Class variables & methods,
Objects as parameters, final classes, Object class, garbage collection.
Inheritance, Interfaces, Packages, Enumerations, Autoboxing and Metadata.
Single Level and Multilevel, Method Overriding, Dynamic Method Dispatch, Abstract
Classes, Interfaces and Packages, extending interfaces and packages, Package and Class
10 hours
Visibility, Using Standard Java Packages (util, lang, io, net), Wrapper Classes,
Autoboxing/Unboxing, Enumerations and Metadata.

Exception Handling, Threading, Networking and Database Connectivity


Exception types, uncaught exceptions, throw, built-in exceptions, creating your own
exceptions; Multi-threading: The Thread class and Runnable interface, creating single
09 hours
and multiple threads, Thread prioritization, synchronization and communication,
suspending/resuming threads. Using java.net package, Overview of TCP/IP and
Datagram programming. Accessing and manipulating databases using JDBC.

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.

CMAM - Practical: Object Oriented Programming- OOPs Lab using JAVA


DSC/Core Course-8, Practical, Semester – 4, Credits - 01, Contact hours - 30.

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

1. Java: The Complete Reference, Herbert Schildt, McGraw-Hill Education.


2. The Java Language Specification, Java SE by James Gosling, Bill Joy, Guy L Steele
Jr, Gilad Bracha, Alex Buckley, Published by Addison Wesley.
3. Effective Java by Joshua Bloch, Publisher: Addison-Wesley.
4. Core Java 2 by Cay S. Horstmann, Gary Cornell, Volume 1, Prentice Hall.
5. Programming with Java by E. Balagurusamy, McGraw Hill.
6. Java: How to Program by Paul Deitel, Harvey Deitel, Prentice Hall.
7. Programming with JAVA by John R. Hubbard, Schaum's Series.

You might also like