uiz Space

September 2025 term · Tools in Data Science · BSSE2002

Tools in Data Science End Term: 21 December 2025 (September 2025 term)

The IIT Madras BS Tools in Data Science (Tools in Data Science (TDS)) End Term paper sat on 21 Dec 2025, in the September 2025 term: 36 questions for 40 marks in 180 minutes. Every question is below with its answer. Take it as a timed mock test to be marked, or read it through first.

Questions
36
Marks
40
Duration
180 min
MCQ
36

Updated

Official paper: Tools In Data Science 18 Dec 25 · No negative marking.

Question 1

+1 markOne correct option

Which data serialization format is most efficient for storing large numeric arrays with minimal overhead?

  1. A

    XML

  2. B

    Parquet

  3. C

    JSON

  4. D

    Plain text CSV

Show answer

Correct answer

  • B

    Parquet

Question 2

+1 markOne correct option

In Git, which command shows the differences between your working directory and the last commit?

  1. A

    git status

  2. B

    git diff

  3. C

    git log

  4. D

    git show

Show answer

Correct answer

  • B

    git diff

Question 3

+1 markOne correct option

What does HTTP status code 429 indicate?

  1. A

    Internal server error

  2. B

    Rate limit exceeded

  3. C

    Unauthorized access

  4. D

    Resource not found

Show answer

Correct answer

  • B

    Rate limit exceeded

Question 4

+1 markOne correct option

Which Python library is primarily designed for exploratory data analysis and statistical visualization?

  1. A

    NumPy

  2. B

    Seaborn

  3. C

    Django

  4. D

    Flask

Show answer

Correct answer

  • B

    Seaborn

Question 5

+1 markOne correct option

What is the main purpose of using environment variables in production systems?

  1. A

    To speed up code execution

  2. B

    To store configuration and secrets separately from code

  3. C

    To replace all function parameters

  4. D

    To automatically test applications

Show answer

Correct answer

  • B

    To store configuration and secrets separately from code

Question 6

+1 markOne correct option

When validating incoming data from external APIs, which validation strategy prevents downstream pipeline failures most effectively?

  1. A

    Check only that the data is not empty

  2. B

    Validate data types, required fields, value ranges, and fail fast with clear error messages

  3. C

    Accept all data and let downstream processes handle errors

  4. D

    Log warnings but process all data regardless

Show answer

Correct answer

  • B

    Validate data types, required fields, value ranges, and fail fast with clear error messages

Question 7

+1 markOne correct option

You are building a daily ETL pipeline that processes customer orders. Orders can arrive late or be updated. Which design pattern ensures you don't miss late-arriving data while avoiding duplicate processing?

  1. A

    Process only data from the current day and ignore anything older

  2. B

    Use lookback windows with deduplication based on unique order IDs and update timestamps

  3. C

    Reprocess all historical data every day to ensure completeness

  4. D

    Process data as it arrives without tracking what has been processed

Show answer

Correct answer

  • B

    Use lookback windows with deduplication based on unique order IDs and update timestamps

Question 8

+1 markOne correct option

Your analytics dashboard queries a large dataset that updates hourly but is queried every few seconds by users. Which caching strategy improves performance while maintaining reasonable freshness?

  1. A

    Never cache and always query the live dataset directly

  2. B

    Cache results with a TTL matching update frequency and invalidate on updates

  3. C

    Cache results permanently without refreshing them for future queries

  4. D

    Disable the dashboard whenever the dataset is updated to prevent queries

Show answer

Correct answer

  • B

    Cache results with a TTL matching update frequency and invalidate on updates

Question 9

+1 markOne correct option

When joining datasets from different time zones, you discover that some timestamps lack timezone information. What is the safest approach?

  1. A

    Assume all missing timestamps are in UTC for simplicity

  2. B

    Infer timezone from metadata or location, document assumptions, and flag inferred values

  3. C

    Reject any records that do not have explicit timezone information

  4. D

    The code fails because the data contains timestamps in a non-UTC time zone that pandas cannot parse.

Show answer

Correct answer

  • B

    Infer timezone from metadata or location, document assumptions, and flag inferred values

Question 10

+1 markOne correct option

You maintain a data pipeline that transforms raw logs into analytics tables. The transformation logic changes frequently. How should you version and test these transformations?

  1. A

    Keep all transformation logic in a single script and update it directly

  2. B

    Version transformations with git, write unit tests, test on sample data before production

  3. C

    Manually document changes in a shared document

  4. D

    Avoid making changes to prevent breaking existing processes

