0% found this document useful (0 votes)
24 views11 pages

BCA Syllabus 2025: Data Structures C

The document outlines the curriculum for the B.Sc and B.C.A. programs at Adikavi Nannaya University, focusing on Data Structures using C and Foundations of Data Science. It details course objectives, outcomes, unit topics, textbooks, and suggested co-curricular activities for practical learning. Additionally, it includes a list of experiments for hands-on experience in programming and data manipulation using Python and related libraries.
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)
24 views11 pages

BCA Syllabus 2025: Data Structures C

The document outlines the curriculum for the B.Sc and B.C.A. programs at Adikavi Nannaya University, focusing on Data Structures using C and Foundations of Data Science. It details course objectives, outcomes, unit topics, textbooks, and suggested co-curricular activities for practical learning. Additionally, it includes a list of experiments for hands-on experience in programming and data manipulation using Python and related libraries.
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

ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM

Single Major [Link] Computer Science (w.e.f:2023-24A.B)

III Semester
Course 6: Data Structures using C
Credits -3

Course Objectives
To introduce the fundamental concept of data structures and to emphasize the importance of
various data structures in developing and implementing efficient algorithms.
Course Outcomes
Upon successful completion of the course, a student will be able to:
1. Understand various Data Structures for data storage and processing.
2. Realize Linked List Data Structure for various operations
3. Analyze step by step and develop algorithms to solve real world problems by implementing
Stacks, Queues data structures.
4. Understand and implement various searching & sorting techniques.
5. Understand the Non-Linear Data Structures such as Binary Trees and Graphs

UNIT-I
Basic Concepts: Pointers and dynamic memory allocation, Algorithm-Definition and characteristics,
Algorithm Analysis-Space Complexity, Time Complexity, Asymptotic Notation Introduction to
Data structures: Definition, Types of Data structure, Abstract Data Types (ADT), Difference
between Abstract Data Types, Data Types, and Data Structures.
Arrays-Concept of Arrays, Single dimensional array, Two dimensional array, Operations on arrays
with Algorithms (searching, traversing, inserting, deleting)

UNIT-II
Linked List: Concept of Linked Lists, Representation of linked lists in Memory, Comparison
between Linked List and Array, Types of Linked Lists - Singly Linked list, Doubly Linked list,
Circularly Singly Linked list, Circularly Doubly Linked list;
Implementation of Linked List ADT: Creating a List, Traversing a linked list, Searching linkedlist,
Insertion and deletion into linked list (At first Node, Specified Position, Last node), Application of
linked lists

UNIT-III
Stacks: Introduction to stack ADT, Representation of stacks with array and Linked List,
Implementation of stacks, Application of stacks - Polish Notations - Converting Infix to Post Fix
Notation - Evaluation of Post Fix Notation - Tower of Hanoi, Recursion: Concept and Comparison
between recursion and Iteration
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

Queues: Introduction to Queue ADT, Representation of Queues with array and Linked List,
Implementation of Queues, Application of Queues Types of Queues- Circular Queues, De-queues,
Priority Queue
UNIT-IV
Searching: Linear or Sequential Search, Binary Search and Indexed Sequential Search
Sorting: Selection Sort, Bubble Sort, Insertion Sort, Quick Sort and Merge Sort

UNIT-V
Binary Trees: Concept of Non- Linear Data Structures, Introduction Binary Trees, Types of
Trees, Basic Definition of Binary Trees, Properties of Binary Trees, Representation of Binary
Trees, Operations on a Binary Search Tree, Binary Tree Traversal, Applications of Binary Tree.
Graphs: Introduction to Graphs, Terms Associated with Graphs, Sequential Representation of
Graphs, Linked Representation of Graphs, Traversal of Graphs (DFS, BFS), Application of
Graphs.

Text Books:
1. Horowitz and Sahani, “Fundamentals of Data Structures”, Galgotia Publications Pvt Ltd
Delhi India.
2. A.K. Sharma ,Data Structure Using C, Pearson Education India.
3. “Data Structures Using C” Balagurusamy E. TMH

Reference Books
1. “Data Structures through C”, Yashavant Kanetkar, BPB Publications
2. Rajesh K. Shukla, “Data Structure Using C and C++” Wiley Dreamtech Publication.
3. Lipschutz, “Data Structures” Schaum’s Outline Series, Tata Mcgraw-hill Education (India)Pvt.
Ltd .
4. Michael T. Goodrich, Roberto Tamassia, David M. Mount “Data Structures and
Algorithms in C++”, Wiley India.

