ঘরবন্দী? স্কুল-কলেজ-বিশ্ববিদ্যালয়ের বন্ধুদের সঙ্গে আড্ডা দেওয়া বন্ধ, ক্লাসরুমের হইচই বন্ধ। এই সময়ে কিন্তু ১০ দিনে প্রোগ্রামিং শেখার একটা চ্যালেঞ্জ নিয়ে নিতে পারেন। সেই পথ দেখাচ্ছেন যুক্তরাষ্ট্রভিত্তিক প্রোগ্রামিং শেখানোর প্রতিষ্ঠান প্রোগ্রামিং হিরোর প্রধান নির্বাহী কর্মকর্তা ঝংকার মাহবুব।
প্রথম দিন: পাইথনের প্রাথমিক বিষয়
প্রোগ্রামিংয়ের দুনিয়ায় সবকিছুই পরিবর্তন হতে পারে। যেমন ফেসবুকে এখন লগ–ইন করে যা দেখবেন, একটু পর লগ–ইন করলে ভিন্ন জিনিস দেখা যাবে। এই যে একই জিনিসের ভিন্ন ভিন্ন মান থাকতে পারে, সেটাকে ভাবতে পারেন ‘ভ্যারিয়েবল’ হিসেবে। বিষয়টা অনেকটা বিদ্যা+আলয় = বিদ্যালয় বা হিম+আলয়=হিমালয় এর মতো। ভ্যারি+এবল = ভ্যারিয়েবল। অর্থাৎ ভ্যারি করতে পারে বা পরিবর্তন হতে পারে, এমন জিনিসগুলোই ভ্যারিয়েবল। তাই পাইথন শেখার প্রথম দিন শিখবেন ভ্যারিয়েবল, আউটপুট, ইনপুট আর কন্ডিশনাল (if-else)।
দ্বিতীয় দিন: প্রোগ্রামিংয়ের পঞ্চরত্ন
প্রোগ্রামিংয়ের প্রথম দুই রত্ন হচ্ছে ভ্যারিয়েবল আর কন্ডিশনাল। তারপর আসে বিস্কুটের প্যাকেট। মানে একটা বিস্কুটের প্যাকেটের মধ্যে যেভাবে ২০-৩০টা বিস্কুট থাকে, সেই একইভাবে একটা ভ্যারিয়েবলের মধ্যে কীভাবে লিস্ট বা অ্যারে দিয়ে একাধিক মান রাখা যায়, সেটা শিখতে পারেন দ্বিতীয় দিনে। এ ছাড়া শিখবেন লুপ চালানো (for লুপ আর while লুপ) এবং ফাংশন।
তৃতীয় দিন: সমস্যার সমাধান
প্রোগ্রামিংয়ের সবচেয়ে মজার বিষয় হচ্ছে, প্রোগ্রামিং দিয়ে টুকিটাকি জিনিসগুলো করে ফেলা। যেমন, তাপমাত্রাকে সেলসিয়াস থেকে ফারেনহাইটে রূপান্তর করা। কোনো একটা অঙ্কের মধ্যে সব সংখ্যার যোগফল বের করা। কোনো একটা সংখ্যা মূলদ সংখ্যা কি না তা যাচাই করা। একটা লিস্টের মধ্যে একই সংখ্যা একাধিকবার থাকলে, সেগুলোকে লিস্ট থেকে বের করে দেওয়া।
চতুর্থ দিন: ক্যালকুলেটর
প্রোগ্রামিং দিয়ে ছোট একটা ক্যালকুলেটর বানিয়ে ফেলা যায়। কিংবা একটা tic-tac-toe গেম বানিয়ে ফেলা যায়। হয়তো এই একটা জিনিস বানাতে এক দিন বা দুই দিন লেগে যাবে। কিন্তু সেটা করে ফেলার যে আনন্দ, সেটা পরীক্ষায় ১০০–তে ১০০ পাওয়ার চাইতে বেশি।
পঞ্চম দিন: ডেটা স্ট্রাকচার
একটা প্রোগ্রামিং মানে সেখানে অনেক ডেটা। যেমন ফেসবুকের কথাই ধরুন। সেখানে আপনার স্ট্যাটাসগুলা এক ধরনের ডেটা। স্ট্যাটাসে কে কে কমেন্ট করেছে, সেটাও একটা ডেটা। এই রকম আরও কিছু ডেটা রাখার সিস্টেম আছে। সেগুলোকে বলে ‘ডেটা স্ট্রাকচার’। তাই পঞ্চম দিনে আপনার কাজ হবে কয়েকটা প্রাথমিক ডেটা স্ট্রাকচার, যেমন Stack, Queue, Dictionary সম্পর্কে ধারণা নিয়ে ফেলা।
ষষ্ঠ দিন: অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং
দুনিয়াতে যা কিছুই দেখি সেটাই একটা জিনিস বা বস্তু। এমনকি আপনি নিজেও একটা জিনিস। এই জিনিসগুলোর একাধিক বৈশিষ্ট্য থাকে। যেমন আপনার উচ্চতা, নাম, শখ, পছন্দের অভিনয়শিল্পী…এমন অনেক বৈশিষ্ট্য আছে। এই বৈশিষ্ট্যগুলোকে একসঙ্গে প্রকাশ করে Object হিসেবে। তাই ষষ্ঠ দিনে আপনার কাজ হলো Object, Class কীভাবে লেখে, ক্লাসের মধ্যে Method and constructor কীভাবে লেখে সেগুলো শিখে নেওয়া। তারপর OOP নামক একটা বিষয় আছে। সেটাও একটু দেখে নিতে পারেন। কী আর আছে জীবনে!
সপ্তম দিন: অ্যালগরিদম
ফোনের চার্জার হারিয়ে গেলে আপনি কী করেন? খাটের কোনায়, ব্যাকপ্যাকে, টেবিলের নিচে খুঁজতে থাকেন। প্রোগ্রামিংয়ের ক্ষেত্রেও সার্চ করার কিছু সিস্টেম বা অ্যালগরিদম আছে। আবার সাজানোর জন্য কিছু সিস্টেম বা অ্যালগরিদম আছে। সেগুলো দেখার কাজ করা যেতে পারে সপ্তম দিনে। যেমন Linear search, Binary search, Bubble sort, Selection Sort সেগুলো একটু দেখে রাখতে পারেন।
অষ্টম দিনে: ডেটাবেজ
আপনি ইউটিউবে ছয় মাস আগে যে ভিডিও দেখেছেন, এখনো সেই ভিডিও দেখতে পারেন। কারণ, প্রোগ্রামিংয়ের ক্ষেত্রে গুরুত্বপূর্ণ ডেটাগুলোকে বেশি সময় ধরে সংরক্ষণ করে রাখা হয় ডেটাবেজে। তাই অষ্টম দিনে আপনার কাজ হচ্ছে ডেটাবেজ সম্পর্কে প্রাথমিক ধারণা নেওয়া। টেবিল, কলাম, রো সম্পর্কে জানা। কীভাবে টেবিলে নতুন ডেটা যোগ করতে হয় বা আপডেট করতে হয় সেই জিনিসগুলো জানবেন এই দিনে।
নবম দিন: মেশিন লার্নিং
যদিও মেশিন লার্নিং অনেক বড় একটা বিষয়। তারপরও কিছু আইডিয়া নিয়ে রাখা ভালো। কয়েকটা ভিডিও দেখতে পারেন। মেশিন লার্নিং কী জিনিস, এটা দিয়ে কী করা যায় বা ভবিষ্যতে কোন কোন কাজে ব্যবহার করা যেতে পারে—আপাতত একটু ধারণা নিয়ে রাখলেন। ভবিষ্যতে বন্ধুদের সঙ্গে আলাপ করার জন্য হোক, কিংবা পুরোদস্তুর প্রোগ্রামিং শেখাই হোক, সব ক্ষেত্রেই কাজে লাগবে।
দশম দিন: সারকথা
গত নয় দিনে যা যা শিখেছেন, সংক্ষেপে তা লিখে ফেলুন। চাইলে ফেসবুকে পোস্ট করতে পারেন। যদি মনে হয় আর সবার সঙ্গে শেয়ার করতে চান, তাহলে পোস্টটি ‘অনলি মি’ করে রাখুন। নিজের মতো করে সবটা লিখতে গিয়ে পুরো ব্যাপারটার একটা ‘রিভিশন’ হয়ে যাবে।
ইমেইল: Jhankar.mahbub@gmail.com
কোথা থেকে শিখব
ইউটিউবে ‘পাইথন প্রোগ্রামিং টিউটোরিয়াল’ লিখে সার্চ করলেই অসংখ্য টিউটোরিয়াল পেয়ে যাবেন। গুগল প্লে স্টোর বা আইফোনের অ্যাপ স্টোরে প্রোগ্রামিং শেখার বিভিন্ন অ্যাপ আছে। যেমন প্রোগ্রামিং হিরো (Programing Hero) নামের অ্যাপটিও ইনস্টল করতে পারেন। ইন্টারনেট ছাড়াও, অফলাইনে বসে পাইথন বা ওয়েব ডেভেলপমেন্টের প্রাথমিক বিষয়গুলো শিখে ফেলতে পারেন। মোবাইলেও চর্চা করার সুযোগ আছে।