ترجیحا دنبال کتاب های واقعا خوب و نه کتابی که فقط خودتون باهاش حال کرده باشین، هستم. و دنبال یاد گرفتن مفاهیم علوم کامپیوتر و برنامه نویسی هستم و نه یاد گرفتن زبان و یا تکنولوژی خاصی.
و چرا این کتاب رو خوب میدونین؟
ترجیحا دنبال کتاب های واقعا خوب و نه کتابی که فقط خودتون باهاش حال کرده باشین، هستم. و دنبال یاد گرفتن مفاهیم علوم کامپیوتر و برنامه نویسی هستم و نه یاد گرفتن زبان و یا تکنولوژی خاصی.
و چرا این کتاب رو خوب میدونین؟
به نظر من برای آشنا شدن با مفاهیم علوم کامپیوتر بهتره اول از ساختمان داده و طراحی الگوریتم شروع کنیم. که البته این ۲ تا مقوله اونقدر به هم نزدیک هستن که تو هر کتابی که مربوط به یه کدوم هست، به اون یکی هم اشاره شده!
برای ساختمان داده من کتاب Fundamentals of Data Structures از Horowitz رو پیشنهاد میکنم.
برای الگوریتم هم Introduction to Algorithms که به CLRS معروفه…
اگه یه کتاب میخوای بخونی، برو سراغ CLRS چون توی اون یه بخش رو به ساختمان داده اختصاص داده.
CLRS خیلی دید علوم کامپیوتری رو باز میکنه و تو اکثر دانشگاه ها هم به عنوان کتاب source تدریس میشه.
فکر میکنم سری کتاب های deitel مناسب باشه براتون، چون فرض رو بر این گذاشته که شما چیزی از کامپیوتر و برنامه نویسی نمیدونین و همه مفاهیم رو بطور پایه ای توضیح داده. و زبان های سی، سی پلاس پلاس، پایتون و جاوا رو آموزش میده.
مسلما کتاب های دیگه ای هم هستن ولی من خودم برای یادگرفتن سی پلاس پلاس از دیتل استفاده میکنم و به نظرم خوبه.
در کنارش از فیلمای آموزشی هم استفاده کنید بد نیست. مثلا تو سایت فرادرس چیزای خوبی در زمینه برنامه نویسی پیدا میشه.
من کلا با کتاب برای یادگیری کامپیوتر موافق نیستم . خودم هم سر کلاس هیچ وقت از کتاب استفاده نمیکنم .
منتها کتاب اصول سیستم های کامپیوتری تننباوم که تو دانشگاه یادمون میدادن خیلی کتاب مفیدی بود .
بخش اول کتاب راجع به منطق ریاضی کامپیوتر صحبت میکنه و مدار های منطقی رو برسی میکنه .
تو بخش دوم شما با مدار های منطقی یه سی پی یو ساده میسازید و در نهاید در بخش سوم کتاب این سی پی یو رو شروع میکنید به برنامه نویسی کردن با زبان اسمبلی .
خواندن این کتاب و بعد از اون خواندن کتاب کامپایلر شاپوری یه دید کلی از سلسله مراتبی که کامپیوتر رو ساختن به شما میده .