0% found this document useful (0 votes)
223 views23 pages

MCA 1st Sem 2020 AB Structure

The document outlines the curriculum structure and syllabus for the Master of Computer Applications (MCA) program at Adikavi Nannaya University. The 2-year program is divided into 6 semesters with courses in computer science fundamentals, programming, databases, algorithms, networks and electives. Labs accompany selected courses. Program outcomes are defined focusing on skills like problem solving, tool usage, teamwork and communication.

Uploaded by

PardhuRaju
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)
223 views23 pages

MCA 1st Sem 2020 AB Structure

The document outlines the curriculum structure and syllabus for the Master of Computer Applications (MCA) program at Adikavi Nannaya University. The 2-year program is divided into 6 semesters with courses in computer science fundamentals, programming, databases, algorithms, networks and electives. Labs accompany selected courses. Program outcomes are defined focusing on skills like problem solving, tool usage, teamwork and communication.

Uploaded by

PardhuRaju
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/ 23

ADIKAVI NANNAYAUNIVERSITY

RAJAHMAHENDRAVARAM

UNIVERSITY COLLEGE OF ENGINEERING

Course Structure &Syllabus


Department of Computer Science and Engineering

MCA
(For the admitted batch of 2020 – 2021)

Adikavi Nannaya University

1
ADIKAVI NANNAYA UNIVERSITY::RAJAMAHENDRAVARAM
UNIVERSITY COLLEGE OF ENGINEERING
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Name of the Program: Master of Computer Applications (MCA)


Year of Establishment: 2006

(1).Curriculum developed and implemented have relevance to the local, national, regional
and global developmental needs which is reflected in Programme outcomes (POs),
Programme Specific Outcomes(PSOs) and Course Outcomes(COs) of the Programmes
offered by the University.

Adikavi Nannaya University has started Master of Computer Applications (MCA)programme in


the year 2006 with an intake of 30 seats and is being successfully running, which was
subsequently increased to 45 seats in the year 2017. This program gives exposure to its students,
not only the regular curriculum but also to the aspirations of today's corporate world by
inculcating a professional attitude.
This program has well-defined learning objectives including program outcomes, program
specific outcomes and course outcomes. Curriculum development and delivery guidelines and
norms relating to Choice Based Credit System (CBCS) are as per AICTE and UGC guidelines
and norms. The course has been enriched by offering additional value-added courses and
flexibility in choosing elective courses. The final semester students pursue dissertation/project
work/internships in National Institutes, R&D Laboratories and Industries.
As a result, the program is well diversified and regularly upgraded to fulfil the needs of the local/
national/regional and global developments. This program is focused towards enhancing
employability of the students.

The department has excellent research facilities in the core and emerging areas of Computer
Science like Data Structures, Computer Networks, Advanced algorithms, Advanced
architectures, Advanced Operating Systems , Advanced Database System ,Microprocessors etc.
Program outcomes are focused on proactive learning leading to enhanced communication skills,
team building and nurturing cross breeding of ideas. All the programs are designed and
implemented to use ICT enabled learning across departments.

2
PROGRAM OUT COMES:
PO1: Computational Knowledge: Apply the knowledge of computing fundamentals to
various real life applications to any given requirement.

PO2 Problem Analysis: Identify, formulate and solve complex computing problems
reaching substantiated conclusions.

PO3 Development of Solutions: Design and evaluate solutions for complex computing
problems with appropriate consideration.

PO4 Investigations of complex Computing problems: Use research-based knowledge and


research methods for analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.

PO5 Modern Tool Usage: Create, identify and apply appropriate techniques, resources, and
modern computing tools to complex computing activities.

PO6 Professional Ethics: Understand and commit to professional ethics and cyber
regulations for professional computing practices.

PO7 Life-long Learning: Identify the need and have the ability, to engage in independent
learning as a computing professional.

PO8 Project management and finance: Understand and apply computing, management
principles to manage multidisciplinary projects.

PO9 Communication Efficiency: Communicate effectively with the computing community


and with society.

PO10 Societal and Environmental Concern: Understand and assess societal,