SUGGESTED CO-CURRICULAR ACTIVITIES & EVALUATION METHODS:


Unit 1: Activity: Algorithm analysis exercises
Evaluation Method: Programming Assignment and Correctness
Unit 2: Activity: Presentations on real-life applications of linked lists
Evaluation Method: Presentation skills or reports
Unit 3: Activity: Role-playing activities for stack operations
Evaluation Method: Problem-solving skills, communication and collaboration abilities.
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

Unit 4: Activity: Sorting algorithm analysis and comparison activities


Evaluation Method: Performance analysis and presentation.
Unit 5: Activity: Case Study on Applications of Graphs
Evaluation Method: Critical thinking, problem-solving, and presentation skills
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

III Semester
Course 6: Data Structures Using C
Credits -1

List of Experiments:

1. Write a program to read ‘N’ numbers of elements into an array and also perform the
following operation on an array
a. Add an element at the beginning of an array
b. Insert an element at given index of array
c. Update an element using a values and index
d. Delete an existing element
2. Write Program to implement Single Linked List with insertion, deletion and traversal
operations
3. Write Program to implement Circular doubly Linked List with insertion, deletion and
traversal operations
4. Write Programs to implement the Stack operations using an array
5. Write a program using stacks to convert a given infix expression to postfix
6. Write Programs to implement the Stack operations using Liked List.
7. Write Programs to implement the Queue operations using an array.
8. Write Programs to implement the Queue operations using Liked List.
9. Write a program for Binary Search Tree Traversals
10. Write a program to search an item in a given list using the following Searching Algorithms
a. Linear Search
b. Binary Search.
11. Write a program for implementation of the following Sorting Algorithms
a. Bubble Sort
b. Insertion Sort
c. Quick Sort
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

V Semester
Course 14 B: Foundations of Data Science
Credits -3

Learning Objectives:
To enable students to develop IoT solutions for real-world problems

Learning Outcomes: On successful completion of the course, students will be able to


1. Identify the need for data science and understand various data collection strategies
2. Understand about NoSQL and Descriptive Statistics
3. Apply Numpy methods to process the data in an array.
4. Summarize and Compute Descriptive Statistics using Pandas.
5. Apply powerful data manipulations visualization using Pandas

UNIT-I
Introduction to Data Science: Need for Data Science – What is Data Science - Evolution of Data
Science, Data Science Process – Business Intelligence and Data Science – Prerequisites for a Data
Scientist – Tools and Skills required. Applications of Data Science in various fields – Data Security
Issues.
Data Collection Strategies, Data Pre-Processing Overview, Data Cleaning, Data Integration and
Transformation, Data Reduction, Data Discretization, Data Munging, Filtering

UNIT-II
Descriptive Statistics – Mean, Standard Deviation, Skewness and Kurtosis; Box Plots – Pivot Table
– Heat Map – Correlation Statistics –ANOVA.
No-SQL: Document Databases, Wide-column Databases and Graphical Databases.
UNIT-III
Python for Data Science –Python Libraries, Python integrated Development Environments (IDE)for
Data Science, NumPy Basics: Arrays and Vectorized Computation- The NumPy ndarray-
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

Creating ndarrays- Data Types for ndarrays- Arithmetic with NumPy Arrays- Basic Indexing and
Slicing - Boolean Indexing-Transposing Arrays and Swapping Axes.

Universal Functions: Fast Element-Wise Array Functions- Mathematical and Statistical Methods-
Sorting- Unique and Other Set Logic.

UNIT-IV
Introduction to pandas Data Structures: Series, Data Frame and Essential Functionality:
Dropping Entries- Indexing, Selection, and Filtering- Function Application and Mapping- Sortingand
Ranking.
Summarizing and Computing Descriptive Statistics- Unique Values, Value Counts, and Membership.
Reading and Writing Data in Text Format.

UNIT-V
Data Cleaning and Preparation: Handling Missing Data - Data Transformation: Removing
Duplicates, Transforming Data Using a Function or Mapping, Replacing Values, Detecting and
Filtering Outliers-

Plotting with pandas: Line Plots, Bar Plots, Histograms and Density Plots, Scatter or Point Plots.