Show answer

Correct answer

  • B

    Version transformations with git, write unit tests, test on sample data before production

Question 11

+1 markOne correct option

When aggregating financial transaction data across multiple currencies, why is it important to store both the original currency amount and the exchange rate used for conversion?

  1. A

    It's unnecessary; storing only the converted amount is sufficient

  2. B

    Enables auditing, recalculation with updated rates, and transparency

  3. C

    It wastes storage with no practical benefit

  4. D

    Regulatory requirements mandate it for all data types

Show answer

Correct answer

  • B

    Enables auditing, recalculation with updated rates, and transparency

Question 12

+1 markOne correct option

Your team builds a recommendation system that suggests products to users. After deployment, you notice that recommendations for certain user segments are significantly worse than others. What is the best systematic approach to diagnose and fix this?

  1. A

    Retrain the model with more data and hope it improves

  2. B

    Analyze performance by segment, identify biases in training data, add segment-specific tests, and validate fixes

  3. C

    Disable recommendations for poorly performing segments

  4. D

    Manually override recommendations for affected users

Show answer

Correct answer

  • B

    Analyze performance by segment, identify biases in training data, add segment-specific tests, and validate fixes

Question 13

+2 marksOne correct option

Your data pipeline uses a third-party library that has known security vulnerabilities in older versions. The latest version includes breaking API changes. What should you do?

  1. A

    Stay on the older vulnerable version to avoid breaking existing code

  2. B

    Assess vulnerability severity, test the new version in staging, and plan migration or patches

  3. C

    Update to the latest version immediately without any testing

  4. D

    Replace the library entirely with custom code regardless of complexity

Show answer

Correct answer

  • B

    Assess vulnerability severity, test the new version in staging, and plan migration or patches

Question 14

+2 marksOne correct option

For ensuring long-term reproducibility of data analysis notebooks that depend on external data sources and multiple libraries, which approach is most comprehensive?

  1. A

    Save only the final notebook with outputs

  2. B

    Use containers, pin dependencies, archive input data, version-control notebooks, and document environment

  3. C

    Share notebooks via email with verbal instructions

  4. D

    Rely on cloud platforms to maintain compatibility

Show answer

Correct answer

  • B

    Use containers, pin dependencies, archive input data, version-control notebooks, and document environment

Question 15

+2 marksOne correct option

When implementing data lineage tracking for a complex pipeline with multiple data sources, transformations, and outputs, which metadata is most critical to capture?

  1. A

    Capture only the final output location of the pipeline for reference

  2. B

    Capture source IDs, transformation versions, timestamps, data quality metrics, and dependencies

  3. C

    Capture only the names of users who executed the pipeline for auditing

  4. D

    Capture only storage costs and query performance metrics for monitoring

Show answer

Correct answer

  • B

    Capture source IDs, transformation versions, timestamps, data quality metrics, and dependencies

Question 16

+2 marksOne correct option

Your pipeline processes personally identifiable information (PII). A privacy audit requires you to implement data minimization. Which strategy best balances utility and privacy?

  1. A

    Encrypt all data and continue processing it without changes

  2. B

    Keep only necessary fields, anonymize or aggregate data, enforce access controls, and document retention

  3. C

    Delete all PII immediately without considering business requirements

  4. D

    Move PII to a separate database while keeping the same access patterns

Show answer

Correct answer

  • B

    Keep only necessary fields, anonymize or aggregate data, enforce access controls, and document retention

Question 17

+1 markOne correct option

Scenario 1: Restaurant Review Data Analysis
Context
A food delivery platform wants to analyze restaurant reviews to identify trending cuisines and customer satisfaction patterns. They have review data in CSV format with ratings, text comments, and timestamps.
Sample Data (restaurants.csv):

Based on the above data, answer the given subquestions.

The dataset has some missing values in the review_text column (some customers left ratings but no comment). Before analyzing review text for common words, what should you do?

  1. A

    Ignore missing values and let pandas handle them automatically

  2. B

    Remove rows with missing review text using df.dropna(subset=['review_text'])

  3. C

    Replace all missing review text entries with the word "missing"

  4. D

    Delete the entire review_text column from the dataset

Show answer

Correct answer

  • B

    Remove rows with missing review text using df.dropna(subset=['review_text'])

Question 18

+1 markOne correct option

