معرفی کتاب‌های آموزشی الگوریتم و ساختمان داده

قدیم‌ترها در حالی که اینترنت و این همه امکاناتی که الان برای یادگیری داریم کم بود، با کتاب‌ها میونه بهتری داشتیم و لذت غرق شدن در بین صفحات کتاب را بیشتر تجربه میکردیم، ممکن است جزو کسانی باشید که عاشق کتابخانی و یادگیری موضوعات مختلف از روی کتاب هستید، همین که کتاب را در دست بگیرید و یک لیوان قهوه در کنارتان روی میز بگذارید و با ورق زدن صفحات کتاب بوی خوشی به مشامتان برسد. حتی یادداشت کردن نکات ریز و یا چسباندن برچسب‌های رنگی لای صفحات کتاب کلی کیف دارد…

همه میپرسند از بین منابع آموزشی مختلف، مثل خواندن کتاب، دیدن ویدئو، گوش دادن به پادکست‌های آموزشی کدام یک میتواند بهترین گزینه باشد؟

واقعیت این است که این موضوع کاملا به خود شخص بستگی دارد، باید بتوان با امتحان کردن روش‌های مختلف این را تا حدودی فهمید که آیا با خواندن کتاب بیشتر یادمیگرید و لذت میبرید و یا با دیدن ویدئو؟

در طول یادگیری برنامه‌نویسی علاوه بر انتخاب کردن منابع مناسب باید با تمرین، حل مسئله و یا انجام دادن پروژه‌های کوچک همراه باشید. برنامه‌نویسی، مهارتی است که باید در ابتدا با تفکر و سپس با پیاده‌سازی انجام شود و طبیعتا بدون تفکر مناسب نمی‌توانیم مسئله را حل کنیم و بدون مهارت پیاده‌سازی، عملا هیچ خروجی خاصی نخواهیم داشت. به همین دلیل رویکرد مسئله محور دارای اهمیت بسیاری است.

برای یادگیری برنامه‌نویسی میتوان مستقیم به سراغ یادگیری دست کم یک زبان برنامه‌نویسی رفت و با حل چند تمرین روتین و ساده مثل چاپ سری فیبوناچی یا ضرب و تقسیم و اعداد و دیدن خروجی دلچسب از خود بی خود شد و احساس خوبی پیدا کرد. برای مثال فرض کنید از طریق ویدئوی آموزشی میخواهیم اصول و ساختار برنامه‌نویسی را یاد بگیریم، اگر مدرس صرفا چند مثال را روی محیط ویراشگر کد خودش بنویسد و ما هم از روی همان کپی کنیم، باعث میشود امکان تفکر از ما گرفته شود و فقط بتوانیم کدهایی که مدرس مینویسد را بفهمیم…اما اگر چند تمرین و حل مسئله جلوی رویمان قرار گیرد امکان محک زدن میزان دانشمان را خواهیم داشت و در نتیجه در آینده‌ای که با برنامه نویسی پیش رو داریم میتوانیم با دانش کامل از یک زبان برنامه‌نویسی هر چیزی که دلمان میخواهد را به برنامه بفهمانیم و موفق‌تر باشیم.

همه اینها را گفتیم تا برسیم به اینکه، بهتر است برای شروع یادگیری برنامه نویسی ابتدا، الگوریتم نویسی را یاد بگیریم و تفکر الگوریتمی، حل مسئله و تمرین زیاد را از ملزومات ورود به دنیای برنامه نویسی بدانیم.

در این جا میخواهیم چند کتاب مفید در این زمینه را به شما معرفی کنیم:

  1. کتاب طراحی الگوریتم با رویکردی خلاقانه(Introduction to Algorithms: ACreative Approach)

این کتاب با بررسی و آموزش فرآیند توسعه الگوریتم‌ها، بر جنبه‌های خلاقانه طراحی الگوریتم تأکید دارد. قلب این فرایند خلاق در قیاس بین اثبات قضایای ریاضی با القای و طراحی الگوریتم‌های ترکیبی نهفته است. این کتاب شامل صدها حل مسئله و مثال است و برای ارتقاء توانایی‌های حل مسئله و درک اصول طراحی الگوریتم طراحی شده است. در این کتاب علاوه بر معرفی تکنیک‌های مختلف طراحی الگوریتم‌ها و روش‌های حل برخی مسائل الگوریتمی، روش‌های تحلیل و حل آنها با جزئیات بیشتر و به صورت گام به گام بررسی شده است. و از جمله منابع اصلی پیشنهادی به متقاضیان شرکت در المپیادهای کامپیوتر و مسابقات برنامه‌نویسی برای یادگیری طراحی و تحلیل الگوریتم‌ها است.

