علوم کامپیوتر روی مبل!
۱۷ دی ۱۴۰۳
سالها قبل «لیسانس فیزیک با بیژامه!» رو توی سیتپور خونده بودم و دوست داشتم چیزی مشابه برای کامپیوتر هم وجود میداشت. البته که قصد ندارم یک راهنمای جامع دیگه برای لیسانس کامپیوتر ارائه بدم. رودمپهای کامل و بلند و بالایی توی اینترنت وجود داره که میشه بهشون مراجعه کرد اما اینجا سعی کردم گزیدهای از منابع و کتابهایی که در دوره دانشجویی برای خودم جالبتر بودن رو معرفی کنم. ممکنه چیزهایی خاطرم نبوده و از قلم انداخته باشمشون که به مرور اضافه میکنم.
و اما لیست:
یک زبان برنامهنویسی یاد بگیرین
- c به من درک عمیقتری از لایههای پایینتر کامپیوتر داد. به نظرم کسی که تمرینهای کتاب کرنیگن و ریچی رو کامل حل کرده باشه میتونه ادعا کنه که سی رو بلده.
سیستمعاملها
- استفاده از لینوکس به من درک خوبی از ساختار سیستمعاملهای یونیکسی داد - همینطور LFS
- کتاب طراحی و پیادهسازی سیستمهای عامل - اندرو تننبام
ساختمان داده و الگوریتمها
- ساختمان دادهها - شریفی زارچی
- مقدمهای بر الگوریتمها (CLRS)
- من خیلی اهل رقابت و مسابقه نیستم ولی این کتابها بخش خوبی از پایه الگوریتمیم رو ساختن و خیلی هم در مصاحبههای شغلی ازشون کمک گرفتم. همینطور اگه به المپیاد و برنامهنویسی مسابقهای علاقه دارین ممکنه براتون جالب باشند:
معماری کامپیوترها
- کتاب طراحی دیجیتال (مدار منطقی) - موریس مانو
- کتاب معماری کامپیوتر - موریس مانو
- The Elements of Computing Systems - Nand2Tetris
- ۸۰۸۶ و اسمبلیش نقطه خوبی برای یادگیری اسمبلی و پردازندهها بود.
- chip-8
- esp32
کامپایلرها
- کتاب نظریه زبان ها و اتوماتا - پیتر لینز
- کتاب Dragon
- Crafting Interpreters
شبکه
من بطور جدی با ریاضیات سر و کار ندارم اما اگه کمی برگردم عقبتر با دقت بیشتری ریاضیات و جبر خطی و آمار و احتمال میخونم.