environmental, health, safety, legal, and cultural issues.

PO11 Individual and Team Work: Function effectively in diverse teams and in
multidisciplinary environments.

PO12 Innovation and Entrepreneurship: Identify a timely opportunity and using


innovation to pursue that opportunity.

PROGRAM SPECIFIC OUTCOMES


PSO1: Apply the knowledge of computer application to find solutions for real-life
application

PSO2: Ability to analyze, design, develop and maintain the software application with latest
technologies

PSO3: Utilize skills and knowledge for computing practice with commitment on social,
ethical, cyber and legal values.

PSO4: Inculcate employability and entrepreneur skills among students who can develop
customized solutions for small to large Enterprises.

3
Branch/Course: Master of Computer Applications(2020 AB)
Semester I (First Year) Curriculum
Code Course Title Max Marks Total Hours per week Credits
External Internal Marks Theory Practical
Discrete Mathematical
MCA-20101 75 25 100 4 - 4
Structures
MCA-20102 Management Accountancy 75 25 100 4 - 4
C Programming & Data
MCA-20103 75 25 100 4 - 4
Structures
MCA-20104 Computer Organization 75 25 100 4 - 4
MCA-20105 Operating Systems 75 25 100 4 - 4
Design & Analysis of
MCA-20106 75 25 100 4 - 4
Algorithms
C Programming & Data
MCA-20107 50 50 100 - 3 2
Structures Lab
Operating Systems and
MCA-20108 50 50 100 - 3 2
Computer OrganizationLab
Total Credits 28

Semester II (First Year) Curriculum


Code Course Title Max Marks Total Hours per week Credits
External Internal Marks Theory Practical
MCA-20201 Computer Networks 75 25 100 4 - 4
Object Oriented
MCA-20202 Programming through 75 25 100 4 - 4
JAVA
Database Management
MCA-20203 75 25 100 4 - 4
Systems
Formal Languages and
MCA-20204 75 25 100 4 - 4
Automata Theory
Data Mining Concepts and
MCA-20205 75 25 100 4 - 4
Techniques
Elective-I
1.Artificial Intelligence
MCA-20206 and Expert Systems 75 25 100 4 - 4
2.Internet of Things
3.Image Processing
Object Oriented
MCA-20207 Programming through 50 50 100 - 3 2
JAVA Lab
Database Management
MCA-20208 50 50 100 - 3 2
Systems Lab
Skill Development
MCA-20209 50 50 1 2 2
Course*
Total Credits 30
Note: 2 lab Hrs/Week and 1 Theory Hrs/Week for Skill Development Course or 2 Theory Hrs/ Week
Students must do a mini project using any one Scripting Language(PERL/Python/PHP) in Skill
Development Course.
Skill Development Course Credits will not be used for Calculation of SGPA score.
4
Semester III (Second Year) Curriculum
Code Course Title Max Marks Total Hours Per Week Cred
Marks its
External Internal Theory Practical
Information Security and
MCA-20301 75 25 100 4 - 4
Cryptography
MCA-20302 Big Data Analytics 75 25 100 4 - 4
Object Oriented Software
MCA-20303 75 25 100 4 - 4
Engineering
MCA-20304 Web Technologies 75 25 100 4 - 4
Elective II
1. Blockchain Technology
MCA-20305 2. Cloud Computing 75 25 100 4 - 4
3. Machine Learning and
Deep Learning
Elective-III
1.Business Intelligence and
Visualization
MCA-20306 75 25 100 4 - 4
2. Robotics
3.Foundations of Data
Science
Web Technologies and
MCA-20307 Object Oriented Software 50 50 100 - 3 2
Engineering Lab
MCA-20308 Big Data Analytics lab 50 50 100 - 3 2
Intellectual Property
MCA-20309 50 50 2 - 2
Rights
MCA-20310 Summer Internship - 50 50 2

Total Credits 32
Note: Summer Internship 2 Months (Mandatory) after First Year (to be evaluated during IIIsemester).
Summer Internship Credits will not be used for Calculation of SGPA score.
Intellectual Property Rights Credits will not be used for Calculation of SGPA score.

