/potaka

First bangla programming language for kids

সাইট

http://potaka.io

পতাকা

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

দেখাও("থাকবো নাকো বদ্ধ ঘরে দেখবো এবার জগতটাকে");

কেন পতাকা ?

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

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

প্রোগ্রামিং শিখতে এত ভয় কিসের? কিছু ফিল্ড স্টাডি করার পর আমি যে প্রবলেমগুলো খুজে পাই:

  1. কন্ডিশন, লুপ এবং এ্যারে’র মত বেজিক প্রোগ্রামিং সিন্টেক্স গুলো কিভাবে কাজ করে তা বুঝতে খুব ঝামেলা হয় । একটা বুঝলেও পরেরটা দিলে মাথায় গুবলেট পাকিয়ে যায়। ফলে নিজের চিন্তা গুলোকে প্রোগ্রামিং রুপ দিতে ব্যর্থ হচ্ছে সাথে প্রোগ্রামিং প্রতি আগ্রহ হারাচ্ছে।
  2. কোড ভিজুয়াইলজ করতে পারে না। কোন লাইনটা কখন কেন রান হচ্ছে এবং তার আউটপুট কি আসছে তার একটি সমন্বিত ভিউ তাদের মাথায় কাজ করে না।
  3. বুঝতে অনেক সমস্যা থাকায় কিংবা কালো স্ক্রিনের আউটপুটে কোন মজা না থাকায় প্রোগ্রামিং নিয়ে বসে থাকার আগ্রহ থাকে না।
  4. রিসোর্স এর অভাব । কি শিখবো, কিভাবে শিখবো, কোনটা আগে শিখবো কোন গাইডলাইন পায় না। উদাহরন: আমি লুপ দিয়ে ১ থেকে ১০ পর্যন্ত প্রিন্ট করা শিখলাম, তারপর এটা দিয়ে আর কি করা যেতে পারে ? কোন ধরনের সমস্যা সমাধান করা যেতে। আবার শুরুতেই কোন কঠিন কোন সমস্যা সমাধান করতে গেলে হতাশ হয়ে যায়।

এই সব সমস্যাগুলোর সমাধান ও নবীনদের প্রোগ্রামিং এর প্রতি অনিহা দূর করার উদ্দেশ্য নিয়েই পতাকার পথ চলা শুরু ।

পতাকার ফিচার

বাংলায় প্রগ্রামিং

পতাকা কোডের প্রতিটি লাইন হবে সম্পূর্ন বাংলায়, মোটামুটি দৈনন্দিন ব্যবহৃত একটি বাক্যের মত। সবাভতই আমরা ইংরেজী বা অন্যান্য ভাষার চাইতে তুলনামুলক বাংলায় ভালভাবে উপলব্ধি করতে পারি এবং মনোভাব প্রকাশ করতে পারি । তাই বাংলায় প্রোগ্রামিং শেখাটা নবীনদের জন্য সহায়ক হবে। আমি মনে করি, পতাকা একটি সহজ প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে বিবেচনা না করে বরং সহজে প্রোগ্রামিং আয়ত্ত করার একটি মাধ্যম হিসেবে বিবেচনা করা উচিত।

কোড এডিটর

কোড লিখার জন্য থাকছে কোড হাইলাইটিং সহ একটি চমৎকার কোড এডিটর। আপনার চিন্তা চেতনাকে প্রোগ্রামিং রুপ দেয়া এবং সেটাকে বাংলায় লিখার জন্যে পতাকায় যে কোন ইউনিকোড টুল (অভ্র / ইউনিবিজয়) ব্যবহার করতে পারবেন। অভ্র / বিজয় পিসিতে ইন্সটল না থাকলেও সমস্যা নেই, এডিটর এ বিল্ট-ইন ফনেটিক বাংলা (অভ্র) লেখার সুবিধা রয়েছে। তাছাড়া এডিটরের ডানে থাকা কিওয়্যার্ড গুলো ক্লিক করলেই তা ইনডেশন সহ অটে-টাইপ হয়ে যাবে, ফলে সিন্টেক্স ভুলে যাওয়ার চিন্তা নেই। রয়েছে সুন্দর ইরর রিপোর্টিং, কোন লাইনে কেন ইরর হয়েছে তা বাংলায় বলে দিবে। তাছাড়াও থাকবে অটো কোড সাজেশন।

