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