প্রাথমিক অনুশীলনী যোগ করুন


আপনি একবার hello-world অনুশীলনীটি ইমপ্লিমেন্ট করে ফেললে, এরপরের কাজ হলো আরও ২০+ অনুশীলনী ইমপ্লিমেন্ট করা।

অনুশীলনীর ধরন

আপনি দুই ধরনের অনুশীলনী ইমপ্লিমেন্ট করতে পারেন:

  • কনসেপ্ট অনুশীলনী: এগুলো একটি শিক্ষার্থীকে এক বা একাধিক কনসেপ্ট শেখানোর জন্য তৈরি। আরও তথ্যের জন্য ডকুমেন্টেশন দেখুন।
  • প্র্যাকটিস অনুশীলনী: এগুলো শেখা কনসেপ্ট চর্চা করার জন্য তৈরি। আরও তথ্যের জন্য ডকুমেন্টেশন দেখুন।

সাধারণভাবে, নতুন ট্র্যাকের জন্য আমরা প্রথমে প্র্যাকটিস অনুশীলনী ইমপ্লিমেন্ট করে শুরু করার পরামর্শ দিই, কারণ এগুলো ইমপ্লিমেন্ট করা সহজ এবং শুরুতে বেশি ভাবতে হয় না। কনসেপ্ট অনুশীলনী সবসময়ই পরে যোগ করা যায়, আপনার ট্র্যাক একবার ঠিকঠাকভাবে চালু হয়ে গেলে।

অনুশীলনী বাছাই করুন

ট্র্যাকগুলোকে প্র্যাকটিস অনুশীলনী ইমপ্লিমেন্ট করতে সাহায্য করার জন্য আমরা exercism/problem-specifications রিপোজিটরি তৈরি করেছি। এই রিপোজিটরিতে ১০০+ প্র্যাকটিস অনুশীলনীর মেটাডেটা আছে, যা থেকে ভিন্ন ভিন্ন ট্র্যাক এই অনুশীলনীগুলোর নিজস্ব ট্র্যাক-নির্দিষ্ট সংস্করণ ইমপ্লিমেন্ট করতে পারে। এই কারণেই আপনি অনেক ভিন্ন ট্র্যাক জুড়ে একই অনুশীলনী ইমপ্লিমেন্ট করা দেখতে পাবেন।

তাহলে ১০০+ অনুশীলনীর এই তালিকা থেকে ২০+ বেছে নেবেন কীভাবে? এখানে কিছু নির্দেশিকা রইল।

এমন অনুশীলনী বাছাই করুন যেগুলোতে শিক্ষার্থীরা নানা রকম কনসেপ্ট চর্চা করে

১০০+ অনুশীলনীতে ব্যবহৃত কনসেপ্টে অনেক বৈচিত্র্য আছে। আপনার লক্ষ্য হওয়া উচিত এমন অনুশীলনী ইমপ্লিমেন্ট করা, যেগুলোতে শিক্ষার্থীরা বিস্তৃত বৈচিত্র্যের কনসেপ্ট চর্চা করে। তাই স্ট্রিং নিয়ে তৈরি ২০টি অনুশীলনী ইমপ্লিমেন্ট করার বদলে, ভিন্ন ভিন্ন কনসেপ্ট নিয়ে তৈরি অনুশীলনী ইমপ্লিমেন্ট করার চেষ্টা করুন।

নমুনা অনুশীলনী-সহ কয়েকটি কনসেপ্ট:

কনসেপ্ট অনুশীলনী
বিট ম্যানিপুলেশন allergies, secret-handshake
বুলিয়ান leap
ক্লাস circular-buffer, robot-name
কনকারেন্সি bank-account
কন্ডিশনাল raindrops
তারিখ ও সময় gigasecond, meetup
সমতা clock
ফ্লোটিং-পয়েন্ট সংখ্যা darts, space-age
লেজিনেস alphametics, zebra-puzzle
অ্যারে resistor-color, spiral-matrix
লুপ collatz-conjecture, protein-translation
ম্যাপ nucleotide-count
সংখ্যা leap, grains
র‍্যান্ডমনেস dnd-character, robot-name
স্ট্রিং bob, isogram,
ট্রি binary-search-tree, pov

ভিন্ন ভিন্ন কঠিনতার অনুশীলনী বাছাই করুন