Scenario 1: Restaurant Review Data Analysis
Context
A food delivery platform wants to analyze restaurant reviews to identify trending cuisines and customer satisfaction patterns. They have review data in CSV format with ratings, text comments, and timestamps.
Sample Data (restaurants.csv):

Based on the above data, answer the given subquestions.

To identify the most common words in negative reviews (rating < 3.0), which approach correctly combines filtering and text analysis?

  1. A

    Count all words in all reviews regardless of rating

  2. B

    Filter for low ratings, then extract and count words from the review_text column

  3. C

    Sort reviews by rating and manually read the bottom ones

  4. D

    Use only the rating numbers without looking at text

Show answer

Correct answer

  • B

    Filter for low ratings, then extract and count words from the review_text column

Question 19

+1 markOne correct option

Scenario 1: Restaurant Review Data Analysis
Context
A food delivery platform wants to analyze restaurant reviews to identify trending cuisines and customer satisfaction patterns. They have review data in CSV format with ratings, text comments, and timestamps.
Sample Data (restaurants.csv):

Based on the above data, answer the given subquestions.

After completing the analysis, which file format is most appropriate for sharing summary results (e.g., average rating by cuisine) with non-technical stakeholders?

  1. A

    Python pickle file (.pkl)

  2. B

    CSV file that can be opened in Excel

  3. C

    JSON with nested structures

  4. D

    Binary database file

Show answer

Correct answer

  • B

    CSV file that can be opened in Excel

Question 20

+1 markOne correct option

Scenario 1: Restaurant Review Data Analysis
Context
A food delivery platform wants to analyze restaurant reviews to identify trending cuisines and customer satisfaction patterns. They have review data in CSV format with ratings, text comments, and timestamps.
Sample Data (restaurants.csv):

Based on the above data, answer the given subquestions.

Which Python library is most commonly used for loading and analyzing tabular CSV data like this restaurant reviews dataset?

  1. A

    requests

  2. B

    pandas

  3. C

    BeautifulSoup

  4. D

    Flask

Show answer

Correct answer

  • B

    pandas

Question 21

+1 markOne correct option

Scenario 1: Restaurant Review Data Analysis
Context
A food delivery platform wants to analyze restaurant reviews to identify trending cuisines and customer satisfaction patterns. They have review data in CSV format with ratings, text comments, and timestamps.
Sample Data (restaurants.csv):

Based on the above data, answer the given subquestions.

To find the average rating for each cuisine type (Indian, Italian, Japanese), which pandas operation is most appropriate?

  1. A

    df.sort_values('cuisine')

  2. B

    df.groupby('cuisine')['rating'].mean()

  3. C

    df.filter('cuisine')

  4. D

    df.merge('cuisine', 'rating')

Show answer

Correct answer

  • B

    df.groupby('cuisine')['rating'].mean()

Question 22

+1 markOne correct option

Scenario 2: Automated Git Workflow for Team Project
Context
A data science team uses Git for version control on a shared project. Multiple team members work on different features simultaneously. They follow a workflow where everyone works on separate branches and merges into the main branch through pull requests.
Current Setup:
• main branch: Production-ready code • dev branch: Development/testing code • Feature branches: Individual work (e.g., feature-data-cleaning, feature-visualization)
Based on the above data, answer the given subquestions.

After making changes to your code, what is the correct sequence to save your work and upload it to GitHub?

  1. A

    git push → git add → git commit

  2. B

    git commit → git add → git push

  3. C

    git add → git commit → git push

  4. D

    git merge → git push

Show answer

Correct answer

  • C

    git add → git commit → git push

Question 23

+1 markOne correct option

Scenario 2: Automated Git Workflow for Team Project
Context
A data science team uses Git for version control on a shared project. Multiple team members work on different features simultaneously. They follow a workflow where everyone works on separate branches and merges into the main branch through pull requests.
Current Setup:
• main branch: Production-ready code • dev branch: Development/testing code • Feature branches: Individual work (e.g., feature-data-cleaning, feature-visualization)
Based on the above data, answer the given subquestions.

Two team members both modify the same line in analysis.py on different branches. When the second person tries to merge their branch, what will happen?

  1. A

    Git automatically keeps the newer change

  2. B

    Git creates a merge conflict that must be resolved manually by choosing which change to keep

  3. C

    Git deletes both changes

  4. D

    Git randomly picks one change

Show answer

Correct answer

  • B

    Git creates a merge conflict that must be resolved manually by choosing which change to keep

Question 24

+1 markOne correct option

