BCA-COURSE STRUCTURE AND SYLLABUS
BCA-COURSE STRUCTURE AND SYLLABUS
2020
2
Fundamentals of Computer 3-2-1 6
3
Programming in Python 3-2-1 6
4
Computer System Architecture 3-2-1 6
5
OOPs with C ++ Programming 2-3-1 6
6
Operating System Concepts 2-2-2 6
7
Database Management Systems 3-2-1 6
8 CUTM1882 2-3-1 6
Data Structures using C++
9 Fundamentals of Algorithm Design and
CUTM1899 3-2-1 6
Analysis
10 Computer Communication and
CUTM1900 3-2-1 6
Networking
11 Java Technologies 3-2-1 6
12 3-2-1
Introduction To Software 6
Engineering
13 Internet and Web Technology 3-2-1 6
14 Dot Net Technology 3-2-1 6
Basket-II Ability Enhancement Courses
Objective
Introduces the basic features of Microsoft Office, Windows basics, and file management.
Develops familiarity with Word, Excel, Access, PowerPoint, email, and Internet basics.
Learning outcome
Recognize when to use each of the Microsoft Office programs to create professional and
academic documents.
Use Microsoft Office programs to create personal, academic and business documents
following current professional and/or industry standards.
Course content
1. Write a paragraph about your institution and Change the font size and type, Spell check, Aligning and
justification of Text
Page Formatting, Bookmarks, Mail Merge, Macros, Tables, File Management, Printing, Styles, linking and
embedding object, Template..
Programs:
1. Prepare a Bio-data.
2. Write a paragraph about yourself and do the following. Find and Replace - Use Numbering
Bullets, Footer and Headers.
3. Create a mark sheet in word
4. Create a table in word as shown below
Roll No Name Marks in Physics Marks in Chemistry Total Marks
1 Ritu 80 70
2 Rohit 70 80
3 Amit 60 50
4 Rakesh 40 60
5 Niti 30 70
6 Garima 80 80
Do the following
(a) In the total marks column, entries should be calculated using formulas and it is the sum of
marks in physics and marks in chemistry.
(b) Insert a new row at the end of the table and also find grand total using formula.
(c) Sort the table based on total marks
(d) The date and heading should be center aligned
(e) Heading should be in bold and underlined
Introduction to MS-Excel, Creating & Editing Worksheet, Formatting and Essential Operations.
Programs:
Formulas and Functions, Charts, Pivot table & Pivot Chart, Linking and Consolidation, Sorting, Filtering,
Table, Validation, Goal Seek, Scenario.
Programs:
Programs:
1. Create a slide show presentation for a seminar.
Module VII: features of powerpoint
Animations and Sounds, Inserting Animated Pictures or Accessing through Object, Inserting Recorded Sound Effect
or In-Built Sound
Text Books:
Objective
Learning outcome
1. Understand the fundamental hardware components that make up a computer’s hardware
and the role of each of these components.
3. Describe some examples of computers and state the effect that the use of computer
technology has had on some common products
Course content
Module 1 (8 hours):-
Computer Basics: A simple model of computers, Digital and Analog Computers, Evolution of digital
computers, Major Components of a digital computer, hardware, software, firmware, middle ware,
freeware. Input/output Devices: Input Devices, Output Devices, Printers, and Plotters, Other forms of
Output devices, Input and Output port.
Module 2 (8 hours):-
Number System: Decimal Number System, Binary Number System, conversion of numbers(binary to
decimal, decimal to binary), Addition of Binary Numbers, 1’s complement and 2’s complement
representation of numbers, Binary Subtraction, Binary Multiplication, Binary Division, Hexadecimal and
octal number system, ASCII and ISCII code, EBCDIC code, Gray codes, Fixed point and Floating Point
Representation, Overflow and Underflow.
Module 3 (5 hours):-
Logic Circuits: Switching circuits, AND/OR operations, NOT operations, Boolean Functions, Canonical
Forms of Boolean Functions, Logic circuits.
Module 4 (9 hours):-
Processor: CPU organization, Structure of Instruction, A machine level language Computer Memory: Read
only memory, Serial Access memory, Main memory, Secondary memory: Magnetic hard disk, Floppy disk
Drives, Compact Disk Read Only memory, Magnetic tape Drives.
Module 5 (5 hours):-
Module 6 (8 hours):-
Module 7 (8 hours):-
Types of communications with and among computers, internet and World Wide Web, characteristics of
communication channels, Physical Communication Model, Computer Network topologies, Local Area
Network.
Practices:-
Text Book:-
Reference Books:
3. Fundamentals Of Information Technology, 2nd Edition, Alexis Leon, Mathew Leon,Vikas Publishing
House Pvt Ltd.
Objective
To understand the programming features of Python
To learn the elements of python programming
To learn python libraries
To learn data visualisation using python
Learning outcome
To read data using Python Functions
To perform data visualisation using Python Libraries
To learn problem solving using python
Course content
MODULE-I
Elements of Python programming, variables, Data types, Operators, string,
MODULE-II
control structures, python functions, arrays,
MODULE-III
Class and objects, Modules, File handling,
MODULE-IV
Plotting- Basic plot, histogram, bar plot, area plot, scatter plot, pie chart
MODULE-V
MODULE-VI
MODULE-VII
Plotting with glyphs – simple scatter plot, scatter plot with different shapes,
Additional glyphs, Lines, lines and markers, patches, data formats
Plotting data from NumPy arrays
Plotting data from Pandas dataframes
Customising glyphs – selection and non-selection glyphs, Hover glyphs
Color mapping
Introduction to layouts, creating rows of plot, creating columns of plot, Nesting rows and columns
Text Books
2. Beginning Python: Using Python 2.6 & Python 3.1; James Payne; Wiley India; 2011.
Code Course Title T-P-Pj (Credit) Prerequisite
CUTM1897
Computer System Architecture 3-2-1 NIL
Objective
Grasp characteristics of computer systems to develop balanced system design that maximizes
the computer performance.
Identify elements of modern instruction sets and their impact on processor design including
how constructs in high level languages are realized.
Experience use of a design/simulation tool to model various parts in computer design.
Learning outcome
Capacity to calculate the performance of a modern digital computer from parameters such as
processor speed, cycles per instructions.
Understanding the instruction set of a modern processor.
Formulate instructions of a high level imperative language in terms of the instruction set of a
processor
Course content
Number systems and Complements, Fixed and floating point representation, Binary codes and character
representation, Binary addition and subtraction, Multiplication algorithms for integers, Division algorithms for
integers
Boolean algebra, Logic gates, Circuit simplification, Combinational circuits: Adder,Decoders and Multiplexers, Flip-
flops, Sequential circuits: Registers and Counters
Computer registers, System Bus, Instruction set, Timing and control unit, Basic Instruction cycle, Flowchart for
instruction cycle
Block diagram of computer and operation, Register organization, Arithmetic and logical micro-operations, Stack
organization: Register stack and Memory stack, RISC and CISC characteristics, Pipeline architecture, Parallel
architecture: Flynn's classification
Module-5: Instruction Design
Classification of memory, Primary Memories, Secondary memories, Cache memory, Mapping techniques: Direct,
Associative and Set associative, Memory Hierarchy
Input / Output: External Devices, I/O Modules, Programmed I/O and Interrupt-Driven I/O, Direct Memory Access,
Input-Output Processor
Practice:
Assignment:
Represent 525.5 in IEEE 754 single precision and double precision formats.
Perform 7×3 multiplication using Booth algorithm.
Explain 8421, 2421, 5421 BCD with examples
Draw the K’map and simplify the following Boolean expression
(i) Y(ABCD)= Σ m(0,1,3,4,5,14,15,9)
(ii) F(ABCD)= Σm( 0,2,4,5,7,8,9,11,12,14,15) + Σd(3,10)
Prove that NAND gate and NOR gate are universal gates.
Design a Mod-6 synchronous counter.
Describe flowchart for instruction cycle.
Describe 16-logical microoperation and the logic circuit
Describe Flynn's classification of parallel architecture.
Describe DMA transfer operation with block diagram
Text Books
1. M.Mano, Computer System Architecture, Pearson Education, 1992
3. William Stalling,Computer Organization and Architecture Designing for performance, Prentice Hall of
India, 2009
Objective
To understand how C++ improves C with object-oriented features
To learn how to design C++ classes for code reuse
To learn how inheritance and virtual functions implement dynamic binding with polymorphism
To learn how to use exception handling in C++ programs
Learning outcome
Apply the object-oriented programming approach in connection with C++
Illustrate the process of data file manipulations using C++
Apply virtual and pure virtual function & complex programming situations
Write an error free program of minimum 200 lines of code
Course content
Programs:
1. Define a class to represent a book in a library. Include the following members:
Data Members
Book Number, Book Name, Author, Publisher, Price, No. of copies issued, No. of copies
Member Functions
(i) To assign initial values
(ii) To issue a book after checking for its availability
(iii) To return a book
(iv) To display book information.
2. A bank maintains two kinds of accounts for customers, one called as savings and the other as current account. The
savings account provides compound interest and withdrawal facilities but no cheque book facility. The current
account provides cheque book facility but no interest. Current account holders should also maintain a minimum
balance and if the balance falls below this level a service charge is imposed.
Define a class to represent a bank account. Include the following members: Data members: 1. Name of the depositor.
2. Account number. 3. Type of account. 4. Balance amount in the account. Member functions: 1. To assign initial
values. 2. To deposit an amount. 3. To withdraw an amount after checking the balance. 4. To display the name and
balance. Write a main program to test the program
3. Declare a class to represent fixed-deposit account of 10 customers with the following data members:
Name of the depositor, Account Number, Time Period (1 or 3 or 5 years), Amount.
The class also contains following member functions:
(a) To initialize data members.
(b) For withdrawal of money (after alf of the time period has passed).
(c) To display the data members.
4. Create two classes DM and DB which store the value of distances. DM stores distances in meters and centimeters
and DB in feet and inches. Write a program that can read values for the class objects and add one object of DM with
another object of DB. Use a friend function to carry out the addition operation. The object that stores the results may
be a DM object or DB object, depending on the units in which the results are required. The display should be in the
format of feet and inches or meters and centimeters depending on the object on display.
Programs:
1. Write a Program to describe about exception handling mechanism.
2. Write a Program to describe multi catch statement.
3. Write a program to read a list containing item name, item code, and cost interactively and produce a three column
output as shown below.
Note that the name and code are left-justified and the cost is right justified with a precision of two digits. Trailing
zeros are shown.
4. Write a program that reads a text file and creates another file that is identical except that every sequence of
consecutive blank spaces is replaced by a single space.
5. Write a program that reads character from the keyboard one by one. All lower case characters get store inside the
file LOWER, all upper case characters get stored inside the file UPPER and all other characters get stored inside
OTHERS.
Text Books:
1. E Balagurusamy, “Object Oriented Programming with C++”, Tata McGraw Hill, Sixth Edition.
2. Herbert Schlitz, “The Compete Reference C++”, Tata McGraw Hill, Fourth Edition.
Reference Books:
1. Ashok Kamthane, “Object Oriented Programming with ANSI and Turbo C++”, Pearson.
2. Behrouz A. Forouzan & Richard F. Gilberg “A Structured approach using C++” Cengage Learning Indian
Edition.
Objective
To understand what a process is and how processes are synchronized and scheduled.
management
Learning outcome
Demonstrate understanding of the concepts, structure and design of operating Systems
Demonstrate understanding of operating system design and its impact on application system
Course content
What is an OS, Computer System Organization, OS Design , Major OS Services System Call and Its Types,
Concurrent Programming
Practice:
1.Copy from one file to another using unbuffered I/O system calls
2.Print contents of a directory using system calls to open and read directory contents
3.Infinite loop - kill by sending SIGINT signal through ctrl C or kill command
su,sudo, cat, man,ls,kill, ps, top, more, less, head, tail,cp,rm, info, passwd, chage, ssh(Remote Login), Changing
Login Shell, grep ,lpr, lpq, sort, uniq, file, pipe( Communication between processes),echo, date, script,
Practice:
Pathnames, Relative Pathnames ,Working with Directories , Access Permissions ,ACLs: Access Control Lists, Hard
Practice:
Using vim to Create and Edit a File , Introduction to vim Features, Moving the Cursor, Input Mode, Deleting and
Changing Text, Searching and Substituting, Copying, Moving, and Deleting Text, The General-Purpose Buffer
Practice:
14. Edit a System File with Vim by Using Maximum Editing Feature
About bash , Variables, Array, Operators, Decision Making, Loop Controls, Functions, I/O redirections
Practice:
Process Concepts, Process State , Process Schedulers , Context switch , Inter-process Communication,Thread
Practice:
21. Write a program to simulate the following CPU scheduling algorithms to find turnaround time and waiting
time.
Practice:
22.Write a program to simulate Bankers algorithm for the purpose of deadlock avoidance.
Text Books:
1. A Practical Guide to Linux Commands, Editors, and Shell Programming, by Mark G. Sobell, Prentice Hall,
2013
2.Operating System Concepts, by ABRAHAM SILBERSCHATZ , PETER BAER GALVIN, GREG GAGNE ,
Sample Projects :
5.Disk Scheduler
Objective
To understand the different issues involved in the design and implementation of a database
system.
To study the physical and logical database designs, database
Modeling,relational,hierarchical, and network models
To understand and use data manipulation language to query, update, and manage a database
To develop an understanding of essential Peoperties of DBMS concepts such as: database
security,integrity, concurrency
To design and build a simple database system and demonstrate competence with the
fundamental tasks involved with modeling, designing, and implementing a DBMS.
Learning outcome
Describe the fundamental elements of relational database management systems
Explain the basic concepts of relational data model, entity-relationship
model,relational database design, relational algebra and SQL
Design ER-models to represent simple database application scenarios
Convert the ER-model to relational tables, populate relational database and
formulate SQL queries on data
Improve the database design by normalization
Familiar with basic database storage structures and access techniques: file and
page organizations, indexing methods including B tree, and hashing
Course content
TEXT BOOKS
Database Management Systems: Raghu Ramakrishnan
ORACLE PL/SQL Programming – Scott Urman BPB Publications.
REFERENCES
Database Systems Concepts – Henry F Korth, Abraham Silberschatz.
Database Management Systems – Alexis Leon, Mathews Leon – Leon, Vikas Publications
Objective
Be familiar with techniques of algorithm analysis and Recursive method
Be familiar with implementation of linked data structures such as linked lists and binary trees
Be familiar with several sub-quadratic sorting algorithms including quick sort, merge sort and
heap sort
Be familiar with some graph algorithms such as shortest path and minimum spanning tree
Learning outcome
Evaluate algorithms and data structures in terms of time and memory complexity of basic
operations
Define basic static and dynamic data structures and relevant standard algorithms for them: stack,
queue, dynamically linked lists, trees, graphs, heap, priority queue, hash tables, sorting
algorithms, min-max algorithm
Determine and demonstrate bugs in program, recognize needed basic operations with data
structures
Formulate new solutions for programming problems or improve existing code using learned
algorithms and data structures
Course content
Text Books:
1. Data Structures, Algorithms and Applications in C++, Sartaj Sahani, 2nd Edition.
2. Data Structures and Algorithms in C++, Michael T.Goodrich, R, Tamassia and D.Mount, wiley Student
Edition, 7th edition, John Wiley and Sons.
Reference Books:
Sl Type
Subject Subject Credits
No (T+P+Pj)
Code Name
1.
CUTM1899 Fundamentals Of Algorithm Design 3+2+1 6
And Analysis
Objective
The objective of this course is to study paradigms and approaches used to analyze and
design algorithms and to appreciate the impact of algorithm design in practice. It also
ensures that students understand how the worst-case time complexity of an algorithm is
defined
How asymptotic notation is used to provide a rough classification of algorithms,
how a number of algorithms for fundamental problems in computer science and
engineering work and compare with one another, and how there are still some problems
for which it is unknown whether there exist
efficient algorithms, and how to design efficient algorithms.
Learning outcome
An Algorithm is a sequence of steps to solve a problem.
Design and Analysis of Algorithm is very important for designing algorithm to solve
different types of problems in the branch of computer science and information
technology.
This introduces the fundamental concepts of Designing Strategies, Complexity analysis
of Algorithms, followed by problems on Graph Theory and Sorting methods.
This also includes the basic concepts on Complexity theory
Course content
Practice:
1. Implement Insertion Sort (The program should report the number of comparisons)
2. . Implement Merge Sort(The program should report the number of comparisons)
3. Implement Heap Sort(The program should report the number of comparisons)
4. Implement Randomized Quick sort (The program should report the number of comparisons
5. Implement Radix Sort
6. Implement Selection Sort
7. Implement Shell sort
Assignment 3: Example on Matrix chain Multiplication. Finding LCS among two strings
Practice :
Fractional knapsack problem Greedy verses dynamic programming, Huffman codes. Concept of
backtracking, branch & bound design techniques.
Practice:
i. Insert a node
ii. Delete a node
iii. Search for a number & also report the color of the node containing this number
Assignment 5: Examples on Kruskal's and Prim's Algorithm. Bellman-Ford and Dijkstra's Algorithm
Objective
Learning outcome
1. Explain the importance of data networks and the Internet in supporting business
communications and everyday activities
2. Explain how communication works in data networks and the Internet
3. Recognize the devices and services that are used to support communications across an Internet
work.
4. Use network protocol models to explain the layers of communications in data networks.
Course content
MODULE-I (8 Lectures)
Overview of Computer Networks: Introduction: OSI, TCP/IP and other networks models, Examples of
Networks: Novell Networks, Arpanet, Internet, Network Typologies WAN, LAN, MAN.
Practices 1,2;-
1. Analyzing bus vs. star-switch with respect to number of collisions (for a fixed number of transmitting
"Analyzing bus vs. star-switch with respect to number of collisions (for a fixed number of transmitting
nodes) for Ethernet LAN".
Practice 3;-
3. Analysing the difference between unicast and broadcast transmission (for a fixed number of transmitting
nodes). "
Data link layer:- Design issues, framing, error detection and correction, CRC, Elementary Protocol stop
and wait, Sliding Window, Data link layer in HDLC, ATM.
MODULE -IV (8 Lectures)
Point-to–Point Access: PPP, Multiple Access Protocols: Random Access, Controlled Access, And
Channelization. Local area Network: Ethernet. Wireless LANs: IEEE 802.11, Bluetooth virtual circuits.
Practices 4, 5-
4. Comparing the CSMA/CD vs. CSMA/CA protocols (for a fixed number of transmitting nodes).
MODULE-V (8 Lectures)
Network Layer : Addressing and Network Layer Protocols: ARP, IPV4, ICMP, IPV6 ad ICMPV6, Broad
cast, Multi cast, Congestion, Control Algorithms –General Principles of Congestion prevention policies.
Internetworking: The Network layer in the internet and in the ATM Networks.
Practice 9;-
MODULE-VII (5 Lectures)
Application Layer:-Client Server Model, Domain Name System (DNS): Electronic Mail (SMTP) and file
transfer (FTP), HTTP and WWW.
Assignments:-
1. Define computer networks? Discuss various types of networks typologies in computer network. Also
discuss various advantages and disadvantages of each topology?
3. What is OSI Model? Explain the functions and protocols and services of each layer?
5. What is TCP/IP Model? Explain the functions and protocols and services of each layer? Compare it with
OSI Model?
10. What is pure ALOHA and slotted ALOHA? Consider the delay of both at low load. Which one is less?
Explain your answer?
Text Books:-
Reference Book: -
1. Computer Networks: A system Approach: Larry L, Peterson and Bruce S. Davie,Elsevier, 4thEd
2. Computer Networks: Natalia Olifer, Victor Olifer, Willey India
3. An Engineering Approach to Computer Networks-S.Keshav, 2nd Edition,
Pearson Education
4. Computer Networking: A Top-Down Approach Featuring the Internet, James F.
Kurose and Keith W. Ross , 2nd Edition, Pearson Education, 2002.
Code Course Title T-P-Pj (Credit) Prerequisite
3-2-1
Java Technologies
Objective
Learning outcome
Use an integrated development environment to write, compile, run, and test simple object-
oriented Java programs
Read and make elementary modifications to Java programs that solve real-world problems
Identify and fix defects the common safety issues in code
Document a Java program using Javadoc
Use a version control system to track source code in a project
Qualify confidently any interview process where Java is the requirement
Course content
Features and Installation, Java Programming Basics, Decision Making and Looping, Class and Object, Inheritance
Practice 1 (1 Hr)
Practice 2 (1 Hr)
Interfaces, Packages and Access Protection, Exception Handling (Fault Tolerant Programming)
Practice 3 (1 Hr)
Practice 4 (1 Hr)
String Handling, Wrappers, Runtime Memory Management, Cloning, Calendar, Date and Time Facilities, Scanner,
Internationalization
Practice 5 (1 Hr)
Practice 6 (1 Hr)
Byte and Character Stream I/O, Persistence, Applet: Architecture, Skeleton, and Implementation
Practice 7 (1 Hr)
Practice 8 (1 Hr)
Practice 9 (1 Hr)
Practice 10 (1 Hr)
Networking Fundamental, Client-Server Communication, Remote Method Invocation (RMI), Java Virtual Machine
Practice 11 (1 Hr)
Practice 12 (1 Hr)
Text Book(s):
3. Java The Complete Reference, Fifth Edition, C25 Herbert Schildt, McGraw-Hills
Reference Book(s):
3. Murach’s Java Programming, 5th Edition, Joel Murach, Mike Murach & Associates, 2011, ISBN-78-1-
943872-07-7
4. Introduction to Java Programming, Comprehensive, 10th ed., Y. Daniel Liang, 2014. ISBN-10:
https://nqr.gov.in/qualification-title?nid=3002
https://www.cdac.in/index.aspx?id=DAC&courseid=0#
https://canvas.harvard.edu/courses/63117/assignments/syllabus
https://canvas.harvard.edu/courses/69911/assignments/syllabus
https://xid.harvard.edu/xid-apps/submitAccountForm.do
Online Source(s):
1. https://docs.oracle.com/javase/tutorial/java/index.html
2. https://www.programiz.com/java-programming
3. https://marcus-biel.com/
List of Practices:
Practice 1 (Module-I)
Program-1:
Write a program that computes the standard deviation of a set of floating point numbers that the user enters. First the
user says how many numbers N are to follow. Then the program asks for and reads in each floating point number.
Finally it writes out the standard deviation. The standard deviation of a set of numbers Xi is:
SD = Math.sqrt( avgSquare - avg2 )
Here, avg is the average of the N numbers, and avg2 is its square.
avgSquare is the average of Xi * Xi. In other words, this is the average of the squared value of each floating point
number.
Xi Xi * Xi
2.0 4.0
3.0 9.0
1.0 1.0
2.0 4.0
Now:
avg2 = 4.0
To do this you will need to do several things inside the loop body for each floating point value as it comes in: add it
to a sum, square it and add it to a sum of squares. Then after the loop is finished apply the formula.
https://www.hackerrank.com/domains/java
Practice 2 (Module-I)
Program-1:
Better encapsulation of the Goods class would call making instance variables private and using getter and setter
methods to access them. A further refinement would be to make the class abstract and to define additional child
description = des;
price = pr;
quantity = quant;
double getPrice()
return price;
price = newPrice;
int getQuantity()
return quantity;
quantity = newQuantity;
return "item: " + description + " quantity: " + quantity + " price: " + price ;
Revise the source code for the classes Food, Toy, and Book. (Perhaps call the revised classes FoodSG, ToySG, and
BookSG.) create a new class ToiletrySG for things like bubble bath. Create a new testing class, StoreSG to test your
revised classes.
Note: the child classes will need to use the getter and setter methods to access the instance variables that are
https://www.hackerrank.com/domains/java
Practice 3 (Module-II)
Program-1:
Put in a loop so that the user is repeatedly asked for the numerator and the divisor. For each set of data, the program
prints out the result, or an informative error message if there is a problem (division by zero or poor input data).
The program continues looping, even if there is a problem Exit the loop when data entered for the numerator start
with characters "q" or "Q". Don't print out an error message in this case.
Don't ask for the divisor if the user just asked to quit.
12 / 4 is 3
You will need to use the method charAt() from the String class.
https://www.hackerrank.com/domains/java
Practice 4 (Module-III)
Program-1:
In mathematics, several operations are defined on sets. The union of two sets A and B is a set that contains all the
elements that are in A together with all the elements that are in B. The intersection of A and B is the set that contains
elements that are in both A and B. The difference of A and B is the set that contains all the elements of A except for
Suppose that A and B are variables of type set in Java. The mathematical operations on A and B can be computed
A.addAll(B) computes the union of A and B; A.retainAll(B) computes the intersection of A and B; and
A.removeAll(B) computes the difference of A and B. (These operations change the contents of the set A, while the
mathematical operations create a new set without changing A, but that difference is not relevant to this exercise.)
For this exercise, you should write a program that can be used as a “set calcula-
tor” for simple operations on sets of non-negative integers. (Negative integers are not allowed.) A set of such
integers will be represented as a list of integers, separated by commas and, optionally, spaces and enclosed in square
brackets. For example: [1,2,3] or [17, 42, 9, 53,108]. The characters +, *, and - will be used for the union,
intersection, and difference operations. The user of the program will type in lines of input containing two sets,
separated by an operator. The program should perform the operation and print the resulting set.
Input Output
------------------------- -------------------
To represent sets of non-negative integers, use sets of type TreeSet<Integer>. Read the user’s input, create two
TreeSets, and use the appropriate TreeSet method to perform the requested operation on the two sets. Your program
should be able to read and process any number of lines of input. If a line contains a syntax error, your program
should not crash. It should report the error and move on to the next line of input. (Note: To print out a Set, A, of
Integers, you can just say System.out.println(A). We’ve chosen the syntax for sets to be the same as that used by the
https://www.hackerrank.com/domains/java
Practice 5 (Module-IV)
Program-1:
Password Checker:
Write a program that repeatedly asks the user for a proposed password until the user enters an acceptable password.
When the user enters an acceptable password, the program writes a message and exits.
Acceptable passwords:
Contain both upper and lower case alphabetic characters. Contain at least 1 digit. The logic of this program can be
quite tricky. Hint: use toUpperCase(), toLowerCase, and equals(). You will also need nested ifs.
snowflake
SnowFlake
snowflake47
Snowflake47
Acceptable password.
https://www.hackerrank.com/domains/java
Practice 6 (Module-IV)
Program-1:
Secret Code:
A text message has been encoded by replacing each character of the message with an integer. Each integer is an
index into a key-phrase that contains all the lower case letters of the alphabet as well as the space character. The
key-phrase may contain the same character in several locations. The encoded text is series of integers, like this:
35 10 10 33 9 24 3 17 41 8 3 20 51 16 38 44 47 32 33 10 19 38 35 28 49
To decode the message, look up each integer in the key-phrase and output the corresponding character. For example,
say that the key-phrase is this (the index of each character has been written above it):
111111111122222222223333333333444444444455
0123456789012345678901234567890123456789012345678901
using each integer from the encoded text as an index into the phrase results in the decoded message:
Write a program that decodes a secret message contained in a text file. The first line of the text file contains the key-
phrase. Then the file contains a sequence of integers, each of which indexes the key-phrase. Find the character
corresponding to each integer and output the secret message. Note if a character character such as 'e' occurs several
places in the key-phrase it may be encoded as different integers in different parts of the secret message.
(The recipient of the secret message gets only the file of integers and must put the key-phrase at the top of the file.)
For example, here is the contents of a secret message file ready for the program:
35 10 10 33 9 24 3 17 41 8 3 20 51 16 38 44 47 32 33 10 19 38 35 28 49
Here is another secret message file, with key-phrase inserted, that you can use to test your program:
six perfect quality black jewels amazed the governor
31 16 2 3 4 42 48 7 27 9 10 43 12 13 35 15 1 40 18 3
20 15 33 23 24 32 26 29 28 27 21 31 25 14 34 14 36
42 38 19 40 41 27 3 44 50 46 42 48 49 50 6
https://www.hackerrank.com/domains/java
Practice 7 (Module-V)
Program-1:
Write a program that reads in a file of text, perhaps the text of a novel. The program copies the same text to an
output file, except that all the useless words such as "the", "a", and "an" are removed. (Decide on what other words
you with to remove. The list of words removed is called a stop list.) Do this by reading the text file token by token
using hasNext() and next(), but only writing out tokens not on the stop list.
Prompt the user for the names of the input and output files.
Fairly Easy: The output file will have only N tokens per line. Do this by counting tokens as you output them. N will
Improved Program: Preserve the line structure of the input file. Do this by reading each line using nextLine() and
then creating a new Scanner for that line. (Look at the on-line documentation for Scanner.) With each line's Scanner,
Harder: Write out no more than N characters per line. N will be something like 50. Do this by keeping count of the
number of characters written out per line. The length() method of String will be useful. If X characters has already
been written to the current line, and if X plus the length of the current token exceeds N, then start a new line.
https://www.hackerrank.com/domains/java
Practice 8 (Module-V)
Program-1:
Write a program that scans a text file for possible e-mail addresses. Addresses look like this:
Read tokens from the input file one by one using hasNext() and next(). With the default delimiters of Scanner, an
entire e-mail address will be returned as one token. Examine each token using the indexOf() method of String. If a
token contains an at sign @ followed some characters later by a period, regard it as a possible e-mail address and
Programs such as this scan through web pages looking for e-mail addresses that become the targets of spam.
Because of this, many web pages contain disguised e-mail addresses that can't easily be automatically extracted.
https://www.hackerrank.com/domains/java
Practice 9 (Module-VI)
Program-1:
Further modify the calories from fat calculator so that it includes another TextField that will be set with the text
"Too many fat calories" if the percentage of calories from fat is equal or greater than 30 percent, or to "Healthy
https://www.hackerrank.com/domains/java
Practice 10 (Module-VI)
Program-1:
remaining button changes the frame to green (a win!) The winning button is different each time the game is played.
The easy way to do this (although it seems unfair to the user) treats each button the same way. The
actionPerformed() method does not check which button was clicked. When any button is clicked, the method picks a
random integer from 0 to 2 and performs the "winning" action if the integer happens to be 0. Otherwise, it performs
the "losing" action. To the user, it seems like there is a "winning" button and two "losing" buttons. But, in fact, it
This is similar to some electronic gambling devices in casinos, where it appears to the user that there are "winning
moves" and "losing moves" but in fact the machine actually ignores what the user has done and just declares a "win"
...
https://www.hackerrank.com/domains/java
Practice 11 (Module-VII)
Write a Client-Server program where the client queries with a name of file and the server delivers the content of
Practice 12 (Module-VII)
Write a program using RMI, where the user invokes a method on remote object with username as parameter and
receives a greeting message based on time of the day along with username.
Projects
However, not limited to:
1. Chat application
2. Text Editor application
3. GUI based Scientific Calculator
4. Paint application
5. Slam book
(*PROJECT REVIEWS WILL COMMENCE BEYOND CLASS HOURS)
Monitoring:
Credit will be received only on making an honest effort. It is
expected that students will finish watching all lecture video and
complete all challenge problems by the end of each lecture week.
Borrowing code from other sources is allowed only with proper
attribution and credit given to the original author(s).
1.
Program to calculate area of a triangle
2.
Program to solve quadratic equation
3.
Program to swap two zariables (with and without using third variable)
4.
Program to generate random numbers in various ways
5.
Program to convert miles to kilometers and vice-versa
6.
Program to convert celsius to fahrenheit and vice-versa
7.
Program to check if a number is odd or even
8.
Program to check if input year is leap year
9.
Program to test primality
10.
Program to print all prime numbers in an interval using "Sieve of Eratosthenes"
11.
Program to generate factorial of all elements in an array
12.
Program to display the multiplication table up to 20
13.
Program to print the fibonacci sequence
14.
Program to check armstrong number, perfect number, Harshad number
15.
Program to generate armstrong numbers in an Interval
16.
Program to find the sum of Harshad numbers in an interval
17.
Program to display powers of two Using lambda
18.
Program to perform conversions among decimal to binary, octal and hexadecimal
19.
Program to display ASCII table
20.
Program to find HCF/GCD and LCM
21.
Program to find factors of given natural number
22.
Program to make a simple calculator
23.
Program to shuffle deck of cards
24.
Program to generate fibonacci sequence using recursion
25.
Program to find sum of natural numbers using recursion
26.
Program to find factorial of number using recursion
27.
Program to convert decimal to binary using recursion
28.
Program to add two matrices
29.
Program to obtain transpose of a matrix
30.
Program to multiply two matrices
31.
Program to check if a string is palindrome
32.
Program to remove punctuations from a string
33.
Program to sort words lexicographically
34.
Program to illustrate different set operations
35.
Program to count frequency of each vowel in a string
36.
Program to find hash value of a file
Code Course Title T-P-Pj (Credit) Prerequisite
CUTM1902
Introduction To Software Engineering 3--2--1 NIL
Objective
Learn software development processed: user requirements, specifications, design, coding,
testing, maintenance, documentation, management
Learn DevOps software development model.
Learning outcome
Identify, collect requirements and prepare design documents required for managing a
software
Build software using DevOps model so as to release the software faster and more
frequently.
Course content
Process Models: Software Processes, Software Development Life Cycle Models, Waterfall Model, ‘V’
Model, Prototyping Model, the Iterative Waterfall Model, the Spiral Model.
Programs:
Structured Analysis & Design: Introduction to Structured Analysis, Data Flow Diagram, Process
Specification, Entity Relationship Model
Programs:
1. Development of DFD Online Hotel Reservation Service System
2. Development of DFD personal library software.
3. Development of E-R diagram of Online Hotel Reservation Service
4. Structured chart for Online Hotel Reservation Service System
5. Development of E-R diagram of Library Management System
6. Structured chart for personal library software
Structured Design Methodologies: Coupling and Cohesion, Software Testing: Testing Fundamentals,
Verification & Validation, Black Box Testing, White Box Testing, Unit Testing, Integration Testing,
Object Oriented Testing, System Testing, Usability Testing
Programs:
1. Draw ER Diagram for Hospital Management System
Software Metrics- Software Metrics and its Classification, Software Size Metrics: LOC Metrics, Function
Point Metrics, Feature Point Metrics, Process Metrics
Programs:
1. Prepare Presentation by applying Formatting Tools.
Module VI: Design Metrics (8 hrs)
Design Metrics: High Level Design Metrics, Component Level Design Metrics Object Oriented Metrics:
CK Metrics Suite, Metrics for Object Oriented Design (MOOD) Project Estimation Techniques
Programs:
1. To illustrate the use of class diagrams of Online Hotel Reservation Service System
2. To draw an activity diagram and use case diagram for ATM
3. To draw an activity diagram and use case diagram for Library Management System.
4. Draw Object Diagram for ATM System
COCOMO Model: Basic COCOMO Model, Intermediate COCOMO model, Complete COCOMO
model
Objective
1. Describe Internet hardware components and their interaction, including server and client
computers, hubs, switches and routers.
2. Compare different guided and unguided media used to transmit Internet communications.
3. Describe network types, topologies and structural arrangements.
4. Describe the organisation and access of files, including directories and URL.
Learning outcome
COURSE OUTLINE
MODULE-I ( 10 HRS):-
Introduction to the Internet and the World Wide Web, Web Pages; Hyper Text Transfer Protocol
(HTTP);File Transfer Protocol (FTP) Domain Names; URL; Website, Web browser, Web Servers; Web
Hosting.HTML.
Practices:-
1. HTTP ii) TELNET iii) FTP iv) SMTP
2. Create your first web page using HTML basic Tags.
3. Create a web page with the following constrains
I) an clickable image ii) a hyperlink to your collage web site,
Java Script Introduction to Scripting, JavaScript: Control Statements, JavaScript: Functions, JavaScript:
Arrays JavaScript: Objects, CSS, External Style Sheets, Internal Style Sheets, Inline Style, The class
selector, div & span tag.
Practices:-
4. Create your student web Form for the entry of Student’s information.
5. Create a complete web page using Frame
6. Validate the registration and user login in a web site using JavaScript.
7. Design a digital clock on your web page using Java script.
DOM HTML DOM, XML: Introduction; Features of XML, Dynamic HTML (DHTML), DHTML form,
XML DOM.
Practices:-
Projects:-
1. A Tribute Page.-The simplest website you can make as a beginner is a tribute page of someone you
admire in your life.
2. Design a Restaurant Website?
Textbooks:-
1. Web Warrior Guide to Web Design Technologies, Don Gosselin, Joel Sklar& others, Cengage Learning
Reference:-
Objective
This course is designed to provide the knowledge of Dot Net Frameworks along with ASP.Net,
ADO.Net and C#.
Learning outcome
After completion of the course the student will be able to use the features of Dot Net
Framework along with the features of ASP. NET & C#.
Course content
MODULE-I (7 HRS):-
Introduction Vision and goals of .NET, Building blocks of .Net, overview of .Net applications, .Net
evolution, The .Net Framework Architecture, Intermediate Language(IL), Common Language Runtime
(CLR), JIT Compilation, Common Type System (CTS), Common Language System (CLS), Assemblies,
IL Disassemble (ILdasm.exe), Namespaces.
MODULE-II (8 HRS):-
C# features Working with methods- understanding method structure, calling a method, understanding
parameter types, overloading methods, virtual methods, overriding methods.
C# classes Constants, fields, methods, properties, events, indexers, operators, constructors, destructors, and
static modifiers. Class Inheritance Compiling with multiple classes, virtual and override methods, abstract
methods, sealed classes, Boxing and Unboxing, Working with namespaces, Understanding interfaces,
handling exceptions.
Practices;-
MODULE-IV (5 HRS):-
Database programming with ADO.NET Understanding the Dataset classes and their relatives,
Understanding OLEDB and SQL Server Support, Understanding common database operations using
ADO.NET – Operations that don’t return rows, Data operations that return single, row entities, data
operations that affect single-row entities, data operations returning sets of rows, data operations affecting
sets of rows, operations that return hierarchical Creating web applications with web forms [ Asp.NET]
Difference between ASP and ASP.Net, Defining a web application.
Practices-
6. To implement the concept of events.
7. To implement exception handling.
8. To design a calculator in windows form.
9. To implement data controls in windows form.
10. To implement validation controls in web form.
ASP.NET architecture, ASP.net web forms, Code behind model, Validation controls in ASP.NET, Server
controls and data binding, Grid view, data repeater, data list, Data binding in ASP.NET, Data source
controls- sql data source, Data controls – grid view and details view, Login controls.
Assignments:-
Text Book:-
1. Jeff Ferguson, Brian Patterson, Jason Beres, C# Programming Bible, Wiley Publishing Inc., Reprint
2006. Reference Books: 1. Jeff Prosise, Programming .Net, 2nd Edition, WP Publishers & Distributors
Pvt. Ltd, 2009.
2. Kevin Hoffman & Jeff Gabriel, Professional .Net Framework, 1st Edition, Wrox Press Publishers, 2006.