Text Book(s)
1. Y. Daniel Liang, “Introduction to Programming using Python”, Pearson, 2012.
2. Wes McKinney, “Python for Data Analysis: Data Wrangling with Pandas, NumPy,and
IPython”, O’Reilly, 2nd Edition, 2018.

Reference Books
1. Sanjeev Wagh, Manisha Bhende, Anuradha Thakare, ‘Fundamentals of Data Science, CRC
Press, 1st Edition, 2022
2. Jake VanderPlas, “Python Data Science Handbook: Essential Tools for Working with Data”,
O’Reilly, 2017.
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

SUGGESTED CO-CURRICULAR ACTIVITIES & EVALUATION METHODS:


Unit 1: Activity: Seminar on Role of Data Science in Politics
Evaluation Method: Content knowledge, organization, clarity, presentation skills,
visualaids, audience engagement

Unit 2: Activity: Exercises on Descriptive Statistics


Evaluation Method: Problem Solving, Accuracy
Unit 3: Activity: Hands-on Lab using Numpy
Evaluation Method: Lab Performance and Correctness of solution Implementation
Unit 4: Activity: Hands-on Lab Activity on Pandas
Evaluation Method: Lab Performance and Correctness of solution Implementation.
Unit 5: Activity: Group Activity to visualize college performance records using various plots
Evaluation Method: Active Participation, Post Talk report presentation
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major [Link] Computer Science (w.e.f:2023-24A.B)

V Semester
Course 14 B : Foundations of Data Science
Credits -1

List of Experiments:
1. Study on various python IDEs for Data Science
2. Create NumPy arrays from Python Data Structures, Intrinsic NumPy objects and Random
Functions.
3. Manipulation of NumPy arrays- Indexing, Slicing, Reshaping, Joining and Splitting.
4. Computation on NumPy arrays using Universal Functions and Mathematical methods.
5. Create Pandas Series and Data Frame from various inputs.
6. Import any CSV file to Pandas Data Frame and perform the following:
a. Visualize the first and last 10 records
b. Get the shape, index and column details
c. Select/Delete the records (rows)/columns based on conditions.
d. Perform ranking and sorting operations.
e. Do required statistical operations on the given column
7. Import any CSV file to Pandas Data Frame and perform the following:
a. Handle missing data by detecting and dropping/ filling missing values.
b. Transform data using apply () and map() method.
c. Detect and filter outliers.
d. Perform Vectorized String operations on Pandas Series.
e. Visualize data using Line Plots, Bar Plots, Histograms, Density Plots and Scatter
Plots.
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major B.C.A. Computer Applications (w.e.f:2023-24A.B)

SEMESTER-V
COURSE 15: FOUNDATIONS OF DATA SCIENCE
Theory Credits: 3 3 hrs/week
Course Objectives:
1. To understand the data science fundamentals and process.
2. To learn to describe the data for the data science process.
3. To learn to describe the relationship between data.
4. To utilize the Python libraries for Data Wrangling.
5. To present and interpret data using visualization libraries in Python

Course Outcomes: Upon Completion of the course, the students will be able to
1. Define the Data Science
2. Understand the Flow of Data science
3. Identify different steps in Data Science
4. Learn the Ipython basics
5. Learn data loading and manipulation techniques
6. Work with different data visualization techniques

Unit-I:

Benefits and uses of data science and big data, the big data eco system and data science, the data
science process: Overview of data science process, Different steps in data science process: Research
Goal, Retrieving data, Cleansing, integrating and transforming data, Exploratory data analysis, Build
the models, Presenting findings and building applications

CASE STUDY: Predicting malicious URLs

Unit-II:

IPython: Beyond Normal Python, Shell or Notebook?, Launching the IPython Shell, Launching the
Jupyter Notebook, Help and Documentation in IPython, Accessing Documentation with ?, Accessing
Source Code with ??, Exploring Modules with Tab Completion, Keyboard Shortcuts in the IPython
Shell, , IPython Magic Commands, Input and Output History, Underscore Shortcuts and Previous
Outputs, Suppressing Output, IPython and Shell Commands, Shell Commands in IPython, Passing
Values to and from the Shell, Shell-Related Magic Commands, Errors and Debugging, Profiling and
Timing Code,

CASE STUDY: Building a recommender system inside a database

Unit-III:

