আমি কলেজ পর্যায়ে সূচনা প্রোগ্রামিং শিখিয়েছি। এটি একটি রুটি ও মাখনের কোর্স ছিল, সমস্ত অনুষদ এটি করেছিল এবং আমি মনে করি আমরা এটি বেশ ভাল করে দিয়েছি। আমরা একটি সাধারণ পাঠ্য অনুসরণ করেছি এবং সাধারণ পরীক্ষা করেছি, তবে আমাদের প্রত্যেকের নিজস্ব শ্রেণিকক্ষ পদ্ধতি ছিল যা কাজ করে। এর পর থেকে এটি অনেক দিন হয়ে গেছে, তবে মাঝে মাঝে প্রোগ্রামিংয়ে কিছু বাচ্চাকে প্রশিক্ষক হিসাবে নিয়ে যেতে পারি, এবং পুরো ছবিটি একই রকম হয়।
আমি এটি করার উপায়টি নীচে শুরু করা, যতটা সম্ভব কংক্রিট। শিক্ষার্থীরা যা জানে তা একটি কাঠামো। তাদের ইতিমধ্যে প্রচুর ধারণা রয়েছে। আমি সেগুলির উপরে আরও ধারণাগুলি তৈরি করছি এবং আমি যেগুলি ধারণাগুলি তৈরি করতে পারে সেগুলি ছাঁটাই করছি। একই সাথে, আমি তাদের করে শিখিয়ে তুলি ।
আমি একটি ইন্টেল 8008 চিপ, কিছু ইপ্রোম এবং কয়েকটি সার্কিট দিয়ে একটি ছোট কম্পিউটার তৈরি করেছি। আই / ও চিপ দু'জন স্পিকারের সাথে সংযুক্ত থাকাকালীন আমি এটি একটি সামান্য দ্বৈত বাজাতে প্রোগ্রাম করেছিলাম। আমি ব্যাখ্যা করব কীভাবে ছোট্ট প্রোগ্রামটি কাজ করেছিল, একটি কাউন্টার গণনা করার জন্য একটি অভ্যন্তরীণ লুপ দিয়ে। এটি বিলম্ব হিসাবে কাজ করবে। তারপরে এটি আউটপুট বিট টগল করবে এবং এটি আবার করবে। এটি কিছুক্ষণের জন্য এটি করবে এবং তারপরে আরেকটি বিলম্বের দিকে স্যুইচ করে, অন্য একটি পিচ প্রদান করবে and মেমরি চিপটিতে একটু টাইমার ছিল এবং আমি যদি টাইমার ইনপুটগুলির একটির অধীনে ক্যাপাসিটারের সীসাটি টেক করি তবে প্রোগ্রামটি আস্তে আস্তে চালিত হবে । ক্লাস স্পিকারকে ক্লিক, ক্লিক, ক্লিক ক্লিক করতে শুনতে পেল ... আমি ক্লাসটি বুঝতে চেয়েছিলাম যে কম্পিউটার একবারে এক ধাপে খুব সাধারণ কাজ করে was। তারপরে আমি ক্যাপাসিটারের সীসাটি আন-হুক করতাম এবং "সংগীত" ফুটে উঠত। (জয়)
তারপরে আমি খুব সাধারণ দশমিক কম্পিউটারের জন্য একটি সিমুলেটর তৈরি করেছি, যার মধ্যে 1000 মেমোরি অবস্থান রয়েছে, যার প্রত্যেকটিতে স্বাক্ষরিত 4-অঙ্কের দশমিক সংখ্যা থাকে। এটিতে "সরল সংযোজক যোগ করুন", "নেতিবাচক হলে লাফিয়ে তোলা" ইত্যাদির মতো খুব সহজ অপকডস ছিল। আমি তাদের এই "মেশিন ল্যাঙ্গুয়েজে", যেমন দুটি সংখ্যা যুক্ত করা, বা সংখ্যার একটি তালিকা যোগ করার মতো ছোট প্রোগ্রাম লিখতে চাই। তারপরে তারা এটিকে একক পদক্ষেপে কাজ করতে বা এন্টার কীটি ধরে রাখার জন্য এটি "দ্রুত" চালানো দেখতে পারে।
এর মূল বিষয়টি এই ধারণাটি রেখেছিল যে কম্পিউটারগুলি কেবলমাত্র খুব অল্প সংখ্যক বিভিন্ন বেসিক অপারেশন করতে পারে এবং তারা এগুলি একসাথে করে। এটি তাদের জটিলতার প্রতিরোধ করার জন্য যে কম্পিউটারগুলি জটিল এবং তারা একই সাথে সমস্ত কিছু করে এবং দর কষাকষি করে আপনার মন পড়ে।
সেখান থেকে আমরা একটি "বাস্তব" ভাষায় প্রোগ্রামিংয়ে চলেছি (বেসিক :) খুব সহজ তবে আকর্ষণীয় প্রোগ্রাম দিয়ে শুরু করে শর্তসাপ, লুপস, অ্যারে, ফাইলগুলি, মার্জিং এবং আরও কিছু মাধ্যমে কাজ করে। বস্তুটি একটি পর্যাপ্ত দক্ষতা সেট স্থাপন করা ছিল যাতে তারা তাদের নিজস্ব পছন্দসই একটি প্রকল্প গ্রহণ করতে পারে, কারণ এটিই কেবল প্রোগ্রামিংকে আকর্ষণীয় করে তোলে - আপনি এটি ব্যবহার করতে পারেন এমন ব্যবহার। আমি প্রকল্পগুলির জন্য কিছু ধারণা ফেলে দেব এবং তারপরে তারা সেখান থেকে এটি নিয়ে যাবে। আমি এটিকে শেষ মুহুর্তে স্থগিত করা থেকে বিরত রাখতে এবং তারপরে আতঙ্কিত হওয়ার জন্য লিখিত ধারণাগুলি এবং তারপরে অগ্রগতি প্রতিবেদনগুলির জন্য জিজ্ঞাসা করব। আমি মনে করি প্রকল্পগুলি সর্বোত্তম অংশ ছিল, কারণ তারা তাদের নিজস্ব শক্তির অধীনে শিখছিল।
কম্পিউটারগুলি কী করে তার পরেও ধারণাটি শিখানো আরও সহজ করে তোলে তার খুব দৃ concrete় বোধের মধ্যে এই প্রাথমিক ভিত্তিতে গ্রাউন্ডিং অন্যথায় আসল স্পিড-বাম্পগুলি যেমন অ্যারে বা (পরবর্তী কোর্সে) পয়েন্টারগুলির মতো হবে। আমরা এই বিস্ময়কর জিনিস হিসাবে "বিমূর্তি" ধারণার গৌরবান্বিত করার ঝোঁক রাখি, তবে এটি আকাশে নয়, একটি কংক্রিট ভিত্তিতে তৈরি করা দরকার।