Tagline: Solid Python 3 foundation — types, control flow, loops, comprehensions, functions, collections, files, and capstone.
| Field | Value |
|---|---|
| Course code | PY-FUND-A |
| Duration | 18 weeks |
| Credits | 4 |
| Compliance | NBA-aligned OBE |
| Publication | published |
| Price | INR 3000 |
| DB snapshot | 2026-07-06T07:25:36.313Z |
Course objective
Solid Python 3 foundation with depth comparable to Fundamentals of C: types, formatting, control flow, loops, comprehensions, functions, lists/tuples/dicts/sets, files, and capstone.
Course outcomes (CO1–CO6)
| CO | Bloom | Weight | Statement |
|---|---|---|---|
| CO1 | understand | 17% | Explain Python's role, environment, core types, and formatted I/O with print and input. |
| CO2 | apply | 17% | Apply operators, membership/identity tests, and multi-branch control flow including pattern matching basics. |
| CO3 | apply | 17% | Use while and for loops, iteration helpers, and comprehensions to solve structured problems. |
| CO4 | apply | 17% | Design functions with parameters, scope, modules, and light recursion. |
| CO5 | apply | 16% | Process data with lists, tuples, dictionaries, and sets; choose the appropriate structure. |
| CO6 | apply | 16% | Handle files and exceptions; build small integrative Python utilities. |
Activity totals (live from platform)
| Metric | Count |
|---|---|
| Units / chapters | 19 |
| Topics | 148 |
| Topic quiz activities | 148 |
| MCQ questions | 1188 |
| Practice labs (run-only) | 0 |
| Evaluated coding labs | 412 |
| Instructional content blocks | 883 |
Certificates & earning criteria
| Certificate | CO scope | Evaluated lab quota | CO attainment | Gate |
|---|---|---|---|---|
| Python Foundations | CO1–CO4 | ≥ 90% | ≥ 70% | Python Foundations summative quiz |
| Python Professional | CO1–CO6 | ≥ 95% | ≥ 70% | Python Professional end-of-course capstone |
Professional tier also requires CP integrative labs (minimum 12 passed).
Unit syllabus (unit → topics → activities)
Unit 1 — Why Python & the ecosystem
Unit totals: 5 topics · 40 MCQ questions · 0 practice · 2 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | What is Python? | 8 | 0 | 0 | Yes |
| 2 | Python 2 vs 3 (historical) | 8 | 0 | 0 | Yes |
| 3 | Use cases (scripting, data, web, automation) | 8 | 0 | 0 | Yes |
| 4 | Interpreter vs compiled languages | 8 | 0 | 0 | — |
| 5 | Course map & autograder overview | 8 | 0 | 2 | — |
Unit 2 — First programs & the autograder
Unit totals: 7 topics · 56 MCQ questions · 0 practice · 18 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | REPL vs .py script |
8 | 0 | 3 | Yes |
| 2 | Hello World & print basics |
8 | 0 | 4 | — |
| 3 | Indentation & blocks | 8 | 0 | 2 | — |
| 4 | Comments & # |
8 | 0 | 1 | — |
| 5 | Running in IDE vs terminal | 8 | 0 | 2 | — |
| 6 | Reading tracebacks (intro) | 8 | 0 | 2 | — |
| 7 | First autograder submit | 8 | 0 | 4 | — |
Unit 3 — Variables & data types
Unit totals: 9 topics · 72 MCQ questions · 0 practice · 20 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Variables & assignment | 8 | 0 | 3 | Yes |
| 2 | int & arbitrary precision |
8 | 0 | 3 | — |
| 3 | float & rounding issues |
8 | 0 | 3 | — |
| 4 | str literals & escape sequences |
8 | 0 | 3 | — |
| 5 | bool & None |
8 | 0 | 2 | — |
| 6 | Dynamic typing & type() |
8 | 0 | 2 | — |
| 7 | Mutability vs immutability (preview) | 8 | 0 | 1 | — |
| 8 | Type conversion (int(), float(), str()) |
8 | 0 | 3 | — |
| 9 | Naming & PEP 8 basics | 8 | 0 | 0 | — |
Unit 4 — Input, output & formatting
Unit totals: 9 topics · 72 MCQ questions · 0 practice · 26 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | print() — sep, end, multiple args |
8 | 0 | 3 | — |
| 2 | input() & parsing lines |
8 | 0 | 3 | — |
| 3 | f-strings — expressions & formatting | 8 | 0 | 4 | — |
| 4 | f-strings — precision & width | 8 | 0 | 3 | — |
| 5 | str.format() method |
8 | 0 | 3 | — |
| 6 | Old % formatting (read legacy code) |
8 | 0 | 1 | — |
| 7 | Multi-line strings & display | 8 | 0 | 2 | — |
| 8 | Formatted table output (pattern) | 8 | 0 | 3 | — |
| 9 | CP stdin parsing (split, map, T cases) |
8 | 0 | 4 | — |
Unit 5 — Operators
Unit totals: 9 topics · 72 MCQ questions · 0 practice · 19 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Arithmetic operators | 8 | 0 | 2 | — |
| 2 | Augmented assignment (+=, …) |
8 | 0 | 2 | — |
| 3 | Comparison operators | 8 | 0 | 2 | — |
| 4 | Logical operators (and, or, not) |
8 | 0 | 2 | — |
| 5 | Membership (in, not in) |
8 | 0 | 2 | — |
| 6 | Identity (is, is not) |
8 | 0 | 2 | — |
| 7 | Operator precedence & traces | 8 | 0 | 2 | — |
| 8 | Bitwise operators (intro) | 8 | 0 | 2 | — |
| 9 | Modular arithmetic for CP (%, overflow-safe sums) |
8 | 0 | 3 | — |
Unit 6 — Control flow
Unit totals: 10 topics · 80 MCQ questions · 0 practice · 24 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | if / else |
8 | 0 | 2 | — |
| 2 | elif chains |
8 | 0 | 2 | — |
| 3 | Nested conditionals | 8 | 0 | 2 | — |
| 4 | Conditional expression (ternary) | 8 | 0 | 2 | — |
| 5 | Truthiness & falsy values | 8 | 0 | 2 | — |
| 6 | Short-circuit evaluation | 8 | 0 | 2 | — |
| 7 | match / case (intro, 3.10+) |
8 | 0 | 2 | — |
| 8 | Menu-driven programs | 8 | 0 | 4 | — |
| 9 | Debugging branching logic | 8 | 0 | 2 | — |
| 10 | Control-flow pattern pack | 8 | 0 | 4 | — |
Unit 7 — While loops & validation
Unit totals: 7 topics · 56 MCQ questions · 0 practice · 20 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | while loop structure |
8 | 0 | 3 | — |
| 2 | Sentinel-controlled loops | 8 | 0 | 3 | — |
| 3 | Input validation with while |
8 | 0 | 4 | — |
| 4 | Infinite loop pitfalls | 8 | 0 | 1 | — |
| 5 | break & continue in while |
8 | 0 | 3 | — |
| 6 | while/else |
8 | 0 | 2 | — |
| 7 | Pattern: guess-the-number | 8 | 0 | 4 | — |
Unit 8 — For loops & iteration tools
Unit totals: 8 topics · 64 MCQ questions · 0 practice · 18 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | for over sequences |
8 | 0 | 3 | — |
| 2 | range() — 1, 2, 3 arguments |
8 | 0 | 3 | — |
| 3 | Iterating strings | 8 | 0 | 2 | — |
| 4 | enumerate() |
8 | 0 | 3 | — |
| 5 | zip() parallel iteration |
8 | 0 | 3 | — |
| 6 | Loop variable conventions | 8 | 0 | 1 | — |
| 7 | Off-by-one & trace practice | 8 | 0 | 2 | — |
| 8 | For vs while — when to use | 8 | 0 | 1 | — |
Unit 9 — Loop patterns & integration
Unit totals: 9 topics · 74 MCQ questions · 0 practice · 33 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Accumulators & counters | 8 | 0 | 6 | — |
| 2 | Finding min/max manually | 8 | 0 | 3 | — |
| 3 | Nested loops | 8 | 0 | 4 | — |
| 4 | for/else |
8 | 0 | 2 | — |
| 5 | Flag variables | 8 | 0 | 2 | — |
| 6 | Prime / divisibility patterns | 8 | 0 | 2 | — |
| 7 | Number pattern programs | 8 | 0 | 2 | — |
| 8 | Integrative timed practice set | 8 | 0 | 2 | — |
| 9 | Loop pattern pack (stars, pyramids, tables) | 10 | 0 | 10 | — |
Unit 10 — Comprehensions
Unit totals: 6 topics · 50 MCQ questions · 0 practice · 18 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | List comprehensions — basics | 8 | 0 | 4 | — |
| 2 | List comprehensions — with if |
8 | 0 | 4 | — |
| 3 | Dict comprehensions | 8 | 0 | 4 | — |
| 4 | Set comprehensions | 8 | 0 | 3 | — |
| 5 | Nested comprehensions (careful use) | 8 | 0 | 3 | — |
| 6 | Python Foundations summative quiz | 10 | 0 | 0 | — |
Unit 11 — Functions — basics
Unit totals: 8 topics · 64 MCQ questions · 0 practice · 22 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Defining & calling functions | 8 | 0 | 3 | — |
| 2 | Parameters & arguments | 8 | 0 | 3 | — |
| 3 | Return values | 8 | 0 | 3 | — |
| 4 | Default parameter values | 8 | 0 | 3 | — |
| 5 | Keyword arguments | 8 | 0 | 3 | — |
| 6 | Function traces & call flow | 8 | 0 | 3 | — |
| 7 | Decomposition — multi-function programs | 8 | 0 | 4 | — |
| 8 | Docstrings & PEP 257 intro | 8 | 0 | 0 | — |
Unit 12 — Functions — advanced & recursion
Unit totals: 7 topics · 56 MCQ questions · 0 practice · 22 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | *args — variable positional |
8 | 0 | 3 | — |
| 2 | **kwargs — variable keyword |
8 | 0 | 3 | — |
| 3 | Lambda expressions (light) | 8 | 0 | 3 | — |
| 4 | Recursion — base & recursive case | 8 | 0 | 3 | — |
| 5 | Classic recursion (factorial, fib) | 8 | 0 | 3 | — |
| 6 | Recursion vs iteration | 8 | 0 | 3 | — |
| 7 | Tower of Hanoi (trace + lab) | 8 | 0 | 4 | — |
Unit 13 — Modules & scope
Unit totals: 6 topics · 48 MCQ questions · 0 practice · 0 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | import and from … import |
8 | 0 | 0 | — |
| 2 | Standard library tour (math, random) |
8 | 0 | 0 | — |
| 3 | if __name__ == "__main__" |
8 | 0 | 0 | — |
| 4 | LEGB scope rule | 8 | 0 | 0 | — |
| 5 | global & nonlocal (intro) |
8 | 0 | 0 | — |
| 6 | Small multi-module program (pattern) | 8 | 0 | 0 | — |
Unit 14 — Lists
Unit totals: 11 topics · 88 MCQ questions · 0 practice · 45 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Creating & displaying lists | 8 | 0 | 4 | — |
| 2 | Indexing, slicing, stepping | 8 | 0 | 4 | — |
| 3 | append, extend, insert |
8 | 0 | 4 | — |
| 4 | remove, pop, clear |
8 | 0 | 4 | — |
| 5 | sort, sorted, reverse |
8 | 0 | 4 | — |
| 6 | index, count, membership |
8 | 0 | 3 | — |
| 7 | Iterating & modifying safely | 8 | 0 | 3 | — |
| 8 | List copying — shallow copy | 8 | 0 | 3 | — |
| 9 | Lists of lists (2D tables) | 8 | 0 | 5 | — |
| 10 | Search & simple stats on lists | 8 | 0 | 4 | — |
| 11 | List algorithm pack (rotate, dedupe, merge, prefix sum, two pointers) | 8 | 0 | 7 | — |
Unit 15 — Tuples & immutability
Unit totals: 6 topics · 48 MCQ questions · 0 practice · 18 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Tuple basics & literals | 8 | 0 | 3 | — |
| 2 | Indexing & slicing tuples | 8 | 0 | 3 | — |
| 3 | Tuple unpacking | 8 | 0 | 3 | — |
| 4 | Tuple as record (named fields) | 8 | 0 | 3 | — |
| 5 | When tuple vs list | 8 | 0 | 2 | — |
| 6 | tuple() conversions & immutability traps |
8 | 0 | 4 | — |
Unit 16 — Dictionaries
Unit totals: 10 topics · 80 MCQ questions · 0 practice · 42 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Dict basics & key/value model | 8 | 0 | 3 | — |
| 2 | Creating dicts — literals & constructors | 8 | 0 | 4 | — |
| 3 | Access, assignment, KeyError |
8 | 0 | 4 | — |
| 4 | .get(), .setdefault() |
8 | 0 | 4 | — |
| 5 | Iterating keys, values, items | 8 | 0 | 4 | — |
| 6 | Counting & frequency maps | 8 | 0 | 5 | — |
| 7 | Nested dictionaries | 8 | 0 | 4 | — |
| 8 | Dict methods — update, pop, keys views |
8 | 0 | 4 | — |
| 9 | JSON-shaped data (concept + lab) | 8 | 0 | 4 | — |
| 10 | Dict pattern pack (invert, merge, word count) | 8 | 0 | 6 | — |
Unit 17 — Sets & structure choice
Unit totals: 7 topics · 56 MCQ questions · 0 practice · 21 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Set basics & uniqueness | 8 | 0 | 3 | — |
| 2 | Set operations — union, intersection, difference | 8 | 0 | 3 | — |
| 3 | Membership testing at scale | 8 | 0 | 3 | — |
| 4 | Removing duplicates pattern | 8 | 0 | 3 | — |
| 5 | frozenset (intro) | 8 | 0 | 2 | — |
| 6 | Choosing list vs tuple vs dict vs set | 8 | 0 | 3 | — |
| 7 | Mixed-structure integrative lab | 8 | 0 | 4 | — |
Unit 18 — Files, exceptions & capstone
Unit totals: 9 topics · 72 MCQ questions · 0 practice · 8 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | Text files — read/write concept | 8 | 0 | 0 | — |
| 2 | with open (run-only practice) |
8 | 0 | 0 | — |
| 3 | File-like data via stdin (eval) | 8 | 0 | 2 | — |
| 4 | try / except / Exception |
8 | 0 | 0 | — |
| 5 | else / finally on try |
8 | 0 | 0 | — |
| 6 | Common exceptions (ValueError, KeyError, …) |
8 | 0 | 0 | — |
| 7 | Integrative utility script | 8 | 0 | 3 | — |
| 8 | Python Professional end-of-course capstone | 8 | 0 | 3 | — |
| 9 | CP contest integrative (3 problems, OJ format) | 8 | 0 | 0 | — |
Unit 19 — CP playground & certification
Unit totals: 5 topics · 40 MCQ questions · 0 practice · 36 evaluated labs
| # | Topic | MCQs | Practice | Evaluated | Preview |
|---|---|---|---|---|---|
| 1 | CP certification set (required gate) | 8 | 0 | 12 | — |
| 2 | Numbers & math playground (optional) | 8 | 0 | 6 | — |
| 3 | Sets & maps playground (optional) | 8 | 0 | 6 | — |
| 4 | Greedy / brute intro playground (optional) | 8 | 0 | 6 | — |
| 5 | Integrative mixed playground (optional) | 8 | 0 | 6 | — |
Counts are from the live course catalog. MCQs = questions in topic checkpoint quizzes. Practice = formative run-only or SQL practice lane. Evaluated = submit-graded labs that count toward progress and certificates.