Semester IV (Second Year) Curriculum


Code Course Title Max Marks Total Hours Per Week Credits
Marks
External Internal Theory Practical
MCA-20401 Project 200 200 400 - - 12
Total Credits 12

5
Semester I (First Year) Curriculum
Code Course Title Max Marks Total Hours per week Credits
External Internal Marks Theory Practical
Discrete Mathematical
MCA-20101 75 25 100 4 - 4
Structures
MCA-20102 Management Accountancy 75 25 100 4 - 4
C Programming & Data
MCA-20103 75 25 100 4 - 4
Structures
MCA-20104 Computer Organization 75 25 100 4 - 4
MCA-20105 Operating Systems 75 25 100 4 - 4
Design & Analysis of
MCA-20106 75 25 100 4 - 4
Algorithms
C Programming & Data
MCA-20107 50 50 100 - 3 2
Structures Lab
Operating Systems and
MCA-20108 50 50 100 - 3 2
Computer OrganizationLab
Total Credits 28

6
Course Code &Title: MCA-20101 DISCRETE MATHEMATICAL STRUCTURES
Semester & Year of study: I & 2020-2021
Course Index: C101
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn about introduction of discrete mathematical structures.
Learn the Counting Techniques and Recurrence relations.
Learn about in detail about Graphs and Trees.
Learn about Boolean Algebra and Models of Computation.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C101.1 Understand about introduction of discrete mathematical structures.
C101.2 Understand the Counting Techniques and Recurrence relations.
C101.3 Understand about in detail about Graphs and Trees.
C101.4 Understand about Boolean Algebra and Models of Computation.

7
MCA-20101 DISCRETE MATHEMATICAL STRUCTURES
Instruction: 4 Periods/week Time: 3 Hours Credits: 4
Internal: 25 Marks External: 75 Marks Total: 100 Marks

UNIT I
Introduction: Logic-Prepositional Equivalences-Truth tables-Tautologies-Predicates and
Quantifiers-Sets-Operations on sets-Sequences and Summations -Growth functions - relations
and their properties- binary relations and their applications - Representation of relations-
Closures of relations-Equivalence relations-Partial Orderings.
UNIT II
Counting Techniques: Basics of Counting- Pigeonhole Principle- Combinations and
Permutations-Generalized Permutations and Combinations
Recurrence relations: Solving Recurrence Relations-Divide and Conquer relations-Inclusion
and Exclusion-Applications of Inclusion-Exclusion.
UNIT III
Graphs: Introduction to Graphs-Terminology-Relations and Directed Graphs
Representations of Graphs- Isomorphism-Connectivity- Euler and Hamiltonian Paths-
Shortest Path problems- Planar Graphs- Graph Coloring.
Trees: Introduction to trees- Applications of trees- Traversals-Trees and sorting Spanning
Trees-Minimum Spanning Trees.
UNIT IV
Boolean Algebra and Models of Computation: Boolean Functions- Representing Boolean
Functions -Logic Gates-Minimizations of Circuits-Languages and Grammars- Finite State
Machines with and with no output.

Text Book:
1. Discrete mathematics and its applications, Keneth. H. Rosen, Tata McGraw-Hill
Publishing Company, New Delhi
Reference Books:
1. Discrete Mathematics for computer scientists & Mathematicians, Joe L.Mott, Abraham
Kandel& T. P. Baker,Prentice Hall of India Ltd, New Delhi
2. Discrete mathematics, Richard Johnsonbaug, Pearson Education, New Delhi

8
Course Code &Title: MCA-20102 MANAGEMENT ACCOUNTANCY
Semester & Year of study: I & 2020-2021
Course Index: C102
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn the basic concept of Principles Of Accounting and Final Accounts.
Learn about in detail about Ratio Analysis.
Learn about the concepts of Costing, Budget and Budgetary Control, Marginal Costing.
Learning the Introduction To Computerized Accounting System.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C102.1 Understand the basic concept of Principles Of Accounting and Final Accounts.
C102.2 Understand about in detail about Ratio Analysis.
Understand about the concepts of Costing, Budget and Budgetary Control,
C102.3
Marginal Costing.
C102.4 Understanding the Introduction To Computerized Accounting System.

