BCA 312T Data Visualization & Analytics Notes cover all four units of this BCA Semester 6 elective in 80 pages: 50 numbered Python programs, 49 figures, 56 two-mark questions with answers and 24 ten-mark questions with answer plans. The syllabus they follow applies to the batch admitted in 2024-25 onwards.
Written by Prateek Talwar, Founder, Unnati Educations · Reviewed by Ritik Rawat, B.Tech, Senior Full Stack Developer · Checked against the GGSIPU BCA Scheme of Examination & Syllabi (batch 2024-25 onwards; third and fourth year approved by the Academic Council sub-committee on 19.08.2026) · Updated 13 October 2026 · Editorial policy
Scheme: BCA scheme 2024-25 | Applies to: batch admitted 2024-25 onwards | Verified against: BCA Scheme of Examination & Syllabi, 19.08.2026
BCA 312T Data Visualization & Analytics at a glance: GGSIPU BCA Sem 6 credits, units and exam pattern
BCA 312T is a Programme Core Elective: you pick one of BCA 312T, 314T, 316T and 318T with its practical. It is one of the GGSIPU BCA Semester 6 papers, and its only listed prerequisite is basic Python.
| Code and title | BCA 312T Data Visualization & Analytics |
|---|---|
| Course and semester | BCA, Semester 6 |
| Category and credits | PCE, 4 credits, L-T-C 4-0-4 |
| Marks | 100: 40 internal + 60 end-term |
| Applies to | Batch of 2024-25 onwards |
| End-term pattern | Q1 compulsory: 10 two-mark short answers, at least 2 per unit (20); then one of two 10-mark questions from each unit (40). Total (20 + 40 = 60 marks) |
| Exam duration | 3 hours |
| Units | 4, of 11 teaching hours each (no official unit titles) |
| Paired lab | BCA 312P: PCE, 4 practical hours, 2 credits, 100 marks |
BCA 312T Data Visualization & Analytics Notes unit-wise: 50 Python programs and 80 exam questions across 4 units
These GGSIPU BCA Sem 6 Data Visualization & Analytics notes give each unit a cover page, numbered sections with tables and figures, an exam corner and a quick revision table. Notes for every other paper sit under GGSIPU BCA notes.
BCA 312T Unit 1: Analytics and Data Pre-processing
Pages 4 to 22. Part A: types of analytics, data-set vocabulary, the seven-step process model and seven model requirements. Part B: data sources, sampling and the Central Limit Theorem, missing values, outliers, min/max and z-score scaling, binning with pd.cut() and segmentation. 13 sections, 8 programs, 9 figures, 20 exam questions (14 + 6).
| Step | Working |
|---|---|
| Quartiles (median of halves) | Q1 = 17, Q3 = 25 |
| IQR | 25 − 17 = 8 |
| Fences (1.5 × IQR = 12) | Lower 5, upper 37 |
| Result | 95 > 37, so 95 is the only outlier |
Quick look: IQR outlier test on 12, 15, 17, 18, 20, 22, 23, 25, 27, 95 (from page 15)
- Step
- Quartiles (median of halves)
- Working
- Q1 = 17, Q3 = 25
- Step
- IQR
- Working
- 25 − 17 = 8
- Step
- Fences (1.5 × IQR = 12)
- Working
- Lower 5, upper 37
- Step
- Result
- Working
- 95 > 37, so 95 is the only outlier
BCA 312T Unit 2: Statistical Inference and Correlation
Pages 23 to 38. Hypotheses, Type I and II errors and a 1,000-toss coin test; p-values and their misreadings; confidence intervals for a mean and a proportion; Pearson and Spearman correlation, causation and one-way ANOVA (F = 19.0). 8 sections, 6 programs, 7 figures, 20 exam questions (14 + 6).
Quick look: one-sample t-test on marks after a new coaching method (from page 27)
from scipy import stats
marks = [62, 65, 58, 70, 66, 64, 61, 68, 63, 67]
t, p = stats.ttest_1samp(marks, popmean=60)
print(f't = {t:.3f}, p-value = {p:.4f}')Output: t = 3.903, p-value = 0.0036. p < 0.05, so H0 (mean still 60) is rejected.
BCA 312T Unit 3: Data Visualization with Matplotlib and Seaborn
Pages 39 to 59, the biggest unit. Matplotlib line graphs with format strings like 'r--o', grouped and stacked bars, pie and scatter plots, subplots, legends, figure size and style sheets; then Seaborn's relplot(), displot(), catplot(), lmplot(), countplot() and colour palettes. 19 sections, 19 programs, 20 figures, 20 exam questions (14 + 6).
| plt.subplot() | plt.subplots() |
|---|---|
| Creates or selects one axes at a time | Creates the whole grid at once |
plt.subplot(2, 2, 3) is the 3rd cell | fig, axs = plt.subplots(2, 2), then axs[1, 0] |
Uses pyplot functions such as plt.title | Uses axes methods such as ax.set_title |
Quick look: plt.subplot() vs plt.subplots() (from page 48)
- plt.subplot()
- Creates or selects one axes at a time
- plt.subplots()
- Creates the whole grid at once
- plt.subplot()
plt.subplot(2, 2, 3)is the 3rd cell- plt.subplots()
fig, axs = plt.subplots(2, 2), thenaxs[1, 0]
- plt.subplot()
- Uses pyplot functions such as
plt.title - plt.subplots()
- Uses axes methods such as
ax.set_title
BCA 312T Unit 4: GUI Programming with Tkinter and Database Access
Pages 60 to 80. The first tk.Tk() window, widgets, geometry managers, check boxes, radio buttons, list boxes, menus and dialogs; then Create, Insert, Select, Update, Delete and Drop on SQLite, the MySQL version and a Tkinter plus SQLite registration form. 19 sections, 17 programs, 13 figures, 20 exam questions (14 + 6).
| Basis | pack() | grid() | place() |
|---|---|---|---|
| Arranges by | Order and side | Rows and columns | Exact x, y or relative position |
| Best for | Simple stacking, toolbars | Forms, tables, calculators | Precise or overlapping widgets |
| Key options | side, fill, expand | row, column, sticky | x, y, relx, anchor |
Quick look: pack(), grid() and place() compared (from page 66)
- Basis
- Arranges by
- pack()
- Order and side
- grid()
- Rows and columns
- place()
- Exact x, y or relative position
- Basis
- Best for
- pack()
- Simple stacking, toolbars
- grid()
- Forms, tables, calculators
- place()
- Precise or overlapping widgets
- Basis
- Key options
- pack()
side,fill,expand- grid()
row,column,sticky- place()
x,y,relx,anchor
BCA 312T exam corner: 56 two-mark answers and 24 ten-mark answer plans by unit
| Unit | 2 Marks (answered) | 10 Marks (answer plans) | Numbered programs |
|---|---|---|---|
| Unit 1 | 14 | 6 | 8 |
| Unit 2 | 14 | 6 | 6 |
| Unit 3 | 14 | 6 | 19 |
| Unit 4 | 14 | 6 | 17 |
| Total | 56 | 24 | 50 |
BCA 312T exam corner questions and programs per unit
- Unit
- Unit 1
- 2 Marks (answered)
- 14
- 10 Marks (answer plans)
- 6
- Numbered programs
- 8
- Unit
- Unit 2
- 2 Marks (answered)
- 14
- 10 Marks (answer plans)
- 6
- Numbered programs
- 6
- Unit
- Unit 3
- 2 Marks (answered)
- 14
- 10 Marks (answer plans)
- 6
- Numbered programs
- 19
- Unit
- Unit 4
- 2 Marks (answered)
- 14
- 10 Marks (answer plans)
- 6
- Numbered programs
- 17
- Unit
- Total
- 2 Marks (answered)
- 56
- 10 Marks (answer plans)
- 24
- Numbered programs
- 50
Exam-style questions with pointers:
- Unit 2: Why ANOVA over multiple t-tests? Three t-tests push Type I error to about 14.3%; ANOVA runs one test at level α.
- Unit 3: Bar chart vs histogram? Bars compare categories with gaps (
plt.bar); a histogram bins numeric data with no gaps (plt.hist). - Unit 4: How is SQL injection prevented? With parameterised queries using
?or%splaceholders.
The BCA 312T notes answer 56 two-mark questions and give answer plans for 24 ten-mark questions across 4 units, plus 50 numbered Python programs. More practice sits in the BCA 312T important questions.
Simpson's paradox in data analytics: excerpt from page 31 of the BCA 312T notes
Excerpt from page 31
One outlier can flip a correlation
Take the hours studied by five students (2, 4, 6, 8, 10) and their marks (50, 60, 65, 80, 95). np.corrcoef() and stats.pearsonr() both return r = 0.9839 with a p-value of 0.0025, and Spearman's rho is a perfect 1.0. Now add a single sixth student who studied 12 hours but scored only 20. The same code returns r = −0.0621. One point turned a very strong positive correlation into almost nothing, which is why you should always draw a scatter plot before you trust a correlation number.
Simpson's paradox
Simpson's paradox happens when a trend that shows up in several separate groups reverses or disappears once the groups are combined. The cause is a hidden confounding variable that is spread unevenly across the groups. TB3 (Joel Grus, Data Science from Scratch) calls it one of the most common surprises in data analysis.
| Stream | College X: passed / students | College X pass % | College Y: passed / students | College Y pass % |
|---|---|---|---|---|
| Science | 18 / 20 | 90% | 85 / 100 | 85% |
| Arts | 60 / 100 | 60% | 11 / 20 | 55% |
| Overall | 78 / 120 | 65% | 96 / 120 | 80% |
Which college has the better pass rate? (Simpson's paradox example, page 31)
- Stream
- Science
- College X: passed / students
- 18 / 20
- College X pass %
- 90%
- College Y: passed / students
- 85 / 100
- College Y pass %
- 85%
- Stream
- Arts
- College X: passed / students
- 60 / 100
- College X pass %
- 60%
- College Y: passed / students
- 11 / 20
- College Y pass %
- 55%
- Stream
- Overall
- College X: passed / students
- 78 / 120
- College X pass %
- 65%
- College Y: passed / students
- 96 / 120
- College Y pass %
- 80%
College X wins in Science (90% against 85%) and in Arts (60% against 55%), yet College Y has the higher overall pass rate (80% against 65%). Most of X's students are in Arts, the stream where everyone's pass rate is low, while most of Y's students are in Science, where pass rates are high. The stream is the confounding variable.
Reproducing it with pandas
The notes rebuild the table as a four-row DataFrame with columns college, stream, students and passed, add a pass_% column, and then use df.groupby('college')[['students', 'passed']].sum() to get the combined figures. The stream-wise rows show X ahead; the grouped rows show Y ahead, from the same data.
Do the BCA 312T notes cover the full GGSIPU syllabus?
Yes for all four units: every topic printed under Units I to IV of BCA 312T is in the notes. The one gap is multithreading, which CO1 names but no unit lists.
| Official unit | Official topics | Where in the notes | Status |
|---|---|---|---|
| Unit I | Basic Nomenclature, Analytics Process Model, Analytics part in different profiles, Analytical Model Requirements; Data Sources, Sampling and Sampling distribution, Types of data elements, Missing Values, Outlier Detection and Treatment, Standardization using Min/max and z-score, categorization, Segmentation | Sections 1 to 13, pages 5 to 19 | Covered |
| Unit II | Statistical Hypothesis Testing, p-Values, Confidence Intervals; Correlation, Simpson's Paradox, Some Other Correlational Caveats, Correlation and Causation, Correlation Statistics-ANOVA | Sections 1 to 8, pages 24 to 35 | Covered |
| Unit III | Line Graph, Bar charts, Pie-charts, Scatter plots, multiple plots, Subplots, Legends, changing figure Size, Styling plots using Matplotlib; relplot(), displot(), catplot(); Seaborn: Introduction, Line plot, Distplot, Lmplot, Count plot, Color palettes | Sections 1 to 19, pages 40 to 57 | Covered |
| Unit IV | Creating User-interface, GUI Widgets with Tkinter, Creating Layouts, Check Box, Radio Buttons, List Box, Menus, Menus Options, Dialog Boxes; Database Connectivity: Create, Insert, Select, Delete, Drop, Update | Sections 1 to 9 and 11 to 17, pages 61 to 75 | Covered |
| CO1 (no unit) | Illustrating the features of Multithreading in python | Not in the notes | Not in notes |
BCA 312T official syllabus topics mapped to the notes
- Official unit
- Unit I
- Official topics
- Basic Nomenclature, Analytics Process Model, Analytics part in different profiles, Analytical Model Requirements; Data Sources, Sampling and Sampling distribution, Types of data elements, Missing Values, Outlier Detection and Treatment, Standardization using Min/max and z-score, categorization, Segmentation
- Where in the notes
- Sections 1 to 13, pages 5 to 19
- Status
- Covered
- Official unit
- Unit II
- Official topics
- Statistical Hypothesis Testing, p-Values, Confidence Intervals; Correlation, Simpson's Paradox, Some Other Correlational Caveats, Correlation and Causation, Correlation Statistics-ANOVA
- Where in the notes
- Sections 1 to 8, pages 24 to 35
- Status
- Covered
- Official unit
- Unit III
- Official topics
- Line Graph, Bar charts, Pie-charts, Scatter plots, multiple plots, Subplots, Legends, changing figure Size, Styling plots using Matplotlib; relplot(), displot(), catplot(); Seaborn: Introduction, Line plot, Distplot, Lmplot, Count plot, Color palettes
- Where in the notes
- Sections 1 to 19, pages 40 to 57
- Status
- Covered
- Official unit
- Unit IV
- Official topics
- Creating User-interface, GUI Widgets with Tkinter, Creating Layouts, Check Box, Radio Buttons, List Box, Menus, Menus Options, Dialog Boxes; Database Connectivity: Create, Insert, Select, Delete, Drop, Update
- Where in the notes
- Sections 1 to 9 and 11 to 17, pages 61 to 75
- Status
- Covered
- Official unit
- CO1 (no unit)
- Official topics
- Illustrating the features of Multithreading in python
- Where in the notes
- Not in the notes
- Status
- Not in notes
Official source: BCA Scheme of Examination & Syllabi, batch 2024-25 onwards.
Every course in GGSIPU notes is mapped to its official PDF the same way.
Who writes and checks the BCA 312T Data Visualization notes?
- Prateek Talwar, author: Founder, Unnati Educations; Associate Company Secretary (ACS), ICSI, membership no. 58704, since 15 May 2019; B.Com, University of Delhi (School of Open Learning), 2012. Author profile.
- Ritik Rawat, subject reviewer: Senior Full Stack Developer, Unnati Educations; B.Tech. He reviews the BCA notes, including this book's code and outputs. Reviewer profile.
The 2026-27 edition follows the 2024-25 batch scheme (third and fourth year syllabus approved 19.08.2026). Last updated 13 October 2026. See our editorial policy.
The same team prepares GGSIPU important questions for every course it covers.
BCA 312T and the GGSIPU BCA Sem 6 papers it connects to: BCA 312P lab and BCA 304T Machine Learning
For the four-year map, see the GGSIPU BCA syllabus.
Paired lab: BCA 312P Data Visualization & Analytics Lab (PCE, 4 practical hours, 2 credits, 40 + 60 marks). The teacher notifies the practical list in the first week, so no official count exists. The nearest material here: Unit 1 cleaning programs, Unit 3 plots and Unit 4 CRUD and Tkinter programs.
Same semester. BCA 304T Machine Learning uses the Unit 1 steps (missing values, z-score scaling, binning) before any model is trained, and the notes call the Unit 4 Tkinter plus SQLite pattern a common choice for BCA 320 Minor Project. Also in Sem 6: BCA 302T Distributed Systems and Cloud Computing, BCA 306T Software Project Management, labs BCA 302P, 306P and 304P (Machine Learning Lab), and BCA 374 (NSS/NCC/clubs, value added).
Same elective slot. BCA 314T Deep Learning with Python, BCA 316T Web Security and BCA 318T Mobile Application Development, each with its P lab. Earlier papers that feed this one: BCA 201T Python Programming and BCA 212T Introduction to Data Science.
How to write BCA 312T answers: formula-first numericals, plot programs and ten-mark theory plans
The BCA 312T paper mixes numericals, programs and theory, and the notes' Exam Tip and Key Point boxes give a pattern for each. Use them in the 10-mark unit questions, where one well-built answer per unit carries a sixth of the end-term marks.
Numericals. Write the formula, substitute the values, give the answer and add one line of meaning. Use the population SD (divide by n) unless the question says "sample". For quartiles, show the median-of-halves method by hand; Python's quantile() interpolates and gives 17.25 and 24.5 instead of 17 and 25, but the conclusion stays the same. In hypothesis tests, end with "reject H0" or "fail to reject H0", never "accept H0".
For ANOVA, set out SSB, SSW, degrees of freedom, mean squares and F, then compare F with the table value, as the notes' worked example does (19.0 against 4.26).
Worked example (page 30). Hours (x): 2, 4, 6, 8, 10; marks (y): 50, 60, 65, 80, 95. Means: x̄ = 6, ȳ = 70. Σdx·dy = 220, Σdx² = 40, Σdy² = 1250. r = 220 / √(40 × 1250) = 220 / 223.61 = 0.984. Meaning: a very strong positive correlation; students who study more score more.
Program answers. Write the import line, the data, the plotting or widget calls, labels, title and legend, then plt.show() or root.mainloop(), and sketch or state the output. Two traps the notes flag: distplot() is deprecated, so mention displot(); and never mix pack() and grid() in the same parent window.
Ten-mark theory (Unit 1). For "requirements of an analytical model", write all seven headings with a one-line meaning and one example each in a neat table, and add the accuracy versus interpretability trade-off. For Simpson's paradox, a one-line definition and a small numeric table is the expected shape.
Practise this format on GGSIPU BCA important questions.
BCA 312T Data Visualization notes FAQs
How do I get the full BCA 312T notes?
The full BCA 312T notes come as a printed book; they are not sold as a PDF. Tap "Get Full Notes" or message 9899436384 on WhatsApp with the code BCA 312T, and our team shares the price, payment options and delivery details there. The View Sample PDF button shows the cover, index and four content pages first.
Is BCA 312T compulsory for every BCA Semester 6 student?
No. BCA 312T is a Programme Core Elective. In Semester 6 the scheme asks you to choose any one theory paper from BCA 312T, BCA 314T Deep Learning with Python, BCA 316T Web Security and BCA 318T Mobile Application Development, and to take that paper's own practical with it. Choosing BCA 312T means also taking BCA 312P.
What is the passing mark for BCA 312T?
BCA 312T is marked out of 100: 40 internal and 60 end-term, with the end-term paper made of a 20-mark Q1 and four 10-mark unit questions. The BCA scheme of examination does not print a pass percentage for this paper. End-term minimums, results and re-appear rules come from the university's Ordinance 11; check the current version on ipu.ac.in.
Which BCA 312T unit has the most programs?
Unit 3 has the most, with 19 numbered programs and 20 output figures covering Matplotlib line, bar, pie and scatter charts, subplots, legends, styling and the Seaborn plots. Unit 4 follows with 17 programs on Tkinter widgets, layouts, menus, dialogs and SQLite CRUD. Unit 1 has 8 pandas and scikit-learn programs and Unit 2 has 6 scipy.stats programs.
Do the BCA 312T notes cover multithreading from CO1?
No. Course outcome CO1 of BCA 312T mentions the features of multithreading in Python, but none of the four official units lists multithreading as a topic, and the notes follow the units. Treat threads as extra reading if taught. Everything the syllabus prints under Units I to IV, from sampling to database connectivity, is in the notes.
Do the BCA 312T notes match the 2024-25 batch scheme?
Yes. The BCA 312T notes follow the BCA scheme for the batch admitted in 2024-25 onwards, whose third and fourth year syllabus was approved on 19.08.2026. The four units and their topics match that PDF. If you were admitted before 2024-25, your scheme may use different paper codes, so compare your own syllabus PDF first.
Get the full BCA 312T Data Visualization & Analytics Notes on WhatsApp
The complete BCA 312T Data Visualization & Analytics IPU notes run to 80 pages and come as a printed book only, with no PDF edition.
Format: printed Data Visualization & Analytics notes in English, 49 figures, a revision table per unit. Price, payment and delivery time are shared on WhatsApp.
Order the full BCA 312T notes book on WhatsApp (4 units, 80 pages)
Unnati Educations is an independent education provider based in Vikaspuri, Delhi. We are not affiliated with, authorised by, or endorsed by Guru Gobind Singh Indraprastha University (GGSIPU). 'GGSIPU' and 'IPU' are used only to describe the syllabus our notes follow. For official information, visit ipu.ac.in.
Ready for the full notes?
Discuss coverage and delivery with our team.