Practice Question
Duration: 3 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Discrete Mathematics: Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Set Theory, Relations, Functions, Propositional and Predicate Logic, Graph Theory, Group Theory
- Digital Logic: Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
- Computer Organization and Architecture: Basics of COA, Programming the Basic Computer, Cache Memory Organization, Input Output Organisation, Instr Formats & Modes, Register Transfer and Microoperations, Control Unit Design, Pipelining, Multiprocessors
- Programming: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, OOPS with C++
- Data Structures: Introduction to DS, Array, Linked List, Stack, Queue, Tree, Graphs, Hashing
- Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
- Theory of Computation: Grammar, Regular Language Properties, Moore & Mealy Machines, Turing Machines
- Compiler Design: Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment, Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Pushdown Automata & CFG, Complexity Theory
- Operating Systems: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management, Unix OS, Linux OS, Security
- Database Management Systems: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control, ORDBMS, NoSQL
- Computer Networks: Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security
AI summary & chapters
AI Summary
An AI-generated summary of this video lecture.
This educational video demonstrates how to calculate the memory address of a specific element within a two-dimensional array using the Row Major Order storage scheme. The instructor presents a specific problem where the array A has non-standard indexing ranges: rows from 5 to 15 and columns from -8 to 8. The total dimensions are given as A[11][17]. The problem asks for the address of element A[8][5]. Essential parameters are provided: a Base Address of 800 and an element size of 4 memory cells. The lecture walks through the derivation of the address calculation formula and applies it to solve the numerical problem, highlighting the handling of negative lower bounds.
Chapters
0:00 – 2:00 00:00-02:00
The session begins with the problem statement displayed on screen: Q A[5.....15, -8.....8] is A[11][17] and we are supposed to find A[8][5]. The instructor identifies the given values: Row Major Order, Base Address = 800, and element size w = 4. He writes the general formula for Row Major Order on the board: A[i, j] = B + w * [(i - li) (ul - ll + 1) + (j - lj)]. He explicitly defines the lower and upper limits for rows (li=5, ui=15) and columns (lj=-8, uj=8). He notes that the term (ul - ll + 1) represents the total number of columns, which is 17. He sets up the substitution for the target element A[8][5], identifying i=8 and j=5.
2:00 – 3:14 02:00-03:14
The instructor performs the arithmetic substitution. He writes 800 + 4 * [(8 - 5) * 17 + (5 - (-8))]. He calculates the row difference (8 - 5) as 3. He calculates the column difference (5 - (-8)) as 13. He multiplies the row difference by the column count: 3 * 17 = 51. He adds the column difference to this product: 51 + 13 = 64. This sum represents the total number of elements skipped. He multiplies this by the element size: 4 * 64 = 256. Finally, he adds this offset to the base address: 800 + 256, resulting in the final address 1056.
The video provides a clear, step-by-step guide to memory address calculation for 2D arrays. It emphasizes the formula's structure, particularly how the row index is weighted by the total column count. The example with negative lower bounds serves as a practical test of understanding the (index - lower_limit) component of the formula. The final calculation confirms the address is 1056, reinforcing the method for handling non-zero-based indexing in programming and data structures.

