Concepts of Programming Languages & Compiler DesignParadigms, grammars, lexing, parsing, type systems & code generation
আপনি যখন কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজে কোড লেখেন, সেই টেক্সট ফাইল কীভাবে চলমান প্রোগ্রামে পরিণত হয় — এবং কেন Python, C, Rust, Haskell একেকটা ভাষা একেক রকম "অনুভূত" হয়? এই কোর্স প্রোগ্রামিং প্যারাডাইম (ইম্পারেটিভ, OOP, ফাংশনাল, লজিক) থেকে শুরু করে ফরমাল গ্রামার, লেক্সিক্যাল অ্যানালাইসিস (রেগুলার এক্সপ্রেশন, ফাইনাইট অটোমাটা), পার্সিং (রিকার্সিভ ডিসেন্ট, LL, LR), সিমান্টিক অ্যানালাইসিস (সিম্বল টেবিল, স্কোপ), টাইপ সিস্টেম (টাইপ ইনফারেন্স, পলিমরফিজম), নেম বাইন্ডিং, সাবপ্রোগ্রাম ও প্যারামিটার পাসিং, কোড জেনারেশন ও অপ্টিমাইজেশন, এবং রানটাইম মেমরি ম্যানেজমেন্ট পর্যন্ত কভার করে — Data Structures & Algorithmsপার্সার নিজেই stack/tree/graph দিয়ে বানানো হয় — এই কোর্স সরাসরি সেই ডেটা স্ট্রাকচারগুলো বাস্তব প্রয়োগে ব্যবহার করে ও Computer Architectureকম্পাইলারের ব্যাক-এন্ড ঠিক এই কোর্সে কভার করা CPU আর্কিটেকচারকেই টার্গেট করে কোড জেনারেট করে কোর্সের সেতুবন্ধন।
পাঠ ০১ থেকে শুরু করুনএই ট্র্যাকে যা শিখবেন What you'll learn
৫৮টি পাঠ Lesson list
১৩টি মডিউলে ভাগ — PL ফাউন্ডেশন, প্রোগ্রামিং প্যারাডাইম, সিনট্যাক্স ও গ্রামার, লেক্সিক্যাল অ্যানালাইসিস, পার্সিং, সিমান্টিক অ্যানালাইসিস, টাইপ সিস্টেম, নেম/বাইন্ডিং/স্কোপ, কন্ট্রোল ফ্লো, ডেটা টাইপ, সাবপ্রোগ্রাম, কোড জেনারেশন ও অপ্টিমাইজেশন, এবং কেস স্টাডি ও চূড়ান্ত প্রকল্প।