কম্পিউটার বিজ্ঞানের ইতিহাস
১৮৩৭ খ্রীষ্টাব্দে চার্লস ব্যাবেজ একটি বিশ্লেষণধর্মী বা অ্যানালিটিকাল ইঞ্জিন-এর খসড়া তৈরী করেন যার মূল সুবিধাগুলি ছিল - এক্সপ্যান্ডেবেল মেমরি (বিস্তারযোগ্য যান্ত্রিক স্মৃতিশক্তি), গাণিতিক হিসাব করার ক্ষমতা, যুক্তিনির্ভর সিদ্ধান্ত নেওয়ার ক্ষমতা, লুপ ও কন্ডিশনাল ব্রাঞ্চিং(যা আধুনিক প্রোগ্রামিং ভাষাগুলিতে পাওয়া যায়) ইত্যাদি। এই যন্ত্রটিকে বিজ্ঞানীরা বিশ্বের প্রথম কম্পিউটার বলে স্বীকার করে থাকেন এবং ট্যুরিংসমতুল্য বলেও মনে করা হয়।
গ্রেস হপার
এর পর পরই গ্রেস হপার হাওয়ার্ড আইকেনের সংস্পর্শে আসেন। আইকেন তখন মার্কিন নৌবাহিনীর জন্য মার্ক-১ নামের একটি কম্পিউটার তৈরি করছিলেন। হপার এই কম্পিউটারটির ম্যানুয়াল লিখেন। এর পর তিনি এটিকে প্রোগ্রামিং করার কাজ শুরু করেন।
যুদ্ধ শেষে গ্রেস হপার নৌবাহিনীর সক্রিয় দায়িত্ব হতে সরে আসেন, কিন্তু হার্ভার্ড বিশ্ববিদ্যালয়ের অধীনে হার্ভার্ড মার্ক ২ ও মার্ক ৩ যন্ত্রগণকের উপরে কাজ করেন। মার্ক-২ এর উপরে কাজ করার সময় তিনি একটি বিকল রিলে যন্ত্রাংশের মধ্যে একটি মথ (প্রজাপতি) খুঁজে পান, যা সেটিকে বিকল করে দিয়েছিলো। এই মথটির কথা হপার লগবুকে উল্লেখ করেন (মথটি সহ), এবং এই ঘটনা হতেই কম্পিউটারের সমস্যা বা ত্রুটিকে বাগ (Bug = পোকা) বলা হয়ে থাকে।