আমরা গত মাসের ব্লগ পোস্টে আলোচনা করেছি, আগামী এক বছরের জন্য আমাদের অন্যতম প্রধান লক্ষ্য হলো ট্র্যাকগুলো নতুন করে সাজানো, যাতে শিক্ষার্থীরা আনন্দ পায় এবং মেন্টরিং করাটাও সহজ হয়। Maud de Vries-এর নেতৃত্বে করা Track Anatomy প্রকল্পের মাধ্যমে গত এক বছরে আমরা এ কাজে অনেক দূর এগিয়েছি, আর এর মধ্য দিয়েই আমরা দেখতে পেয়েছি ট্র্যাকগুলো যেভাবে সাজানো হয়েছে তাতে কিছু মৌলিক সমস্যা আছে, যেগুলোর সমাধান অগ্রাধিকার পেতেই হবে বলে আমাদের বিশ্বাস। গত দুই মাস ধরে আমাদের নেতৃত্ব দল আলোচনা করছে, এ ব্যাপারে আমরা কীভাবে এগোব এবং সময়মতো বিভিন্ন ভাষার ইডিয়ম-ভিত্তিক শিক্ষা দিতে আমাদের ট্র্যাকগুলোকে প্রয়োজনীয় অবস্থায় আনতে কী কী করতে হবে।
আজ আমি খুবই আনন্দের সাথে ঘোষণা করতে চলেছি যে Sloan Foundation-এর পৃষ্ঠপোষকতায় The University of Chicago-র James Evans ও Gary Lupyan-এর সাথে যৌথভাবে আমরা একটি প্রকল্প শুরু করছি, যার মাধ্যমে আমরা Exercism-এর ট্র্যাকগুলোকে একেবারে গোড়া থেকে নতুন করে ভাবার কাজে গুরুত্বের সাথে মনোযোগ ও শক্তি দিতে পারব, এবং বেশ কিছু ভাষায় সেই পরিবর্তনগুলো বাস্তবায়ন করতে পারব। এর পাশাপাশি আরেকটি খবরে আমি খুব খুশি: প্রকল্পটি পরিচালনার দায়িত্বে আমরা Erik Schierboom-কে নিয়োগ দিয়েছি।
পটভূমি
গত দুই বছর ধরে James ও Gary অনুসন্ধান করছেন, একজন প্রোগ্রামার কোন কোন ভাষা ব্যবহার করেন তা তার দক্ষতা, সৃজনশীলতা ও সহযোগিতাকে কীভাবে প্রভাবিত করে। Sloan Foundation-এর একটি অনুদানে সহায়তায় তারা বুঝতে পেরেছেন, এই গবেষণার একটি অত্যন্ত গুরুত্বপূর্ণ অংশ হলো এটা বোঝা যে প্রোগ্রামাররা কীভাবে ভিন্ন ভিন্ন ভাষা শেখে, আর কারও আগের জ্ঞান নতুন কিছু শেখায় কীভাবে সহায়তা করে বা বাধা দেয়। Exercism-এর ভাষা ট্র্যাক নিয়ে আমরাও ঠিক এই প্রশ্নটাই নিজেদের করছি। কারও আগের অভিজ্ঞতা আমাদের ট্র্যাকে তার প্রয়োজনীয় পথ এবং সে যে ধরনের মেন্টরিং সবচেয়ে ভালোভাবে গ্রহণ করে তার ধরন ও বিষয়বস্তুকে কীভাবে প্রভাবিত করে?
James, Gary ও Sloan Foundation সিদ্ধান্ত নিয়েছেন তাঁদের কিছু সম্পদ এই কাজে বিনিয়োগ করবেন, যাতে Exercism আমাদের ট্র্যাকগুলো নতুন করে সাজানোর কাজে শক্তি দিতে পারে। এই নতুন রূপে ট্র্যাকগুলো একটি ভাষার নিজস্ব বৈশিষ্ট্যের দিকে বেশি মনোযোগ দেবে এবং শিক্ষার্থীর আগের অভিজ্ঞতার ভিত্তিতে আরও ব্যক্তিগতকৃত হবে।
প্রকল্পটি
আগামী সপ্তাহ ও মাসগুলোতে এ নিয়ে আমরা আরও অনেক ব্লগ লিখব, তবে এই প্রকল্পের মূল লক্ষ্যগুলো এবং সেগুলো Exercism-কে কীভাবে প্রভাবিত করবে তা আমি এখন সংক্ষেপে তুলে ধরতে চাই।
ট্র্যাকের মূল অংশ নতুন করে ভাবা: আমাদের ট্র্যাকগুলোর লক্ষ্য প্রোগ্রামিং ভাষা শেখানো, প্রোগ্রামিং নিজে নয়। আমরা এ বিষয়টি আমাদের ট্র্যাকে যুক্ত করতে চাই, আমাদের মূল পথগুলো নতুন করে ভেবে সেগুলোকে এমনভাবে সাজাতে চাই যেন সেগুলো নির্দিষ্টভাবে সেই ইডিয়মগুলো শেখায় যা একটি ভাষাকে অনন্য করে তোলে। আমরা নতুন নতুন অনুশীলনী ডিজাইন করতে ও তৈরি করতে চাই, যার প্রতিটি নির্দিষ্টভাবে একটি করে ইডিয়ম নিয়ে কাজ করে। যেমন, Ruby-তে লুপ করার বদলে এনুমারেশন শেখানো একটি অনুশীলনী থাকতে পারে, আবার JavaScript-এ Prototypes বা Binding-এর ধারণা।
মূল অনুশীলনীগুলোর জন্য পূর্ণাঙ্গ স্বয়ংক্রিয়-বিশ্লেষণ কাভারেজ তৈরি করা: আমরা চাই একজন শিক্ষার্থী যেন দ্রুত একটি ট্র্যাকের মূল অংশ পার হতে পারে। অনুশীলনী ডিজাইন করার সময় আমরা সচেতনভাবে এই দিকে মন দেব যে সম্ভাব্য সমাধানগুলোর ৯৫% কাভার করার মতো স্বয়ংক্রিয় বিশ্লেষণ আমরা কীভাবে দিতে পারি। এর মানে হলো, মেন্টরদের সময় মূলত কাটবে সেই ৫% শিক্ষার্থীর সাথে যাদের সত্যিই তাদের সহায়তা দরকার, নয়তো আরও মজাদার ও বৈচিত্র্যময় অতিরিক্ত অনুশীলনীর ক্ষেত্রে। এরই অংশ হিসেবে আমরা এমন টুল তৈরি করতে চাই, যেগুলোর মাধ্যমে আমাদের মেন্টররা কোডবেস ঘাঁটাঘাঁটি করা ছাড়াই স্বয়ংক্রিয় অ্যানালাইজারে অবদান রাখতে পারবেন।
আগের অভিজ্ঞতার ভিত্তিতে ব্যক্তিমাফিক স্বয়ংক্রিয় মেন্টরিং ও মেন্টরিং হিন্ট দেওয়া: আগের ধাপগুলো শেষ হলে আমরা দেখতে চাই, একজন শিক্ষার্থী যে ফিডব্যাক পায় তা তার আগের অভিজ্ঞতার সাথে কীভাবে মিলিয়ে দেওয়া যায়, সে তা তার পাওয়া স্বয়ংক্রিয় প্রতিক্রিয়ার ক্ষেত্রেই হোক বা মেন্টরদের দেওয়া হিন্টের ক্ষেত্রেই হোক। একটি নির্দিষ্ট ভাষা শেখার সময় কারও যে ফিডব্যাক দরকার, তা অনেকটাই নির্ভর করে তার আগের জ্ঞানের উপর। তাদের অ্যাংকর পয়েন্ট আলাদা, আর আগেই জানা কিছু বিষয় ভুলে যাওয়া তাদের জন্য কঠিন হতে পারে। তাই কারও আগের অভিজ্ঞতার কথা ভেবে আমরা শিক্ষার্থীদের জন্য ব্যক্তিগতকৃত ও আরও কাজের অভিজ্ঞতা দিতে পারি।
ব্রাউজারে কোড লেখার সুবিধা যোগ করা: ট্র্যাকের মূল অংশ নতুন করে ভাবার কাজের সমান্তরালে আমরা আমাদের সবচেয়ে বেশি অনুরোধ করা ফিচারগুলোর একটি যোগ করতে যাচ্ছি: ব্রাউজারেই অনুশীলনী সমাধান করার সুবিধা। এটি CLI ব্যবহারের বিকল্প হবে না, কারণ আমাদের বিশ্বাস শেখার জন্য এটি অত্যন্ত মূল্যবান একটি উপায়। বরং এর মাধ্যমে মানুষ খুব দ্রুত কোনো ভাষা বা তার টুলিং ইনস্টল না করেই ভাষাগুলো চেষ্টা করে দেখতে ও ঘুরে দেখতে পারবে।
অর্থায়ন
James ও Gary-র মাধ্যমে Sloan Foundation থেকে আমরা যে অর্থায়ন পাচ্ছি, তা Jeremy, Nicole, Charles ও Karlo-কে আগামী ১২ মাসে তাদের বেশিরভাগ সময় উপরের লক্ষ্যগুলো অর্জনের জন্য প্রয়োজনীয় প্রোডাক্টের কাজ, ডেভেলপমেন্টের কাজ ও আর্কিটেকচারে বিনিয়োগ করার সুযোগ দেবে।
এটি আমাদের Erik-কে প্রকল্পের "পাঠ্যক্রম" সংক্রান্ত দিকটি পরিচালনার দায়িত্বে নিয়োগ দেওয়ার সুযোগও দেবে। ২০১৬ সাল থেকে Erik Exercism-এ একজন গুরুত্বপূর্ণ অবদানকারী: তিনি C#, F# ও Scala ট্র্যাক দেখাশোনা করছেন, অ্যানালাইজার তৈরি করছেন, অনুশীলনী ডিজাইন করছেন, project-specifications-এ অবদান রাখছেন এবং মেন্টরিং করছেন। তিনি প্রোগ্রামিং ভাষা নিয়েও খুব উৎসাহী এবং Exercism-এর অনেকগুলো ট্র্যাক সম্পন্ন করেছেন। সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, তিনি Exercism কমিউনিটির সবার কাছে সমাদৃত ও শ্রদ্ধেয়, ফলে আমরা কীভাবে এমন ট্র্যাক ও সিস্টেম ডিজাইন করতে পারি যাতে ৫০টি ভিন্ন প্রোগ্রামিং ভাষার পার্থক্য ও মিল ফুটে ওঠে, সেটি বুঝতে তিনি আমাদের পথ দেখানোর জন্য একেবারে উপযুক্ত।
কীভাবে যুক্ত হবেন
এই প্রকল্পে সহায়তা করার জন্য আমরা একটি নির্দিষ্ট দল গঠন করব। এই দলটি ট্র্যাকগুলো জুড়ে ইডিয়মগুলো নির্ধারণ করা, নতুন মূল অনুশীলনী ডিজাইন করা, অ্যানালাইজারের জন্য ফ্রেমওয়ার্ক ও স্ট্যান্ডার্ড ডিজাইনে আমাদের সহায়তা করা এবং আগের জ্ঞান কীভাবে শেখাকে প্রভাবিত করে তা ভেবে দেখার দায়িত্ব পাবে।
আপনি যদি একজন অভিজ্ঞ মেন্টর এবং মেইনটেইনার হন এবং যুক্ত হতে চান, আমরা আপনার কথা শুনতে আগ্রহী। Slack-এ আমাকে জানাতে পারেন।
শেষ কথা
আমরা এই পরের ধাপটি নিয়ে সত্যিই রোমাঞ্চিত। আমাদের বিশ্বাস, এটি Exercism-কে অনেক বড় লাফ দিতে এবং আমাদের শিক্ষার্থী ও মেন্টর উভয়কেই আরও ভালোভাবে সেবা দিতে সাহায্য করবে। James, Gary ও Sloan Foundation-কে তাদের সমর্থনের জন্য আমরা অত্যন্ত কৃতজ্ঞ।