Scenario 2: Automated Git Workflow for Team Project
Context
A data science team uses Git for version control on a shared project. Multiple team members work on different features simultaneously. They follow a workflow where everyone works on separate branches and merges into the main branch through pull requests.
Current Setup:
• main branch: Production-ready code • dev branch: Development/testing code • Feature branches: Individual work (e.g., feature-data-cleaning, feature-visualization)
Based on the above data, answer the given subquestions.

Before pushing your changes, you want to make sure your branch has the latest updates from the main branch. Which command downloads and integrates those updates?

  1. A

    git commit main

  2. B

    git pull origin main (while on your feature branch)

  3. C

    git delete main

  4. D

    git init main

Show answer

Correct answer

  • B

    git pull origin main (while on your feature branch)

Question 25

+1 markOne correct option

Scenario 2: Automated Git Workflow for Team Project
Context
A data science team uses Git for version control on a shared project. Multiple team members work on different features simultaneously. They follow a workflow where everyone works on separate branches and merges into the main branch through pull requests.
Current Setup:
• main branch: Production-ready code • dev branch: Development/testing code • Feature branches: Individual work (e.g., feature-data-cleaning, feature-visualization)
Based on the above data, answer the given subquestions.

What is the main purpose of creating a pull request (PR) instead of directly merging your branch into main?

  1. A

    Pull requests are faster than merging

  2. B

    Pull requests allow team members to review your code, suggest changes, and approve before merging

  3. C

    Pull requests automatically fix bugs

  4. D

    Pull requests are only for documentation

Show answer

Correct answer

  • B

    Pull requests allow team members to review your code, suggest changes, and approve before merging

Question 26

+1 markOne correct option

Scenario 2: Automated Git Workflow for Team Project
Context
A data science team uses Git for version control on a shared project. Multiple team members work on different features simultaneously. They follow a workflow where everyone works on separate branches and merges into the main branch through pull requests.
Current Setup:
• main branch: Production-ready code • dev branch: Development/testing code • Feature branches: Individual work (e.g., feature-data-cleaning, feature-visualization)
Based on the above data, answer the given subquestions.

When starting work on a new feature, what is the correct Git command sequence to create and switch to a new branch called feature-analysis?

  1. A

    git commit feature-analysis

  2. B

    git branch feature-analysis then git checkout feature-analysis

  3. C

    git push feature-analysis

  4. D

    git merge feature-analysis

Show answer

Correct answer

  • B

    git branch feature-analysis then git checkout feature-analysis

Question 27

+1 markOne correct option

Scenario 3 : Deploying a Data Dashboard with Docker
Context
A team built a Python dashboard using Streamlit that visualizes sales data. They want to deploy it so anyone can access it via a web browser. They decide to use Docker to package the application with all its dependencies.

Based on the above data, answer the given subquestions.

After building the Docker image, which command correctly runs the container and makes the dashboard accessible on port 8501?

  1. A

    docker build -t dashboard .

  2. B

    docker run -p 8501:8501 dashboard

  3. C

    docker push dashboard

  4. D

    None of these

Show answer

Correct answer

  • B

    docker run -p 8501:8501 dashboard

Question 28

+1 markOne correct option

Scenario 3 : Deploying a Data Dashboard with Docker
Context
A team built a Python dashboard using Streamlit that visualizes sales data. They want to deploy it so anyone can access it via a web browser. They decide to use Docker to package the application with all its dependencies.

Based on the above data, answer the given subquestions.

The dashboard application crashes when deployed. Which Docker command shows the application's error messages and logs?

  1. A
  2. B
  3. C
  4. D
Show answer

Correct answer

  • C

Question 29

+1 markOne correct option

Scenario 3 : Deploying a Data Dashboard with Docker
Context
A team built a Python dashboard using Streamlit that visualizes sales data. They want to deploy it so anyone can access it via a web browser. They decide to use Docker to package the application with all its dependencies.

Based on the above data, answer the given subquestions.

What is the main advantage of using Docker to deploy the dashboard?

  1. A

    Docker makes the code run faster

  2. B

    Docker packages the application with all dependencies in a container, ensuring it runs consistently across different machines

  3. C

    Docker automatically writes code for you

  4. D

    Docker provides free hosting

Show answer

Correct answer

  • B

    Docker packages the application with all dependencies in a container, ensuring it runs consistently across different machines

Question 30

+1 markOne correct option

Scenario 3 : Deploying a Data Dashboard with Docker
Context
A team built a Python dashboard using Streamlit that visualizes sales data. They want to deploy it so anyone can access it via a web browser. They decide to use Docker to package the application with all its dependencies.