ভিজুয়াল গেম (পতাকা প্লে)

কোড লিখে খেলা যাবে প্রোগামিং গেম। শুরুতেই থাকবে একটি টিটোরিয়াল সিরিজ, যেখানে গেম এর মাধ্যমে প্রোগ্রামিং এর বেসিক কন্সেপ্ট (ভেরিয়েবল, কন্ডিশন, লুপ, ফাংশন) গুলো সিকোয়েনশিয়ালি শিখানো হবে। আপনার কোড এর আউপুট আপনি গেম এর আউটপুট এ দেখতে পাবেন এবং কোথাও ভুল করলেও সেটা সেখানে দেখতে পারবেন। ফলে প্রোগ্রামিং শেখার ক্ষেত্রে আপনি তুলনামূলক বেশি সময় মনযোগ ধরে রাখতে পারবেন। গেমে এর লেভেলগুলো সাজানো থাকবে বিভিন্ন প্রোগ্রামিং প্রবলেম দিয়ে, যেগুলো সলভ করে প্রোগ্রামিং এর স্কিল ঝালাই করতে পারবেন। এবং এগুলোর ভিত্তিতে আপনাকে র‌্যাংকিং করা হবে।

কোড রিপোজিটরী

একটি পাবলিক কোড রিপোজিটরী থাকবে যেখানে বিভিন্ন প্রোগ্রামিং সমস্যার (যেমন: প্রাইম নাম্বার বের করা) সমাধান সাবমিট করতে পারবেন । বিভিন্ন ক্যাটাগরী অনুযায়ী আপনি অন্যদের সলুশন দেখতে পারবেন। আপনার কোড এর সাথে ওই কোডের পারফরমেন্স তুলনা করতে পারবেন। কোড শেয়ার করতে পারবেন, কোড এর এলগরিদম এবং ভুল-ত্রুটি নিয়েও আলোচনা করতে পারবেন।

পতাকা কাদের জন্য নয়

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

ইতিমধ্যেই যারা প্রোগ্রামিং এর বেসিক জিনিস গুলোতে দক্ষ তাদের জন্য পতাকা নয়। সি/সি++ কিংবা অন্য যেকোন প্রোগ্রামিং ল্যাঙ্গুয়েজ এর সিনট্যাক্স দেখে যারা ভয় পায় বা সর্বোপরি প্রোগ্রামিং বিষয়টা বুঝতে যাদের সমস্যা হয় এবং কিশোর কিশোরীদের প্রাথমিক প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবেই পতাকা ভূমিকা রাখতে পারে। আর হ্যা প্রোগ্রামিং এ আপনার পদার্পন যদি কেবল ই শুরু হয়ে থাকে এবং আপনি সহজেই শিখতে চান তাহলে পতাকা আপনার জন্যে ।

স্ট্যাবল রিলিজে যা যা থাকছে

  • বাংলা প্রবলেম সলভিং প্লাটফর্ম
  • কোড সাজেশন
  • গেম বিল্ডার
  • কোডের মান এবং রান টাইম অনুযায়ী পদক
  • কোড এবং এলগরিদম নিয়ে আলোচনা এবং সোশাল শেয়ারিং এ সুবিধা
  • ..... আপনার ফিব্যাক .....

বেটা ভার্সন

পতাকার বর্তমান ভার্সনে সকল ফিচার সমূহ যুক্ত করা হয়নি। স্ট্যাবল রিলিজে নতুন অনেক কিছু যুক্ত হতে পারে আবার কিছু ফিচার বাদ পড়তে পারে। ফিল্ড টেস্ট এবং আপনাদের ফিডব্যাক এর ভিত্তি করেই স্ট্যাবল রিলিজের ফিচার সমূহ নির্ধারন করা হবে।