কনটেন্টে যান

Guided challenge — একটি section একসঙ্গে প্রয়োগ করুন

ছোট problem-এ একটি pattern চিনেছেন; এবার একই কাজের বিভিন্ন অংশে কয়েকটি pattern একসঙ্গে ব্যবহার করুন। প্রতিটি challenge-এ statement, input/output, prerequisites, ছোট example, milestone, hint, reference solution ও unit test আছে।

একটি challenge পুরো chapter-এর সব আলাদা problem-এর বিকল্প নয়। Coverage table দেখে কোন ধারণা ব্যবহার করেছেন এবং কোন variation এখনও বাকি তা মিলিয়ে নিন। Math-এর challenge-এ ১২টি level-এর প্রতিনিধিত্বকারী ১২টি stage আছে; প্রতিটি level-এর সব theorem বা problem সেখানে চাপিয়ে দেওয়া হয়নি।

কোথা থেকে শুরু করবেন

  1. সব problem-এর map খুলে section-এর আগে পড়ার topics দেখুন।
  2. সেই section-এর আগে করতেই হবে সমস্যাগুলোতে নিজে চেষ্টা করুন।
  3. নিচের challenge-এ একবারে একটি milestone লিখুন; পুরো solution একসঙ্গে দেখে শুরু করবেন না।
  4. Worked example হাতে মেলান, তারপর unit tests চালান। ভুল হলে failing test-এর সবচেয়ে ছোট input নিয়ে ফিরে আসুন।
  5. শেষে reference না দেখে invariant, complexity ও edge case বলুন। নিজের নতুন test যোগ করুন।

১৪টি section challenge

Section Challenge আগে কোন ভিত্তি চালানোর test file
Math · level 00–11 বিজ্ঞানমেলার প্রস্তুতি digit, GCD, modular, prefix, search, counting test_math_lab.py
Array / String Study-session analytics traversal, merge, prefix, window test_arrays_lab.py
Sorting / Searching পণ্যের catalogue comparison, sorted interval, boundary test_sorting_lab.py
Linked List Delivery manifest node, next, pointer, cycle test_linked_list_lab.py
Stack / Queue Nested job batch LIFO/FIFO, decode, monotonic queue test_stack_queue_lab.py
Hashing Transaction reconciliation key/value, frequency, complement test_hashing_lab.py
Recursion Workshop planning state, base case, choose/undo test_recursion_lab.py
Trees BST library report BST order, traversal, height test_trees_lab.py
Heap Job scheduling priority, heap operations, two heaps test_heap_lab.py
Graphs Dependency-aware deliveries adjacency, BFS/DFS, shortest path test_graphs_lab.py
DSU Road repair plan connected component, union/find test_dsu_lab.py
Segment / Fenwick Inventory monitor prefix, interval, point update test_range_queries_lab.py
Dynamic Programming Study planner LCS state, knapsack choice, reconstruction test_dynamic_programming_lab.py
Mixed Interview Request-stream analytics hash, queue, heap, sliding window test_interview_lab.py

Code ও tests চালানো

Repository clone/download করে তার root folder থেকে Python 3.12 বা নতুন সংস্করণে চালান। Lab-গুলোর জন্য extra package লাগে না। প্রতিটি challenge-এর পাতায় আলাদা solution ও test file-এর link আছে; আলাদা download করলে practice/ folder-এর মধ্যে একই filename রাখুন এবং root folder থেকে command চালান।

Bash
python -m unittest discover -s practice -p "test_*_lab.py" -v

একটি challenge বেছে:

Bash
python -m unittest discover -s practice -p "test_math_lab.py" -v

Reference solution আগে থেকেই tests পাস করে। নিজের অনুশীলনের জন্য সেটির function body নিজে লিখে একই contract রাখুন, তারপর tests চালান। ValueError-এর test মানে ভুল input প্রত্যাখ্যানও problem-এর অংশ। Random test থাকলে seed নির্দিষ্ট—একই failure আবার দেখা যাবে।

Microsoft course-এর সঙ্গে ব্যবহার

Module mapping ও badge-এর অর্থ দেখুন। Course-এর .NET/C# code আলাদা; এই Python solution থেকে logic বুঝে একই example ও edge case C#-এ লিখতে পারেন। কোনো lab-কে official graded assignment-এর উত্তর হিসেবে চিহ্নিত করা হয়নি।