Based on the above data, answer the given subquestions.

In the Dockerfile, which command specifies which Python packages should be installed in the container?

  1. A

    RUN pip install -r requirements.txt

  2. B

    COPY dashboard.py

  3. C

    EXPOSE 8501

  4. D

    FROM python:3.11

Show answer

Correct answer

  • A

    RUN pip install -r requirements.txt

Question 31

+1 markOne correct option

Scenario 3 : Deploying a Data Dashboard with Docker
Context
A team built a Python dashboard using Streamlit that visualizes sales data. They want to deploy it so anyone can access it via a web browser. They decide to use Docker to package the application with all its dependencies.

Based on the above data, answer the given subquestions.

The Dockerfile includes the line EXPOSE 8501. What does this do?

  1. A

    Automatically makes the application accessible to anyone on the internet

  2. B

    Documents the listen port; you must still publish it using -p 8501:8501

  3. C

    Closes port 8501 for security

  4. D

    Changes the application code to use port 8501

Show answer

Correct answer

  • B

    Documents the listen port; you must still publish it using -p 8501:8501

Question 32

+1 markOne correct option

Scenario 4 : OpenRefine for Data Cleaning
Context
A researcher has a dataset of company names from different sources. The same companies are spelled differently across sources, making analysis difficult.
Sample Messy Data (companies.csv):

Based on the above data, answer the given subquestions.

You want to standardize all company names to lowercase, then to title case (First Letter Capitalized). Which OpenRefine transformation approach is correct?

  1. A

    Manually retype each company name

  2. B

    Apply transformations value.toLowercase() then value.toTitlecase()

  3. C

    Delete the column and recreate it

  4. D

    Export to Excel and use find-replace

Show answer

Correct answer

  • B

    Apply transformations value.toLowercase() then value.toTitlecase()

Question 33

+1 markOne correct option

Scenario 4 : OpenRefine for Data Cleaning
Context
A researcher has a dataset of company names from different sources. The same companies are spelled differently across sources, making analysis difficult.
Sample Messy Data (companies.csv):

Based on the above data, answer the given subquestions.

After standardizing names, you have multiple rows for the same company (multiple revenue entries). What should you do to combine them?

  1. A

    Delete all rows that appear to be duplicates

  2. B

    Use faceting to group names and then aggregate or sum the revenue values

  3. C

    Manually total the revenue values using an external calculator

  4. D

    Leave all duplicated company rows exactly as they currently are

Show answer

Correct answer

  • B

    Use faceting to group names and then aggregate or sum the revenue values

Question 34

+1 markOne correct option

Scenario 4 : OpenRefine for Data Cleaning
Context
A researcher has a dataset of company names from different sources. The same companies are spelled differently across sources, making analysis difficult.
Sample Messy Data (companies.csv):

Based on the above data, answer the given subquestions.

OpenRefine saves your data cleaning steps as operations. What is the main benefit of this feature?

  1. A

    It automatically cleans new data

  2. B

    You can export the operations as JSON and replay them on similar datasets.

  3. C

    It makes the software run faster

  4. D

    It deletes your original data

Show answer

Correct answer

  • B

    You can export the operations as JSON and replay them on similar datasets.

Question 35

+1 markOne correct option

Scenario 4 : OpenRefine for Data Cleaning
Context
A researcher has a dataset of company names from different sources. The same companies are spelled differently across sources, making analysis difficult.
Sample Messy Data (companies.csv):

Based on the above data, answer the given subquestions.

What type of data quality issue does this dataset have?

  1. A

    Missing values

  2. B

    Inconsistent naming and capitalization for the same entities

  3. C

    Wrong and unrelated data types

  4. D

    Too much data

Show answer

Correct answer

  • B

    Inconsistent naming and capitalization for the same entities

Question 36

+1 markOne correct option

Scenario 4 : OpenRefine for Data Cleaning
Context
A researcher has a dataset of company names from different sources. The same companies are spelled differently across sources, making analysis difficult.
Sample Messy Data (companies.csv):

Based on the above data, answer the given subquestions.

In OpenRefine, which feature automatically groups similar text values like "Microsoft Corp" and "MICROSOFT CORPORATION" so you can merge them?

  1. A

    Filter

  2. B

    Sort

  3. C

    Text clustering

  4. D

    Delete rows

Show answer

Correct answer

  • C

    Text clustering