9
MCA-20102 MANAGEMENT ACCOUNTANCY
Instruction: 4 Periods/week Time: 3 Hours Credits: 4
Internal: 25 Marks External: 75 Marks Total: 100 Marks

UNIT I
Principles of Accounting: Nature and Scope of Accounting,Double Entry System of accounting
introduction to Basic Books of Accounts of Sole Proprietary Concern, closing of books of
accounts and Preparation of Trial Balance.
FinalAccounts: Trading, Profit and Loss Accounts and Balance Sheet of Sole Proprietary
Concern with Normal Closing Entries (With numerical problems).

UNIT II
Ratio Analysis:Meaning, Advantages, Limitations, Types of Ratio and their usefulness.
(Theory only)Fund Flow Statement: Meaning of the Term Fund, Flow of Fund, Working
Capital Cycle, Preparation and Inter-preparation of Statement.

UNIT III
Costing: Nature, Importance and Basic Principles. Budget and Budgetary Control: Nature and
Scope, Importance, Method of Finalization and Master Budget, Functional Budgets.
Marginal Costing:Nature,Scope, Importance, Construction of Break Even Chart, Limitations
and uses of Break Even Chart, practical applications of marginal costing.(with numerical
problems)

UNIT IV
Introduction to Computerized Accounting System: Coding Logic and Codes Required,Master
Files, Transaction Files, Introduction to documents used for data collection, processing of
different files and outputs obtained.

TEXTBOOKS:
1.Introduction to Accountancy.T.S. Grewal.
2.Management Accountancy, S.P.Jain.
REFERENCE BOOK:

10
1. Introduction to Accounting,G.Agarwal.

Course Code &Title: MCA-20103 C PROGRAMMING AND DATA STRUCTURES


Semester & Year of study: I & 2020-2021
Course Index: C103
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn the Fundamentals and Basic concepts of C Programming.
Learn about in detail about Arrays, Functions and Pointers.
Learn the concepts of Derived Data Types and Data Structures.
Learn the concepts of Linked Lists, Trees, Graphs, Searching and Sorting.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C103.1 Understand the Fundamentals and Basic concepts of C Programming.
C103.2 Understand about in detail about Arrays, Functions and Pointers.
C103.3 Understand the concepts of Derived Data Types and Data Structures.
C103.4 Understand the concepts of Linked Lists, Trees, Graphs, Searching and Sorting.

11
MCA-20103: C PROGRAMMING AND DATA STRUCTURES
Instruction: 4 Periods/week Time: 3 Hours Credits: 4
Internal: 25 Marks External: 75 Marks Total: 100 Marks
UNIT-I
Introduction to Computers, Algorithm, flowchart, program development steps, Structure of C
program, A Simple C program, identifiers, basic data types and sizes, Constants, variables,
arithmetic, relational and logical operators, increment and decrement operators, conditional
operator, bit-wise operators, assignment operators, expressions, type conversions, conditional
expressions, precedence and order of evaluation. Control structures such as if, go to, labels, and
switch statements. Loops- while, do-while and for statements, break, continue.
UNIT-II
Arrays: Arrays - declaration, definition, accessing elements, storing elements, Strings and
string manipulations, 1- D arrays, 2-D arrays – 2-D and character arrays – Multidimensional
arrays. Functions: basics, parameter passing, storage classes- scope rules, user defined
functions, standard library functions, recursive functions, header files, C pre-processor.
Pointers: Concepts, initialization of pointer variables, pointers and Function arguments,
passing by address –dangling memory, Character pointer s and functions, pointer s to pointer s,
pointer s and multidimensional arrays, dynamic memory management functions, command line
arguments.
UNIT-III
Derived types: structures- declaration, definition and initialization of structures, accessing
structures, nested structures, arrays of structures, structures and functions, pointers to
structures, self-referential structures, unions, typed of, bit-fields, Input and output – concept of
a file, text files and binary files, Formatted I/o, file I/o operations.
Data Structures: Introduction to Data Structures – Stacks: Definition, Stack implementation
one application; Queues: Definition, Queue implementation and types of Queues.
UNIT-IV
Linked Lists: Single Linked List- Definition, implementation; Double Linked List- Definition,
implementation. Trees: Binary Trees- representation, traversals. Graphs: Introduction,
representation, traversals. Searching: Linear Searching and Binary Searching. Sorting: Bubble
Sort, Quick Sort and Merge Sort.
TEXT BOOKS:
1.C and Data Structures: A snapshot oriented treatise using live engineering examples, N B
Venkateswarlu, E. V Prasad, S Chand &Co.
2.Let Us C ,YashwantKanetkar, BPB Publications, 5th Edition.
3.Computer science, A structured programming approach usingC, B.A. Forouzan and
R.F.Gilberg, Third edition, Thomson.
REFERENCE BOOKS:
1. Fundamentals of Data Structures in C, Horowitz, Sahni, Anderson-Freed, 2nd ed,2008.
2. The C Programming Language, B.W. Kernighan, Dennis M.Ritchie, PHI/Pearson.

