কম্পিউটার বিজ্ঞানের সবথেকে গুরুত্বপুর্ন ধারণা হচ্ছে
কিকরে নতুন নির্দেশ বলে দিতে হয়।
কীভাবে তোমার নিজের শব্দগুলিকে কম্পিউটারের ভাষাতে যোগ করতে হয়।
অনেক কম্পিউটার-ভাষার আছে মাত্র ১০০ এর মত
শব্দ বা কমান্ড। এবং সত্যিই, শিল্প ও যাদু
তোমার নিজের এসব নতুন শব্দে বলে দেয়া আছে
এসব নির্মানের ব্লকগুলিতে। আমরা এসব খেলাধুলায় অহরহ করে থাকি।
উদাহরণস্বরূপ, বাস্কেটবলে,
তুমি dribble করা থেকে শেখা শুরু করলে, কীভাবে layup করতে হয়,
কীভাবে rebound করতে হয়। একবার যখন তুমি
এসব মৌলিক কৌশলগুলি শিখে যাবে, তুমি
নতুন কৌশল শিখবে আর এসবের সাথে জুড়ে দেবে
এসব ব্লক যেমন একটি "pick and roll" কিংবা একটি "give and go"।
তুমি তারপর সেখান থেকে আরো বেশি কিছু করতে পারো
আরো জটিল খেলা। এবং যখন তুমি একবার ঐ খেলা শিখে যাবে
এবং এটিকে একটি নাম দিয়ে দেবে, টিমের সকলে
জানবে কিকরে এটা করতে হয়। একইভাবে তোমাকে
কম্পিউটারকে একবারের জন্য শেখাতে হবে কিকরে কাজটা করতে হয়
এসব নির্দেশাবলীর অনুক্রম ব্যবহার করে, তুমি ঐ কাজটি তোমার ইচ্ছেমত নামে বানাতে পারো যেন তা আরো সহজ হয়
পরে পুনরাবৃত্তি করার জন্য। যখন তুমি তোমার নিজের
নির্দেশ বলে দেবে এবং একে একটি নাম দিয়ে দেবে, একে বলা হবে
একটি function. যখন ব্লক দিয়ে প্রোগ্রামিং করতে হয়,
তুমি ফাংশন ব্যবহার করতে পারো যদি সেখানে
একই রকম কিছু কাজ থাকে আর তা তুমি বহুবার ব্যবহার করতে পারো।
উদাহরণস্বরূপ, তুমি কোড লিখেছো
একটি বর্গ বানাবার জন্য। তুমি এটিকে একটি ফাংশন করে বলতে পারো "create a square"। এখন তোমার আছে এক নতুন
ব্লক যা তুমি বহুবার ব্যবহার করতে পারো বহু বর্গ তৈরিতে।
অনেক সহজ সরল আকৃতিকে
ব্যবহার করা যায় আরো বেশি জটিলসব নকশা তৈরিতে।
পরের puzzle এ, তোমার মাত্র লেখা বৃত্তের কোডগুলো
একটি ফাংশনের মতো হয়ে তোমার কাছে চলে আসবে
যা নানান আকারের ভিন্ন ভিন্ন বৃত্ত আঁকতে পারে।
তুমি কি এগুলিকে ব্যবহার করে এল্সাকে সাহায্য করতে পারবে
যেন সে তুষারের ওপর জটিল আর সুন্দর সব নকশা বানাতে পারে?