Introduction to NumPy: Data Types in Python, Python List, Fixed-Type Arrays in Python, Creating
Arrays from Python Lists, Creating Arrays from Scratch, NumPy Standard Data Types, The Basics
of NumPy Arrays, NumPy Array Attributes, Array Indexing: Accessing Single Elements, Array
Slicing: Accessing Subarrays, Reshaping of Arrays, Array Concatenation and Splitting, Exploring
NumPy’s UFuncs, Aggregation functions
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major B.C.A. Computer Applications (w.e.f:2023-24A.B)

CASE STUDY: Assessing risk when loaning money

Unit-IV:

Data Manipulation with Pandas: Installing and Using Pandas, Introducing Pandas Objects, The
Pandas Series Object, The Pandas DataFrame Object, The Pandas Index Object, Data Indexing and
Selection, Data Selection in DataFrame, Operating on Data in Pandas, Handling Missing Data,
Operating on Null Values, Combining Datasets: Concat and Append, Combining Datasets: Merge
and Join, Working with Time Series

CASE STUDY: Classifying Reddit Posts

Unit-V:

Visualization with Matplotlib: Importing matplotlib, Setting Styles, Plotting from a script, Plotting
from an IPython shell, Plotting from an IPython notebook, Saving Figures to File, Two Interfaces for
the Price of One, Simple Line Plots, Adjusting the Plot: Line Colors and Styles, Adjusting the Plot:
Axes Limits, Labeling Plots, Simple Scatter Plots, Density and Contour Plots, Histograms, Binnings,
and Density, Customizing Matplotlib: Configurations and Stylesheets, Geographic Data with
Basemap, Visualization with Seaborn, Other Python Graphics Libraries

Python Libraries for Machine Learning: Introducing Scikit-Learn, Data Representation in Scikit-
Learn, Scikit-Learn’s Estimator API

Case Study: Exploring Handwritten Digits

Prescribed Text Books:

1. Introducing Data Science: BIG DATA, MACHINE LEARNING, AND MORE, USING
PYTHON TOOLS by DAVY CIELEN, ARNO D. B. MEYSMAN, MOHAMED ALI
2. Python Data Science Handbook Essential Tools for Working with Data by Jake Vander Plas
3. R for Data Science Import, Tidy, Transform, Visualize, and Model Data by Hadley Wickham
and Garrett Grolemund
4. Data Science using Python and R by C.D Larose and [Link]
5. Mathematical Foundations of Data Science Using R by Frank Emmert-Streib, Salissou
Moutari, and Matthias Dehmer
ADIKAVI NANNAYA UNIVERSITY: RAJMAHENDRAVARAM
Single Major B.C.A. Computer Applications (w.e.f:2023-24A.B)

SEMESTER-V
COURSE 15: FOUNDATIONS OF DATA SCIENCE
Practical Credits: 1 2 hrs/week
Course Outcomes: On successful completion of this practical course, student shall be able to:
10. Execute python basic programs.
11. Work with Python IDEs.
12. Gain practical knowledge on different python libraries .

Implement the lab experiments in Python with any real time example

1. Introduction to programming with Python.


2. Python programming basics
3. Conditional statements
4. Loops
5. Functions
6. Integrated Development Environments (IDEs).
7. How to structure Python code in a project.
8. How to manage libraries in Python using virtual environments.
9. Data Loading, Storage, and File Formats.
10. Data Cleaning and Preparation.
11. Data Manipulation with Pandas.
12. Data Wrangling: Join, Combine, and Reshape.
13. Plotting and Visualization.
14. Data Aggregation and Group Operations.
15. Advanced Numpy.
16. Matplotlib
17. Building and optimizing pipelines in scikit-learn.

Common questions

Powered by AI

Linked lists and arrays differ primarily in memory allocation and operational efficiency. Arrays are stored in contiguous memory locations, requiring a predefined length that cannot be changed easily, which leads to efficient access via index but can result in wasted memory or insufficient space. In contrast, linked lists use nodes that are dynamically allocated in non-contiguous memory locations, allowing for efficient insertions and deletions without the need for reallocation or resizing. However, this dynamic allocation means that accessing elements takes linear time as it requires traversal from the head to the desired node .