12
Course Code &Title: MCA-20104 COMPUTER ORGANIZATION
Semester & Year of study: I & 2020-2021
Course Index: C104
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn the basics of Digital Logic Circuits and Digital Components.
Learn about the Concepts of Data Representation, Register Transfer and Micro Operations.
Learn the concept of Basic Computer Organization and Design and Central Processing Unit.
Learn about the concept of Input /Output Organization and Memory Organization.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C104.1 Understand the basics of Digital Logic Circuits and Digital Components.
Understand about the Concepts of Data Representation, Register Transfer and
C104.2
Micro Operations.
Understand the concept of Basic Computer Organization and Design and
C104.3
Central Processing Unit.
Understand about the concept of Input /Output Organization and Memory
C104.4
Organization.

13
MCA-20104 COMPUTER ORGANIZATION
Instruction: 4 Periods/week Time: 3 Hours Credits: 4
Internal: 25 Marks External: 75 Marks Total: 100 Marks
UNIT-I
Digital Logic Circuits:
Digital Computers, Logic Gates, Boolean Algebra, Map Simplification, Combinational Circuit,
Flip-flops Sequential Circuits.
Digital Components:
Integrated Circuits, Decoders, Multiplexes, Registers, Shift Registers, counters, Memory Unit.
UNIT-II
Data Representation:
Data Types, Complements, Fixed-point Representation, Floating point Representation.
Register Transfer and Micro Operations:
Register Transfer Language, Register Transfer, Bus and Memory Transfer, Arithmetic Micro
Operations, Assembly language Instructions, 8085 Microprocessor Instruction Set
Architecture.
UNIT-III
Basic Computer Organization and Design:
Instruction Codes, Computer Register, Computer Instructions, Timing and Control, Instruction
Cycle memory reference Instructions, Input-Output, Interrupt.
Central Processing Unit:
Introduction, General Register Organization, Stack Organization, Instruction formats,
addressing modes.
UNIT-IV
Input /Output Organization:
Peripherals Devices, I/O Interface, Asynchronous Data Transfer, Mode of Transfer, Priority
Interrupt, Direct memory access, Input – Output Processor(IOP).
Memory Organization:
Memory Hierarchy, Main memory, Auxiliary Memory, Associate Memory, Cache Memory
and Virtual Memory.

Text Books:
1.Computer System Architecture, M.Morris Mano, Prentice Hall of India Pvt.ltd. Third
Edition, Sept. 2008.
Reference Books:
1.Computer Architecture and Organization, William Stallings, PHI Pvt. Ltd. Eastern Economy
14
Edition, Sixth Edition, 2003.
2.Computer System Architecture John P. Hayes.
3.Computer Architecture A Quantitative approach 3rd Edition John L. Hennessy & David A.
Patterson Morgan Kufmann (An Imprint of Elseveir)

Course Code &Title: MCA-20105 OPERATING SYSTEMS