۲. کتاب آشنایی با الگوریتم‌ها(Introduction to Algorithms)

این کتاب از انتشارات دانشگاه MIT می‌باشد و برای آشنایی با ساختمان داده‌ها نیز میتواند استفاده شود. کتابی است که توسط توماس اچ کورمِن، چارلز ای لایسرسان، رونالد ریوست و کلیفورد استین تالیف شده‌است. این کتاب به عنوان کتاب درسی برای دروس الگوریتم در بسیاری از دانشگاه‌های جهان استفاده می‌شود. این کتاب همچنین یکی از رایجترین منابع برای الگوریتم در مقالات منتشر شده می‌باشد. کتاب مذکور نیم میلیون نسخه در طول ۲۰ سال اول خود فروش داشته‌است. در اولین ویرایش این کتاب درسی استین به عنوان یک نویسنده حضور نداشته و به این ترتیب این کتاب با نام مخفف CLR (متشکل از حروف ابتدایی نام خانوادگی نویسندگان) شناخته می‌شد. پس از اضافه شدن نویسنده چهارم به جمع نویسندگان در ویراست دوم، این کتاب با نام مخفف CLRS شناخته شد. این نسخه اولین نسخه‌ای از کتاب بود که با عنوان “کتاب بزرگ سفید (الگوریتم)” شناخته می‌شد.

۳. کتاب برنامه‎‌نویسی به زبان C++

نویسنده این کتاب معروف، عین الله جعفرنژاد قومی می‎‌باشد. معمولا از این کتاب در درس مبانی برنامه نویسی استفاده می‌شود. ممکن است شما هم در هنگام جستجو در لابه لای کتب آموزشی زبان های برنامه نویسی به این نام برخورده اید. یکی از بهترین و بی نظیرترین تالیفات ایشان کتاب آموزش برنامه نویسی Cو C++ است که تقریبا تمامی دانشجویان رشته های مهندسی نرم افزار وIT ایران از آن به عنوان یکی از بهترین مراجع یادگیری این زبان یاد می کنند…

۴. کتاب Code Complete

این کتاب نوشته استیو مک کانل، کتابی است که اولین بار در سال ۱۹۹۳ توسط Microsoft Press چاپ و منتشر شد. نکته قابل توجهی که این کتاب دارد این است که اصلاً اهمیتی ندارد که شما چقدر تجربه کدنویسی دارید یا به چه زبانی کد میزنید و یا ابعاد پروژه شما چقدر است بلکه بدون در نظر گرفتن هرگونه پیش‌فرضی، این کتاب به خواننده آگاهی داده و او را به فکر کردن و ایده‌پردازی ترغیب می‌کند. در حقیقت با مقایسه منابع موجود در زمینه برنامه‌نویسی کاربردی، آقای استیو در کتاب Code Complete دست به ترکیب مؤثرترین تکنیک‌ها و اصول ضروری برنامه‌نویسی زده و آن‌ها را به شکلی روشن و شفاف در قالب یک راهنمای عملی ارائه کرده است…

۵. کتاب Clean Code

کلین کد کتابی است که در آن رابرت سسیل مارتین مبحثی کاملاً نو و انقلابی در رابطه با کدنویسی ارائه کرده است. این کتاب نکات مورد نیاز برای تبدیل شدن به یک استاد مسلط بر برنامه‌نویسی را در اختیار مخاطب قرار می‌دهد و از سه بخش تشکیل شده است: بخش اول اشاره دارد به اصول، نمونه‌ها و روش‌های مختلف توسعهٔ نرم‌افزار. بخش دوم هم به مطالعات موردی مختلف در رابطه با پیچیدگی فزاینده در دنیای کدنویسی اختصاص داده شده است. سومین بخش کتاب هم شامل لیستی از نکات و مواردی که در فرآیند انجام مطالعات، استخراج و جمع‌آوری شده‌اند می‌باشد. لازم به ذکر است که مهم‌ترین دستاوردتان پس از خواندن این کتاب، کسب دانش مورد نیاز برای فکر کردن، نوشتن، خواندن و انتخاب کدهای مناسب از کدهای نامناسب است.

فایل این کتاب را از اینجا دانلود کنید. http://zerobook.ir/

و در پایان هم لازم است یادی از شعار معروف لینوس تروالدز که میگفت:

Talk is cheap, show me the code

Leave a comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *