Computer Programming 2nd Part By Tamim Shahriar Subeen High Quality Jun 2026
Mastering Data Structures and Algorithms: A Deep Dive into "Computer Programming 2nd Part" by Tamim Shahriar Subeen For many aspiring software engineers in Bangladesh and West Bengal, the name Tamim Shahriar Subeen is synonymous with accessible programming education. While his first book introduced thousands to the syntax of C, his follow-up, "Computer Programming 2nd Part," serves a much more critical purpose: transitioning a student from a "coder" to a "problem solver." In this article, we explore why this book is considered a cornerstone for anyone serious about mastering Data Structures and Algorithms (DSA) and competitive programming. The Bridge from Syntax to Logic If the first volume of Subeen's series was about learning the "language," the 2nd Part is about learning the "logic." Knowing how to write a loop or a function is one thing; knowing how to organize data efficiently and search through it in milliseconds is another. This book focuses on the fundamental concepts that form the backbone of computer science. It isn’t just for students aiming to pass exams; it is specifically designed for those who want to excel in Competitive Programming and technical interviews at top-tier companies. Key Topics Covered The 2nd Part moves beyond basic syntax to explore more complex territories: Complexity Analysis: Subeen introduces Time and Space Complexity in a way that is easy to grasp, helping beginners understand why one solution is "better" than another even if both produce the correct output. Searching and Sorting: Deep dives into algorithms like Binary Search, Bubble Sort, and Selection Sort. Data Structures: Essential coverage of Arrays, Linked Lists, Stacks, and Queues. Recursion: One of the most challenging topics for beginners is explained with practical examples and mental models. Pointers and Memory Management: Clearer explanations on how C handles memory, a topic often feared by students. File Operations: Practical guidance on how to interact with external data. Why This Book Stands Out 1. Written in Native Bengali The biggest barrier to entry for many South Asian students is the language gap. Complex algorithmic concepts are much easier to digest when explained in one's mother tongue. Subeen’s conversational and lucid Bengali style removes the "fear factor" associated with dense technical jargon. 2. Focus on Problem Solving The book doesn't just provide code snippets; it provides problems. It encourages readers to use platforms like UVa, LightOJ, and DimikOJ to practice the concepts learned in each chapter. 3. Practicality Over Theory While many textbooks get bogged down in heavy mathematical proofs, "Computer Programming 2nd Part" remains grounded in practicality. It shows the reader how to implement these ideas in real-world C code. Who Should Read It? CS Students: A perfect companion for university courses on Data Structures. Competitive Programmers: Ideal for those starting their journey into the world of ACM-ICPC or Codeforces. Self-Taught Developers: If you know the basics of C or C++ but feel stuck on how to build more complex software, this book is your roadmap. Conclusion "Computer Programming 2nd Part" by Tamim Shahriar Subeen is more than just a book; it’s a mentor in print form. By stripping away the complexity of traditional academic textbooks and focusing on clarity and logic, Subeen has created a resource that continues to empower the next generation of Bengali-speaking programmers. If you have finished learning the basics of C and are wondering "what's next?"—this book is your answer. Are you looking to buy a physical copy or are you interested in a specific chapter, like Recursion or Pointers?
Unlocking Advanced Logic: A Deep Dive into "Computer Programming 2nd Part By Tamim Shahriar Subeen" In the landscape of Bengali programming literature, few names command as much respect as Tamim Shahriar Subeen. For thousands of aspiring developers in Bangladesh and West Bengal, his books serve as the gateway to the world of coding. While his introductory book, Computer Programming , lays the foundation, it is the "Computer Programming 2nd Part By Tamim Shahriar Subeen" that transforms a novice into a competent problem solver. This article explores the significance of the second part of this iconic series, its content structure, target audience, and why it remains an essential read for anyone serious about competitive programming and software development. The Legacy of Subeen’s Work Before delving into the specifics of the second part, it is crucial to understand the context. For a long time, Bengali students struggled with a language barrier in technical education. Most high-quality programming resources were available only in English. Tamim Shahriar Subeen bridged this gap. His writing style is unique—it is conversational, pragmatic, and devoid of unnecessary academic jargon. The first part of his book focuses on the syntax of C, basic logic, and introductory algorithms. However, learning syntax is only the first step. To become a programmer, one must learn how to think. This is where the "Computer Programming 2nd Part" comes into play. It is not just a continuation; it is an elevation of standards. From Syntax to Algorithms: What’s Inside? The transition from the first part to the second part is a jump from the shallow end of the pool to the deep end. The second part assumes the reader is comfortable with variables, loops, and functions. It then proceeds to tackle the core of computer science: Data Structures and Algorithms. Here is a breakdown of the key topics covered in the book: 1. Advanced C Concepts While the first part covers the basics, the second part introduces concepts that are often skipped in introductory courses. This includes advanced pointer manipulation, dynamic memory allocation, and the preprocessor. These topics are vital for understanding how software interacts with hardware resources, a skill critical for systems programming. 2. Data Structures The heart of the second part lies in its treatment of Data Structures. Subeen explains how data is organized in a computer’s memory. The book provides clear, Bengali-explained implementations of:
Arrays and Strings: Moving beyond basic manipulation to complex operations. Linked Lists: A crucial concept for dynamic data handling. Stacks and Queues: Fundamental for understanding parsing and task scheduling. Trees and Graphs: The book introduces binary trees and graph traversal algorithms (BFS and DFS), which are the backbone of modern technologies like social networks and GPS systems.
3. Algorithm Design and Efficiency Perhaps the most valuable aspect of the book is its focus on algorithmic efficiency. It introduces the concept of Time Complexity (Big O Notation) . For a beginner, writing code that works is enough. But for a software engineer or competitive programmer, writing code that works fast is the goal. The book teaches readers how to analyze their code’s performance. It covers essential algorithms including: Computer Programming 2nd Part By Tamim Shahriar Subeen
Sorting algorithms (Merge Sort, Quick Sort). Searching algorithms (Binary Search). Greedy algorithms. Dynamic Programming (basic concepts).
4. Competitive Programming Foundation Tamim Shahriar Subeen is a prominent figure in the Bangladeshi competitive programming community. Consequently, the "Computer Programming 2nd Part" is tailored for those looking to participate in contests like ACM ICPC or solve problems on online judges (such as UVa or Codeforces). The book contains numerous solved problems and exercises that mirror the format of competitive programming challenges. Why This
Mastering the Next Step: A Deep Dive into "Computer Programming 2nd Part" by Tamim Shahriar Subeen In the landscape of Bengali technical literature, few names command as much respect as Tamim Shahriar Subeen . His debut work, Computer Programming (1st Part) , revolutionized how Bengali students learn coding, breaking the language barrier that had made programming seem like an exclusive, English-only discipline. But every journey has a second act. For thousands of aspiring programmers in Bangladesh and West Bengal, the sequel— "Computer Programming 2nd Part" (দ্বিতীয় খণ্ড) —is not just a book; it is the crucial bridge between a hobbyist coder and a serious software engineer. If the first part taught you how to walk (loops, conditionals, arrays), the second part teaches you how to run, jump, and navigate a marathon. This article explores why this book is considered an indispensable asset for any serious Bengali-speaking programmer. What Makes "2nd Part" Different from the First? The first volume of Subeen’s series focuses primarily on structured programming using the C language. It covers basics: data types, operators, if-else , for loops, while loops, and functions. It is perfect for a complete beginner. "Computer Programming 2nd Part" assumes you have already mastered those basics. It dives headfirst into the "ugly but essential" parts of programming that separate casual learners from problem solvers. The book shifts focus from "How to write code" to "How to write efficient and complex code." Core Topics Covered in the 2nd Part Subeen has a unique talent for explaining terrifying topics in simple Bengali. In the second part, he tackles: Mastering Data Structures and Algorithms: A Deep Dive
Recursion (রিকার্শন): Most students fear recursion. Subeen breaks it down using real-life Bengali analogies (like the "Russian Doll" or factorial of a number) before jumping into the stack mechanism. He doesn't just show you the code; he shows you the drawing of how memory changes with each recursive call.
Pointers (পয়েন্টার): Famously the "graveyard" of C programmers. The author dedicates significant real estate to memory addresses, pointer arithmetic, double pointers, and pointers to functions. He explains why pointers are not scary but are actually the most logical tool for direct memory manipulation.
Dynamic Memory Allocation: Moving from static arrays (1st part) to dynamic structures (2nd part). Students learn malloc , calloc , realloc , and free . The book includes practical examples like creating a dynamic phonebook that can grow and shrink at runtime. This book focuses on the fundamental concepts that
Structures and Unions (স্ট্রাকচার ও ইউনিয়ন): While structures are introduced briefly at the end of Part 1, Part 2 treats them as first-class citizens. Subeen shows how to combine structures with pointers to build linked lists, stacks, and queues.
File I/O (ফাইল থেকে পড়া ও লেখা): A programmer’s data must survive a reboot. The book teaches how to read/write text files, binary files, and how to use fprintf , fscanf , fread , and fwrite . The classic example? A student database that saves to a hard drive.