Semester & Year of study: I &2020-2021
Course Index: C105
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn the concept of Introduction to Operating Systems and Process Management.
Learn aboutabout Process Synchronization and Deadlocks in detail.
Learn about the concept of Memory Management, File System Implementation, Mass-storage
structure.
Learn the concept of Protection and Case Study.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
Understand the concept of Introduction to Operating Systems and Process
C105.1
Management.
C105.2 Understand aboutabout Process Synchronization and Deadlocks in detail.
Understand about the concept of Memory Management, File System
C105.3
Implementation, Mass-storage structure.
C105.4 Understand the concept of Protection and Case Study.

15
MCA-20105 OPERATING SYSTEMS
Instruction: 4 Periods/week Time: 3 Hours Credits: 4
Internal: 25 Marks External: 75 Marks Total: 100 Marks

UNIT I
Introduction: Definition of Operating System, Types Of Operating Systems, Operating
System Structures, Operating-System Services, System Calls, Virtual Machines, Operating
System Design and Implementation.
Process Management: Process Concepts, Operations on Processes, Cooperating Processes,
Threads, Inter Process Communication, Process Scheduling, Scheduling Algorithms, Multiple -
Processor Scheduling. Thread Scheduling.
UNIT II
Process Synchronization: The Critical Section Problem, Semaphores, And Classical Problems
of Synchronization, Critical Regions, Monitors, Synchronization examples.
Deadlocks: Principles of Deadlocks, System Model, Deadlocks Characterization, Methods for
Handling Deadlocks, Deadlock Prevention, Avoidance, Detection & Recovery from
Deadlocks.
UNIT III
Memory Management: Logical Versus Physical Address, Swapping, Contiguous Memory
Allocation, Paging, Structure of the Page Table, Segmentation, Virtual Memory, Demand
Paging, Page Replacement Algorithms, Thrashing
File System Implementation: Concept of a file, Access Methods, Directory Structure, File
System Structure, Allocation Methods, Free Space Management, Directory Management,
Device Drivers.
Mass-storage structure: overview of Mass-storage structure, Disk structure, disk attachment,
disk scheduling, swap-space management.
UNIT IV
Protection: Goals and Principles of Protection, Access matrix implementation, Access control,
Revocation of access rights.
Case study: LINUX, Windows Operating Systems.

Text Book:
1. Operating System Principles by Abraham Silberschatz, Peter Galvin, Greg Gagne.
Seventh Edition, Wiley Publication
Reference Books:
16
1. Operating Systems, William Stallings 5th Edition - PHI
2. Modern Operating Systems, Andrew S.Tanenbaum, 2nd edition, 1995, PHI.
3. Operating Systems - A concept based approach, Dhamdhere, 2nd Edition, TMH, 2006.
4. Understanding the Linux Kernel, Daniel P Bovet and Marco Cesati, 3rd Edition,’ Reilly,
2005.

Course Code &Title: MCA-20106 DESIGN AND ANALYSIS OF ALGORITHMS


Semester & Year of study: I & 2020-2021
Course Index: C106
Course Objectives:
The learning objectives of this course are:
Course Objectives
To learn about the Asymptotic Notations, Mathematical Analysis of Non-recursive and recursive
Algorithms and sorting techniques.
To learn about theDivide-and-Conquer technique,Decrease-and-Conquer and Transform-and-
Conquer techniques.
To learn about theDynamic Programming andGreedy Technique
To learn about the Decision Trees, P, NP and NP- complete problems, Backtracking, Branch-and-
Bound, Approximation Algorithms for NP-hard Problems.
Course Outcomes:
By the end of the course, the student will be
Understand about the Asymptotic Notations, Mathematical Analysis of Non-
C106.1 recursive and recursive Algorithms and
Selection Sort and Bubble sort, Sequential Search and Exhaustive Search.
Understand about the Divide-and-Conquer technique,Decrease-and-Conquer
C106.2
and Transform-and-Conquer techniques.
Understand the Optimal Binary Search Trees, The Knapsack Problem
C106.3
Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm.
Understand about the Decision Trees, P, NP and NP- complete problems,
C106.4 Backtracking, Branch-and-Bound, Approximation Algorithms for NP-hard
Problems.

17
MCA 3.3 DESIGN AND ANALYSIS OF ALGORITHMS

Instruction:3Periods/week Time: 3Hours Credits:4


Internal:25Marks External:75Marks Total: 100Marks
-------------------------------------------------------------------------------------------------------

UNIT I
Introduction: Fundamentals of algorithmic problem solving, important problem types.
Fundamentals of analysis of algorithms and efficiency: Analysis framework, Asymptotic
Notations and Basic Efficiency classes, Mathematical Analysis of Non-recursive
Algorithms, Mathematical Analysis of recursive Algorithms, Empirical Analysis of
Algorithms, AlgorithmVisualization.
Brute Force: Selection Sort and Bubble sort, Sequential Search and Exhaustive Search.

UNIT II
Divide-and-Conquer: Merge Sort, Quick sort, Binary Search, Binary Tree Traversals and
Related Properties.
Decrease-and-Conquer: Insertion Sort, Depth-First Search and Breadth-First Search-
Topological Sorting, Decrease-by-a-Constant-Factor Algorithms.
Transform-and-Conquer: Balanced Search Trees, Heaps and Heap sort,
ProblemReduction.

UNIT III
Dynamic Programming: Warshall’s and Floyd’s Algorithm, Optimal Binary Search Trees,
The 0/1 Knapsack Problem and Memory Functions.
Greedy Technique: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm

UNIT IV
Limitations of Algorithm Power: Decision Trees, P, NP and NP- complete problems.
Coping with the Limitations of Algorithms Power: Backtracking-n-queens
problem,Hamiltonian circuit problem,Subset-sum problem.Branch-and-Bound- The
KnapsackProblem ,Travelling salesperson problem,Approximation Algorithms for NP-hard
Problems.

Text Book:
1. Introduction to Design & Analysis of Algorithms by Anany Levitin, Pearson
Education, New Delhi, 2003
Reference Books:
1. Introduction to Algorithms by Thomas H. Corman, Charles E. Leiserson, Ron ald R.
Rivest& Clifford Stein, Prentice Hall of India, NewDelhi.
2. The Design and Analysis of computer Algorithms, Aho, Hopcroft & Ullman,
Pearson Education, New Delhi, 2003
3. Fundamentals of algorithmics, Gilles Brassard & Paul Bratley, Prentice Hall of
India, NewDelhi

18
Course Code &Title: MCA-20107 C PROGRAMMING AND DATA STRUCTURES LAB
Semester & Year of study: I & 2020-2021
Course Index: C107
Course Objectives: The learning objectives of this course are:

Course Objectives
Learn how to write code for different types of programs using C Programming.
Learn how to write code programs of Data Structures.
Learn how to write/code and own programs using C Programming.
Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C107.1 Able to write code for different types of programs using C Programming.
C107.2 Able to write code programs of Data Structures.
C107.3 The students are able to write/code and own programs using C Programming.

19
MCA-20107: C PROGRAMMING AND DATA STRUCTURES LAB
Instruction: 3Hrs/week Time: 3Hours Credits: 2
Internal: 50 Marks External: 50 Marks Total: 100Marks