কিছু অনুশীলনী ইমপ্লিমেন্ট করা অন্যগুলোর চেয়ে কঠিন হবে। আপনার লক্ষ্য হওয়া উচিত ভিন্ন ভিন্ন কঠিনতার অনুশীলনী ইমপ্লিমেন্ট করা: কিছু সহজ, কিছু মাঝারি আর কিছু কঠিন।

একটি অনুশীলনী কতটা কঠিন, তা নির্ভর করে কয়েকটি বিষয়ের উপর, যেমন এর সাথে জড়িত কনসেপ্ট এবং ট্র্যাকের ভাষা। অনুশীলনীটি যে অন্য ট্র্যাকগুলোতে ইমপ্লিমেন্ট করা হয়েছে, সেখানে এটি কেমন দেখতে, তা দেখে নিলে ইমপ্লিমেন্টেশনটি কেমন হতে পারে সে সম্পর্কে ভালো ধারণা পাবেন।

এখানে কিছু কঠিনতা-স্তর ও তাদের অনুশীলনী:

কঠিনতা অনুশীলনী
সহজ darts, gigasecond, isogram, leap, resistor-color, space-age
মাঝারি allergies, bob, meetup, protein-translation, raindrops, secret-handshake
কঠিন alphametics, forth, react, pov, zebra-puzzle, zipper

আপনার ট্র্যাকের সাথে মানানসই অনুশীলনী বাছাই করুন

সব অনুশীলনী আপনার ট্র্যাকের সাথে নাও মানতে পারে। আপনার কেবল সেগুলোই বাছাই করা উচিত, যেগুলো আপনার ট্র্যাকের সাথে মানায়; যে অনুশীলনী অর্থহীন, তা ইমপ্লিমেন্ট করার চেয়ে না ইমপ্লিমেন্ট করা ভালো। উদাহরণ হিসেবে, lens-person অনুশীলনীতে শিক্ষার্থীকে লেন্স নিয়ে কাজ করতে হয়, যা অনেক ভাষা সাপোর্ট করে না।

যদি এমন কোনো অনুশীলনী পান যা আপনার ট্র্যাকের সাথে মানায় না, তাহলে আপনি তার slug ট্র্যাকের config.json ফাইল-এর exercises.foregone অ্যারেতে যোগ করতে পারেন। এতে টুলিং ওই অনুশীলনীটি উপেক্ষা করবে।

নমুনা পাঠ্যক্রম

এসব একটু বাস্তব করে বোঝাতে, প্রাথমিক অনুশীলনীর একটি নমুনা বাছাই কেমন দেখাতে পারে, তা এখানে:

অনুশীলনী কঠিনতা কনসেপ্ট
hello-world সহজ কোনোটিই না (প্রাথমিক অনুশীলনী)
leap সহজ সংখ্যা, বুলিয়ান
gigasecond সহজ তারিখ ও সময়
isogram সহজ স্ট্রিং
resistor-color সহজ অ্যারে
nucleotide-count সহজ ম্যাপ
collatz-conjecture সহজ লুপ
darts সহজ ফ্লোটিং-পয়েন্ট সংখ্যা
two-fer সহজ স্ট্রিং ফরম্যাটিং, ঐচ্ছিক আর্গুমেন্ট
high-scores সহজ কালেকশন প্রসেসিং
raindrops মাঝারি কন্ডিশনাল
bob মাঝারি স্ট্রিং
allergies মাঝারি বিট ম্যানিপুলেশন
series মাঝারি এক্সেপশন
circular-buffer মাঝারি ক্লাস
meetup মাঝারি তারিখ ও সময়
yacht মাঝারি অ্যারে
dominoes কঠিন টাপল, লেজিনেস
diamond কঠিন স্ট্রিং ফরম্যাটিং
alphametics কঠিন লেজিনেস
forth কঠিন পার্সিং

অনুশীলনী ইমপ্লিমেন্ট করুন

আপনার ট্র্যাকে যে অনুশীলনীগুলো রাখতে চান সেগুলো বাছাই করার পর, পরের ধাপ হলো সেগুলো ইমপ্লিমেন্ট করা। একটি প্র্যাকটিস অনুশীলনী কীভাবে যোগ করবেন, তার বিস্তারিত নির্দেশনা রয়েছে প্র্যাকটিস অনুশীলনী যোগ করার ডকুমেন্টেশন-এ।