The properties of graph data structures facilitate efficient traversal algorithms like Depth First Search (DFS) and Breadth-First Search (BFS) by providing flexible frameworks for node and edge relationships. DFS utilizes a stack (explicitly or implicitly using recursion) to explore as far as possible along one branch before backtracking, well-suited for problems that require an exhaustive path check like solving mazes. BFS uses a queue to explore neighbors level by level, ensuring that the shortest path in an unweighted graph is found. Both rely on graph representations like adjacency lists or matrices to track visited nodes and streamline traversal efficiently .

Python libraries like NumPy and Pandas play a pivotal role in data science by providing fundamental functionalities that streamline data manipulation and analysis. NumPy offers numerical computation tools, supporting large, multi-dimensional arrays and matrices, and providing a collection of mathematical functions to operate on these arrays efficiently, thus improving computational speed and resource management. Pandas builds on this by offering powerful data structures (Series and DataFrame) that simplify complex data manipulation tasks, including reading and writing data, handling missing values, and integrating different data sets seamlessly. These libraries enable efficient preprocessing, exploration, and transformation of raw data, facilitating more accessible, performant, and scalable analytical work .

Binary search is considered more efficient than linear search because it reduces the problem size logarithmically while searching. By recursively dividing the sorted array in half and eliminating half of the data set with each comparison, it achieves a time complexity of O(log n) compared with the O(n) time complexity of linear search. However, binary search's constraints include the necessity for the data to be sorted beforehand, which might add overhead if additional sorting is required. Additionally, binary search is less effective if the data structure doesn't support direct access to elements, such as linked lists .

Data preprocessing is a critical step in the data science process as it ensures the quality and consistency of data, significantly impacting model performance and reliability. It involves cleaning, normalizing, transforming, and reducing data to address issues such as missing values, outliers, noise, and inconsistencies. Proper preprocessing leads to improved data quality by ensuring that misleading or irrelevant data does not adversely affect the model. Moreover, it enhances model performance by optimizing inputs for algorithms, which can lead to more accurate and efficient predictions, thus saving computational resources and improving interpretability .

Data visualization techniques using tools like Matplotlib and Seaborn critically impact data analysis and interpretation by providing powerful, visual context to complex data sets, which enhances understanding and insights. Matplotlib offers comprehensive plotting functions for creating static, animated, and interactive visualizations, allowing for intricate customization, while Seaborn builds on Matplotlib with high-level, aesthetically pleasing statistical graphics. These tools improve clarity and accessibility of data insights, aid in the identification of patterns or outliers, and support storytelling in non-technical presentations, thus directly influencing decision-making processes and data-driven insights .

Recursion is practically implemented within stack operations by using the method call stack to manage function calls. Each recursive call pushes a new frame onto the call stack with its own execution context until a base case is reached, at which point the stack begins to unwind as the function returns. This allows for elegant solutions to problems like the Tower of Hanoi and Fibonacci sequence calculation. However, recursion's limitations include a potential for stack overflow if a recursion depth is too large, inefficiencies due to repeated recalculations (unless optimized with memoization), and increased use of stack memory compared to iterative solutions .

Binary trees are used effectively in modern computational applications, particularly in database systems and information retrieval, through structures like binary search trees (BSTs) and AVL trees. In database systems, BSTs provide efficient support for dynamic sets and are used for quick lookups, inserts, deletions, and range queries. In information retrieval, binary trees help in organizing hierarchical data, with balanced trees ensuring operations remain efficient. AVL trees and splay trees provide additional efficiencies by maintaining balance, essential for performing operations in logarithmic time, suiting scenarios that require frequent and fast adaptable queries .

Abstract Data Types (ADTs) refer to a model or concept defined by its behavior from a user's perspective, specifically in terms of possible values, operations on data, and behavior. An ADT does not concern itself with how these operations are implemented or how data is stored. In contrast, Data Structures are concrete implementations of these ADTs, providing specific mechanisms for data management and operations. The distinction is significant as ADTs offer a level of abstraction that simplifies algorithm design, allowing developers to think about functions and operations while abstracting away the technical intricacies of data handling within a particular environment or language .

Circular queues are more beneficial than standard queues in scenarios where constant space utilization and efficient memory use are critical, such as fixed-size buffer problems in embedded systems. They allow for the reuse of memory as the queue wraps around, ensuring that no memory locations are left unused when not necessary. The trade-offs include increased complexity in managing circular buffers, particularly during queue operations like insertion and deletion, as these operations require careful management of front and rear pointers to assure that elements are correctly placed without overwriting valuable data .

You might also like