1. Write a C program to read x, y coordinates of 3 points and then calculate the area of
atriangle formed by them and print the coordinates of the three points and the area of the
triangle. What is the output from your program if the three given points are in a straight line.
2. Write a C program which generates 100 random numbers in the range of 1 to 100. Storethem
in an array and then print the array. Write 3 versions of the program using different loop
constructs (eg. for, while and do-while).
3. Write a program which determines the largest and the smallest number that can be storedin
different data types like short, int, long, float and double. What happens when you add 1 to the
largest possible integer number that can be stored?
4. Write a C program which generates 100 random real numbers in the range of 10.0 to 20.0and
sort them in descending order.
5. Write a C function for transporting a square matrix in place (in place means that youarenot
allowed to have full temporary matrix).
6. Write a C function which will invert a matrix.
7. Write a set of string manipulation functions eg. for getting a sub-string from a givenposition,
copying one string to another, reversing a string and adding one string to another.
8. Write a C program for sorting a list using Bubble sort and then apply binary search.
9. Write a C program to implement the operations on stacks.
10.Write a C program to implement the operations on circular queues.
11.Write a C program for the representation of polynomials using circular linked list and for
the addition of two such polynomials.
12.Write a C program for quick sort.
13.Write a C program for Merge sort.
14.Write a C program to create a binary search tree and for implementing the in order,preorder,
Post order traversal using recursion.
15.Write a C program for finding the Depth First Search of a graph.
16.Write a C program for finding the Breadth First Search of a graph.
REFERENCE BOOKS:
1. Let Us C ,YashwantKanetkar, BPB Publications, 5th Edition.
2. Computer Science, A structured programming approach using C”, B.A.Forouzan and
R.F.Gilberg, “ 3rd Edition, Thomson, 2007.
3. The C –Programming Language’ B.W. Kernighan, Dennis M. Ritchie, PHI
4. Data Structures and Algorithms, 2008,G.A.V.Pai, TMH
20
5. Classic Data Structures, 2/e, Debasis ,Samanta,PHI,2009
6. Fundamentals of Data Structure in C, 2/e, Horowitz,Sahni, Anderson Freed,University.

Course Code &Title: MCA-20108 OPERATING SYSTEMS AND COMPUTER


ORGANIZATION LAB
Semester & Year of study: I & 2020-2021
Course Index: C108
Course Objectives:
The learning objectives of this course are:

Course Objectives
Learn how to write code in UNIX operating system using some basic commands.
Learn how to write code some basic programs using Shell Programming.
Learn how to write/code different types of algorithms using C/C++/JAVA.
Learn how to do Digital Logic Design Experiments

Learn how to do 8085/86AssemblyLanguage Programs


Course Outcomes:
By the end of the course, the student will be
Course
Course Outcomes
Index
C108.1 The students able to write code in UNIX operating system using some basic
commands.
C108.2 The students able to write code some basic programs using Shell Programming.
C108.3 The students are able to write/code different types of algorithms using
C/C++/JAVA.
C108.4 The students able to do Digital Logic Design Experiments
C108.5
The students able to write 8085/86AssemblyLanguage Programs

21
MCA-20108 OPERATING SYSTEMS AND COMPUTER
ORGANIZATION LAB
Practical: 3 Periods /week Time: 3 Hours Credits: 2
Internal: 50 Marks External: 50 Marks Total: 100 Marks
-------------------------------------------------------------------------------------------------------------------
OPERATING SYSTEMS LAB
1. Basic UNIX commands
Implement the following using Shell Programming
2. Input number even or odd.
3. Count the number of lines in the input text.
Implement the following using C/C++/JAVA
4. FCFS CPU scheduling algorithm.
5. SJF CPU scheduling algorithm.
6. Round Robin CPU scheduling algorithm.
7. Priority CPU scheduling algorithm.
8. Implement Semaphores.

REFERENCE BOOKS:
1. Operating System Principles by Abraham Silberschatz, Peter Galvin, Greg Gagne. Seventh
Edition, Wiley Publication
2. Understanding the Linux Kernel, Daniel P Bovet and Marco Cesati, 3rd Edition,
Reilly, 2005.
3. Unix programming, Stevens, Pearson Education.
4. Shell programming, YashwanthKanetkar.

COMPUTER ORGANIZATION LAB


Digital Logic Design Experiments
1. TTL Characteristics and TTL ICGates
2. Multiplexers&Decoders
3. Flip-Flops
4. Counters
5. Binary Adders &Subtractors
8085/86AssemblyLanguageProgramming:
1. Addition of two 8 bit numbers.
2. Addition of two 16 bit numbers.
3. Sum of series of 8 bit numbers.
4. Subtraction of two 8 bit numbers.
5. Largest number in an array.

REFERENCE BOOKS:
1. Computer System Architecture: Morris Mano.
2. Advanced Micro Processor and Peripherals - Hall/ A K Ray.
3. Computer Organization and Architecture – William Stallings Sixth Edition, Pearson/PHI.
4. Structured Computer Organization and Design - Andrew S. Tanenbaum, 4th Edition
PHI/Pearson.

22
23

You might also like