তুমি কি সবগুলো টক-থ্রু দেখেছেন এবং এ পর্যন্ত সবগুলো চ্যালেঞ্জ শেষ করেছেন? দারুণ!
এরপর কী শিখবেন তা নিয়ে কথা বলার আগে, চল এ পর্যন্ত যা শিখেছেন তা পর্যালোচনা করি: জাভাস্ক্রিপ্ট (JavaScript) এবং ProcessingJS।

পর্যালোচনা: জাভাস্ক্রিপ্ট

পৃথিবীতে নানা প্রোগ্রামিং ভাষা আছে এবং জাভাস্ক্রিপ্ট সবচেয়ে জনপ্রিয় গুলোর মধ্যে একটি। একটি প্রোগ্রামিং ভাষায় সাধারণত কিভাবে তথ্য কম্পিউটারের মেমোরিতে সংরক্ষণ করা যায়, কিভাবে তথ্য ব্যবহার করা যায়, কিভাবে কোড সংগঠিত করা যায় ও কিভাবে কোড বারবার রান করা যায় এসব বিষয় অন্তর্ভুক্ত থাকে। এ কাজগুলো কিভাবে জাভাস্ক্রিপ্ট এর মাধ্যমে করতে হয় তা তুমি শিখেছেন নিচের বিষয়গুলোর সাহায্যে:
  • চলক (Variable): কিভাবে ভ্যারিয়েবল ডিক্লেয়ার, অ্যাসাইন, রি-অ্যাসাইন করতে হয়, লোকাল বনাম গ্লোবাল স্কোপ।
  • ডাটার ধরণ (Data types): সংখ্যা, বুলিয়ান, স্ট্রিং, অ্যারে এবং অবজেক্ট।
  • ফাংশন (Functions): কিভাবে কোডকে ফাংশনে পরিণত করা যায়, তাদের আর্গুমেন্ট (arguments) পাঠিয়ে মান রিটার্ন করা যায়।
  • কন্ডিশনাল (Conditionals): কিভাবে if/else স্টেটমেন্ট ও লজিকাল এক্সপ্রেশন (logical expressions) ব্যবহার করা যায় ।
  • লুপ (Loops): while এবং for লুপ ব্যবহার করে কিভাবে কোড পুনরাবৃত্তি করা যায়।
নতুন প্রোগ্রামিং ভাষা শিখলে দেখা যায় যে এটার অনেক অংশের সাথে জাভাস্ক্রিপ্টের মিল রয়েছে। পার্থক্য শুধুমাত্র বাক্যরীতি ও অন্যান্য কিছু বিষয়ে পরিলক্ষিত হয়।

পর্যালোচনা: ProcessingJS

মজাদার উপায়ে জাভাস্ক্রিপ্ট শেখার জন্য, এখানে আমরা একটি আঁকানো ও অ্যানিমেশনের "লাইব্রেরি" বাছাই করেছি যার নাম হল ProcessingJS। এই লাইব্রেরিটি বিভিন্ন ফাংশনের একটি সংগ্রহ, এতে এমন অনেক ফাংশন আছে যা ওয়েবপেজের ক্যানভাসে পিক্সেল আঁকতে সহায়তা করে থাকে। নিচে ProcessingJS এর ফাংশনের উদাহরণ দেওয়া হল:
  • আকৃতি (Shapes): যেমন rect() দিয়ে আয়তক্ষেত্র, ellipse() দিয়ে উপবৃত্ত এবং line() দিয়ে রেখা আঁকা যায়
  • রঙ (Colors): যেমন fill() দিয়ে রঙ করা, stroke() দিয়ে পুরু রেখা এবং background() দিয়ে পেছনের দৃশ্য রঙ করা যায়
  • লেখা (Text): যেমন text() দিয়ে লেখা যায় এবং textSize() দিয়ে লেখার পরিমাপ দেওয়া হয়
  • ইভেন্ট (Events): যেমন draw() দিয়ে আঁকানো এবং mousePressed() দিয়ে মাউসের বাটন চাপ বোঝা যায়
  • গণিত (Math): যেমন random() এবং dist()
যদি ProcessingJS লাইব্রেরি ব্যতিত জাভাস্ক্রিপ্ট ব্যবহার করা হয়, তাহলে উপরের কোন ফাংশনই ব্যবহার করা যাবে না। এজন্যই লাইব্রেরি ব্যবহার করা হয়।

আরও শেখা

এখন, প্রোগ্রামিং শেখার অনেক উপায় আছে, যেমন আমরা যা জানি তা আরও বিস্তারিতভাবে জানা অথবা সঙ্গতিপূর্ণ কোন কিছু শেখা।

খান একাডেমিতে শেখা

খান একাডেমিতে প্রবন্ধ ও চ্যালেঞ্জ সম্বলিত তিনটি উচ্চতর অনুশীলনী আছে:

জাভাস্ক্রিপ্ট সম্পর্কে আরও জানা

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

ProcessingJS শেখা

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

একটি বড় প্রকল্পে কাজ করা

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

ওয়েবসাইট নির্মাণ শেখা

ওয়েবপেজকে HTML (কাঠামো সংজ্ঞায়িত করার জন্য), CSS (বিভিন্ন ফন্ট ও রঙ ব্যবহারের জন্য) এবং JavaScript (পারস্পারিক ক্রিয়া সম্পন্ন, যেমন ব্যবহারকারীর ক্লিকে অ্যানিমেশন) এ কোড করা হয়। জাভাস্ক্রিপ্টের মৌলিক বিষয়গুলো আমাদের জানা আছে কিন্তু ওয়েবসাইট তৈরি করতে চাইলে HTML এবং CSS শেখা জরুরী। এই অনলাইন টিউটোরিয়াল দেখা উচিত:
HTML এবং CSS যখন নখদর্পণে চলে আসবে, তখন জাভাস্ক্রিপ্টের "DOM API" শেখা উচিৎ, এই লাইব্রেরি ওয়েবসাইটে বিভিন্ন কাজে সহায়তা করে থাকে:

নতুন ভাষা শেখা

যদি জাভাস্ক্রিপ্ট শেখা হয়ে যায়, তাহলে নতুন একটি ভাষা শেখা উচিত। শেখার জন্য নিচে কতিপয় ভাষা দেওয়া হল:
লোড করা হচ্ছে