پرش به محتوای صفحه

برنامه‌نویسی

در این دسته کتاب‌های آموزش برنامه‌نویسی گرد آمده است؛ از نخستین قدم‌ها در پایتون تا پروژه‌های کاربردی در هوش مصنوعی و رشته‌های مهندسی.
کتاب‌های این دسته۵۰۰ کتاب
چینشپرفروش‌ترین
جلد کتاب آموزش گام به گام برنامه سازی به زبان #C

عین الله جعفرنژاد قمی

علوم رایانه

۵٪۱٬۶۰۰٬۰۰۰۱٬۵۲۰٬۰۰۰تومان
جلد کتاب آموزش تصویری زبان برنامه نویسی جاوا از مقدماتی تا پیشرفته
۵٪۵۰۰٬۰۰۰۴۷۵٬۰۰۰تومان
جلد کتاب مهندسی نرم افزار جلد1

راجر.اس.پرسمن، بروس آر. ماکسیم

ترجمه‌ی ابراهیم عامل محرابی، عین اله جعفرنژادقمی

علوم رایانه

۵٪۱٬۰۰۰٬۰۰۰۹۵۰٬۰۰۰تومان
جلد کتاب مهندسی نرم افزار جلد2

راجر.اس.پرسمن، بروس آر. ماکسیم

ترجمه‌ی ابراهیم عامل محرابی، عین اله جعفرنژادقمی

علوم رایانه

۵٪۶۰۰٬۰۰۰۵۷۰٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان اسمبلی

عین الله جعفرنژاد قمی، رمضان عباس نژاد

علوم رایانه

۵٪۷۵۰٬۰۰۰۷۱۲٬۵۰۰تومان
جلد کتاب آموزش کاربردی PostGIS

آنجل مارکز

ترجمه‌ی مسعود مینائی، فاطمه ناقدی مهر، مرضیه امینی

علوم رایانه

۵٪۴۰۰٬۰۰۰۳۸۰٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان پایتون

عین الله جعفرنژاد قمی، محمدجعفرنژاد قمی

علوم رایانه

۵٪۱٬۲۰۰٬۰۰۰۱٬۱۴۰٬۰۰۰تومان
جلد کتاب برنامه نویسی وسفارشی کردن میکروکنترلر AVR با CD

دهانانجی وی.گارد

ترجمه‌ی قدرت الله سپیدنام

علوم رایانه

۵٪۶۵۰٬۰۰۰۶۱۷٬۵۰۰تومان
جلد کتاب مرجع کامل پردازش تصویر دیجیتال با پایتون

مانیش کاشیپ

ترجمه‌ی عین اله جعفرنژادقمی

علوم رایانه

۵٪۸۵۰٬۰۰۰۸۰۷٬۵۰۰تومان
جلد کتاب مقدمه ای برالگوریتم ها ج1

توماس اچ. کورمن، چارلز ای. لیزرسان، رونالد ال.رایوست، کلیفورد استین

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۸۵۰٬۰۰۰۸۰۷٬۵۰۰تومان
جلد کتاب آموزش گام به گام My SQL

عین الله جعفرنژاد قمی

علوم رایانه

۵٪۶۰۰٬۰۰۰۵۷۰٬۰۰۰تومان
جلد کتاب آموزش گام به گام برنامه نویسی به زبان جاوا

عین الله جعفرنژاد قمی

علوم رایانه

۵٪۲٬۵۰۰٬۰۰۰۲٬۳۷۵٬۰۰۰تومان
جلد کتاب برنامه نویسی شبکه با پایتون (سوکت ها

لاسلو بوچو

ترجمه‌ی مریم قدیمی نیک

علوم رایانه

۵٪۷۰۰٬۰۰۰۶۶۵٬۰۰۰تومان
جلد کتاب آموزش جامع SQL و SQL Server همراه با مثال های کاربردی و هدفمند
۵٪۷۰۰٬۰۰۰۶۶۵٬۰۰۰تومان
جلد کتاب پردازش تصویر دیجیتال با MATLAB

جواد وحیدی، سارا فرزای

علوم رایانه

۵٪۱٬۲۰۰٬۰۰۰۱٬۱۴۰٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان اسمبلی در معماری 64بیتی مدرن

عین الله جعفرنژاد قمی

علوم رایانه

۵٪۵۵۰٬۰۰۰۵۲۲٬۵۰۰تومان
جلد کتاب برنامه نویسی به زبان جاوا

عین اله جعفرنژادقمی

علوم رایانه

۵٪۲٬۱۰۰٬۰۰۰۱٬۹۹۵٬۰۰۰تومان
جلد کتاب اتوماسیون شبکه با پایتون

تامسون کارتر

ترجمه‌ی مریم قدیمی نیک

علوم رایانه

۵٪۴۵۰٬۰۰۰۴۲۷٬۵۰۰تومان
جلد کتاب اصول طراحی وبرنامه نویسی تحت وب

عین الله جعفرنژاد قمی

علوم رایانه

۵٪۹۵۰٬۰۰۰۹۰۲٬۵۰۰تومان
جلد کتاب کامپایلرها: اصول

آلفرد وی. ای هو، مانیکا اس. لام، راوی ستهی، جفری دی. اولمن

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۸۵۰٬۰۰۰۸۰۷٬۵۰۰تومان
جلد کتاب مفاهیم سیستم های پایگاه داده ج2

هنری اف. کورت، اس. سودارشان، آبراهام سیلبرشاتس

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۸۰۰٬۰۰۰۷۶۰٬۰۰۰تومان
جلد کتاب VHDL برنامه نویسی با مثال ویراست 4

داگلاس پری

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۹۵۰٬۰۰۰۹۰۲٬۵۰۰تومان
جلد کتاب آموزش گام به گام برنامه نویسی اپلیکیشن های اندروید با اندروید استودیو
۵٪۹۰۰٬۰۰۰۸۵۵٬۰۰۰تومان
جلد کتاب برنامه نویسی با زبان جولیا

عین اله جعفرنژادقمی

علوم رایانه

۵٪۹۵۰٬۰۰۰۹۰۲٬۵۰۰تومان
جلد کتاب طراحی و پیاده سازی زبانهای برنامه سازی

ترنس دبلیو.پرات، مارون وای.زیلکوویتز

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۱٬۲۰۰٬۰۰۰۱٬۱۴۰٬۰۰۰تومان
جلد کتاب رایانش کوانتومی با پایتون

ریچارد جانسون

ترجمه‌ی عین اله جعفرنژادقمی

علوم رایانه

۵٪۹۰۰٬۰۰۰۸۵۵٬۰۰۰تومان
جلد کتاب برنامه نویسی موازی و همروند در پایتون

پایپر شاو

ترجمه‌ی عین الله جعفرنژاد قمی

علوم رایانه

۵٪۵۰۰٬۰۰۰۴۷۵٬۰۰۰تومان
جلد کتاب برنامه نویسی علمی کارآمد با Julia مقدماتی

مجتبی محمدی، حامد کارگران، مهدی زنگیان

دانش نگار

۵٪۴۵۰٬۰۰۰۴۲۷٬۵۰۰تومان
جلد کتاب برنامه‌نویسی آزمایش‌های رفتاری در متلب و سایک‌تولباکس 9 گام ساده برای دانشجویان و پژوهشگران
۵٪۲۷۸٬۰۰۰۲۶۴٬۱۰۰تومان
جلد کتاب مدل سازی معادلات ساختاری به کمک نرم افزار لیزرل اموزشی و کاربردی

محمدرحیم اسفیدانی، شهریار محسنین

کتاب مهربان

۱۰٪۳۵۰٬۰۰۰۳۱۵٬۰۰۰تومان
جلد کتاب معامله گر کوانت راهنمای جامع طراحی سیستم های معاملات الگوریتمی

ErnestP.jan&quot، ارنست پی. جان&quot

ترجمه‌ی سیدحجت وکیلی

چالش

۱۰٪۵۲۰٬۰۰۰۴۶۸٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان ++C علامه حلی (جلد سوم)

عطیه پوردرخشان، لادن جاماسبی، پویان علی پناهی

علامه حلی

۲۵٪۴۱۶٬۰۰۰۳۱۲٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان ++C علامه حلی (جلد دوم)

عطیه پوردرخشان، لادن جاماسبی

علامه حلی

۲۵٪۳۸۵٬۰۰۰۲۸۸٬۷۵۰تومان
جلد کتاب برنامه نویسی پایتون 2 علامه حلی

علیرضا صالحه، محمدرضا جهانگیر، علی اکبر محمدی ساعی

علامه حلی

۲۵٪۴۹۴٬۰۰۰۳۷۰٬۵۰۰تومان
جلد کتاب برنامه نویسی پایتون 1 علامه حلی

علیرضا صالحه، شهاب قدسی، محمدرضا جهانگیر

علامه حلی

۲۵٪۴۹۴٬۰۰۰۳۷۰٬۵۰۰تومان
جلد کتاب برنامه‌نویسی و حل مسأله با ++C

نل دیل

ترجمه‌ی علی معینی، محمدعلی پورپاک

دانشگاه تهران

۵٪۸۵۵٬۰۰۰۸۱۲٬۲۵۰تومان
جلد کتاب پردازش کامپیوتری تصاویر سنجش از دور 3032 (همراه CD)

پاول ام می تر

ترجمه‌ی جلال امینی

دانشگاه تهران

۵٪۱٬۹۰۰٬۰۰۰۱٬۸۰۵٬۰۰۰تومان
جلد کتاب برنامه نویسی پایتون و کاربرد آن در هوش مصنوعی

محمدجواد حسین پور

ترجمه‌ی سیدعباس باقری یزدی

دیباگران تهران

۱۰٪۱٬۳۰۰٬۰۰۰۱٬۱۷۰٬۰۰۰تومان
جلد کتاب پروژه های کاربردی هوش مصنوعی در پایتون

جاوید مولاپور

ترجمه‌ی سیدعباس باقری یزدی

دیباگران تهران

۱۰٪۷۵۰٬۰۰۰۶۷۵٬۰۰۰تومان
جلد کتاب پروژه های کاربردی علم داده در پایتون

جاوید مولاپور

دیباگران تهران

۱۰٪۹۲۰٬۰۰۰۸۲۸٬۰۰۰تومان
جلد کتاب وب کاوی با Scrapy, Selenium, BeautifulSoup

نیما شفیعی رضوانی نژاد، افشین اسمعیل زاد آهندانی

دیباگران تهران

۱۰٪۲۰۰٬۰۰۰۱۸۰٬۰۰۰تومان
جلد کتاب پایتون مقدماتی ( با پروژه های خلاقانه و کاربردی )

ایمان فرهی پرشگفتی، مریم حیدری سروستانی

دیباگران تهران

۱۰٪۱٬۳۰۰٬۰۰۰۱٬۱۷۰٬۰۰۰تومان
جلد کتاب وب اسکرپینگ با پایتون

نیما شفیعی رضوانی نژاد، بهاره بهروز

دیباگران تهران

۱۰٪۷۵۰٬۰۰۰۶۷۵٬۰۰۰تومان
جلد کتاب هر آنچه از پایتون باید بدانید

حسین سیدی

دیباگران تهران

۱۰٪۷۸۰٬۰۰۰۷۰۲٬۰۰۰تومان
جلد کتاب مفاهیم سیستم عامل ربات Ros 2

نوید ضرابی

دیباگران تهران

۱۰٪۶۲۰٬۰۰۰۵۵۸٬۰۰۰تومان
جلد کتاب مرجع کامل پایتون

پریسا زارعی، صفا لشکر آرا

دیباگران تهران

۱۰٪۲٬۳۰۰٬۰۰۰۲٬۰۷۰٬۰۰۰تومان
جلد کتاب مرجع کامل و کاربردی یادگیری ماشین ( به همراه پایتون )
۱۰٪۲٬۰۰۰٬۰۰۰۱٬۸۰۰٬۰۰۰تومان
جلد کتاب مرجع زبان فرمول نویسی M در پاورکوئری ( Power Query )

روزبه امیرعصامی

دیباگران تهران

۱۰٪۸۰۰٬۰۰۰۷۲۰٬۰۰۰تومان
جلد کتاب مباحث پیشرفته در پایتون

سیاوش گنجی

دیباگران تهران

۱۰٪۲۳۵٬۰۰۰۲۱۱٬۵۰۰تومان
جلد کتاب لینوکس مقدماتی و پیشرفته آمادگی آزمون LPIC 1-2
۱۰٪۱٬۶۰۰٬۰۰۰۱٬۴۴۰٬۰۰۰تومان
جلد کتاب علم داده در پایتون ( مفاهیم و کاربردها )

محسن یزدی نژاد

دیباگران تهران

۱۰٪۷۵۰٬۰۰۰۶۷۵٬۰۰۰تومان
جلد کتاب ساختمان داده ها با پیاده سازی در پایتون و جاوا
۱۰٪۴۲۰٬۰۰۰۳۷۸٬۰۰۰تومان
جلد کتاب ریاضیات و برنامه نویسی با MATLAB

مجتبی کوشا

دیباگران تهران

۱۰٪۱٬۰۰۰٬۰۰۰۹۰۰٬۰۰۰تومان
جلد کتاب راهنمای جامع فریم ورک Tailwind CSS

ایمان احراری

دیباگران تهران

۱۰٪۳۵۰٬۰۰۰۳۱۵٬۰۰۰تومان
جلد کتاب راهنمای جامع برنامه نویسی R (مقدماتی و پیشرفته)
۱۰٪۹۰۰٬۰۰۰۸۱۰٬۰۰۰تومان
جلد کتاب جاوا اسکریپت با طعم ری اکت ( آموزش کامل و جامع جاوا اسکریپت ، همراه کتابخانه ری اکت 19 )
۱۰٪۱٬۰۰۰٬۰۰۰۹۰۰٬۰۰۰تومان
جلد کتاب جنگو را قورت بده

فرزاد لطیف نیا

دیباگران تهران

۱۰٪۸۸۰٬۰۰۰۷۹۲٬۰۰۰تومان
جلد کتاب توسعه صفحات وب موبایل با AMP

این کتاب:علی کریمخانی

دیباگران تهران

۱۰٪۱۶۸٬۰۰۰۱۵۱٬۲۰۰تومان
جلد کتاب بلوک های اولیه در جاوا اسکریپت

الهام سلطانی رضایی، محسن حسینی مهر

دیباگران تهران

۱۰٪۱٬۵۰۰٬۰۰۰۱٬۳۵۰٬۰۰۰تومان
جلد کتاب متخصص جاوا

امیرحسین قبادی

دیباگران تهران

۱۰٪۵۲٬۰۰۰۴۶٬۸۰۰تومان

درباره‌ی برنامه‌نویسی

برنامه‌نویسی را می‌شود از هزار راه یاد گرفت: فیلم، دوره‌ی آنلاین، مقاله، کلاس. پس چرا هنوز خیلی‌ها سراغ کتاب می‌روند؟ چون کتاب چیزی دارد که بقیه کم دارند: ترتیب. کتاب خوب برنامه‌نویسی شما را از اول تا آخر مرحله‌به‌مرحله می‌برد، مثال‌ها را به هم وصل می‌کند و به شما فرصت می‌دهد هر صفحه را دوباره بخوانید و با کد خودتان امتحان کنید. این صفحه راهنمای شماست برای انتخاب کتاب در دسته‌ی برنامه‌نویسی: از آموزش الگوریتم و فلوچارت برای مبتدی‌ها تا ری‌اکت، پایگاه داده و نظریه‌ی محاسبات.

چه نوجوانی باشید که می‌خواهید اولین برنامه‌تان را بنویسید، چه دانشجوی رشته‌ی کامپیوتر یا مهندسی که به یک منبع منظم نیاز دارد، چه کسی که می‌خواهد شغلش را عوض کند، ادامه‌ی این متن به شما کمک می‌کند بدانید از کجا شروع کنید.

چرا کتاب برای یادگیری برنامه‌نویسی هنوز جواب می‌دهد؟

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

چند مزیت دیگر هم دارد:

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

البته کتاب به‌تنهایی کافی نیست. برنامه‌نویسی مثل شنا یاد گرفتن است: نمی‌شود فقط خواند. باید کد نوشت، خطا گرفت و اصلاح کرد. کتاب بهترین همراه است، نه جایگزین تمرین.

برنامه‌نویسی را از کجا شروع کنیم؟

سؤال اول تقریبا همه این است: با کدام زبان شروع کنم؟ حقیقت این است که زبان اول از مفهوم اول کم‌اهمیت‌تر است. بیشتر زبان‌ها مفاهیم مشترکی دارند: متغیر، شرط، حلقه، تابع. وقتی یکی را خوب بفهمید، رفتن به بعدی سریع می‌شود. اما پیش از هر زبان، فکر کردن به شیوه‌ی برنامه‌نویسی یعنی الگوریتم و منطق را تمرین کنید.

الگوریتم و فلوچارت: زبان پیش از زبان

در فهرست این دسته چند کتاب دارید که به الگوریتم و فلوچارت اختصاص دارند، مثل «الگوریتم و فلوچارت» و «آموزش الگوریتم و فلوچارت به زبان ساده». الگوریتم یعنی مراحل حل یک مسئله به ترتیب و بدون ابهام، و فلوچارت یعنی رسم همین مراحل با شکل‌ها. کسی که این دو را بلد باشد، هر زبانی را بهتر یاد می‌گیرد چون مسئله را پیش از نوشتن کد فهمیده است.

مثال ساده: فرض کنید بخواهید بزرگ‌ترین عدد میان سه عدد را پیدا کنید. پیش از هر زبان، به این فکر کنید که خودتان چطور این کار را می‌کردید. اولی را نگه می‌دارید، دومی را با آن مقایسه می‌کنید، هر کدام بزرگ‌تر بود می‌ماند، بعد سومی. همین «نگه داشتن و مقایسه» یک الگوریتم است. فلوچارت آن را با چند جعبه و فلش نشان می‌دهد. کد فقط ترجمه‌ی همین است.

انتخاب زبان اول

اگر می‌خواهید یک زبان ساده و خوانا انتخاب کنید، پایتون معمولا اولین پیشنهاد است. اگر هدف‌تان دانشگاه و مبانی است، ممکن است زبان درس شما سی، سی‌پلاس‌پلاس یا سی‌شارپ باشد. در فهرست ما «مبانی الگوریتم و برنامه‌نویسی مقدماتی» با سی‌شارپ و «آموزش سی‌شارپ برای نوجوانان (مقدماتی و پیشرفته)» را می‌بینید. عنوان دوم نشان می‌دهد که زبان با رویکردی برای نوجوان‌ها آموزش داده می‌شود.

سطح خود را بشناسید

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

برنامه‌نویسی وب: از ری‌اکت تا وردپرس

خیلی از خواننده‌ها با هدف ساختن وب‌سایت سراغ برنامه‌نویسی می‌آیند. در این مسیر دو راه اصلی هست.

راه اول: ساختن با ابزار آماده

وردپرس ابزاری است که ساختن یک وب‌سایت را بدون کد نویسی زیاد ممکن می‌کند. کتاب‌های «آموزش وردپرس به زبان ساده» و «آموزش وردپرس پیشرفته» از نامشان پیداست که یکی برای شروع و دیگری برای مرحله‌ی بعد است. اگر می‌خواهید سریع یک سایت شخصی، وبلاگ یا فروشگاه کوچک راه بیندازید، این مسیر کوتاه‌تر است. البته وقتی نیاز به سفارشی‌سازی بیشتر داشته باشید، کم‌کم به کد نویسی هم می‌رسید.

راه دوم: کد نویسی از پایه

وقتی می‌خواهید هر جزء سایت را خودتان بسازید، به ابزارهایی مثل ری‌اکت نیاز پیدا می‌کنید. کتاب «پروژه‌های ری‌اکت» از نامش پیداست که رویکرد پروژه‌محور دارد؛ یعنی یادگیری از راه ساختن چیزهای واقعی. این نوع کتاب‌ها برای کسانی مناسب‌اند که مبانی را می‌دانند و می‌خواهند وارد مرحله‌ی ساختن شوند. پیش از خرید ببینید نیاز است چه چیزهایی را از قبل بلد باشید.

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

کتاب‌های پایه‌ای که برنامه‌نویس حرفه‌ای هم به آن‌ها برمی‌گردد

یک اشتباه رایج این است که فقط دنبال ابزار روز باشیم. ابزارها عوض می‌شوند، ولی مبانی می‌ماند. به همین دلیل کتاب‌هایی که درباره‌ی موضوع‌های بنیادی نوشته شده‌اند، ارزش طولانی‌مدت دارند.

نظریه‌ی محاسبات

کتاب «مقدمه‌ای بر نظریه محاسبات» به بنیادی‌ترین پرسش‌ها می‌پردازد: چه چیزهایی را رایانه اصلا می‌تواند حل کند و چه چیزهایی را نه. این کتاب بیشتر برای دانشجوی کامپیوتر و علاقه‌مند به مبانی نظری است. برای کسی که فقط می‌خواهد برنامه بنویسد، لازم نیست، ولی برای فهم عمیق‌تر خیلی جذاب است.

پایگاه داده

تقریبا هر برنامه‌ی جدی جایی داده نگه می‌دارد. «مفاهیم سیستم‌های پایگاه داده» (جلد اول) از این جنس است و برای کسی که می‌خواهد بفهمد داده چطور ذخیره، جست‌وجو و مدیریت می‌شود مناسب است. پایگاه داده جایی است که برنامه‌نویس عادی و متخصص داده به هم می‌رسند. اگر به این مسیر علاقه دارید، دسته‌ی هوش مصنوعی و داده هم خواندنی است.

الگوریتم‌ها

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

پردازش تصویر و کاربردهای مهندسی

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

عنوان‌های نمونه در یک نگاه

برای اینکه تنوع دسته را ببینید، این فهرست را مرور کنید. همه‌ی توصیف‌ها از روی نام کتاب است و برای جزئیات باید صفحه‌ی خود کتاب را بخوانید.

  • «پروژه‌های ری‌اکت»: آموزش پروژه‌محور برای علاقه‌مندان وب.
  • «مبانی الگوریتم و برنامه‌نویسی مقدماتی»: برای شروع، با تکیه بر سی‌شارپ.
  • «آموزش سی‌شارپ برای نوجوانان (مقدماتی و پیشرفته)»: برای نوجوان علاقه‌مند.
  • «مقدمه‌ای بر نظریه محاسبات»: بنیادی و نظری.
  • «مفاهیم سیستم‌های پایگاه داده (ج۱)»: مرجع درباره‌ی داده.
  • «الگوریتم و فلوچارت» و «آموزش الگوریتم و فلوچارت به زبان ساده»: برای فهم مراحل حل مسئله.
  • «آموزش وردپرس به زبان ساده» و «آموزش وردپرس پیشرفته»: برای ساختن وب‌سایت با ابزار آماده.
  • «پردازش تصویر دیجیتال با متلب»: کاربرد برنامه‌نویسی در حوزه‌ی تصویر.

در این دسته عنوان‌های دیگری هم دیده می‌شود که به رایانه و ابزارهای دیگر مربوط‌اند؛ اگر دنبال کتاب رایانه‌ی عمومی می‌گردید، نگاهی هم به کامپیوتر و فناوری بیندازید.

چطور کتاب برنامه‌نویسی مناسب را انتخاب کنیم؟

هدف‌تان را بنویسید

می‌خواهید شغل پیدا کنید، درس دانشگاه بگذرانید، سایت بسازید یا فقط سرگرمی؟ هر هدف کتاب خودش را دارد. برای شغل، پروژه‌محور مفید است. برای درس، همان کتاب معرفی‌شده. برای سرگرمی، کتاب ساده و کوتاه.

سن و سطح را در نظر بگیرید

کتاب نوجوان با کتاب دانشگاهی فرق دارد. اولی با مثال‌های ساده و جذاب شروع می‌کند و دومی سریع وارد نظریه می‌شود. اگر برای فرزندتان کتاب می‌خرید، نام «برای نوجوانان» در عنوان راهنمای خوبی است.

به تاریخ و نسخه‌ی ابزار دقت کنید

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

پروژه‌محور یا نظری؟

بعضی از آدم‌ها با ساختن چیز یاد می‌گیرند و بعضی با فهمیدن اصل. ببینید کدام شما را بیشتر پیش می‌برد. می‌توانید ترکیب هم بکنید: کتاب نظری برای پایه و کتاب پروژه‌محور برای تمرین.

وجود تمرین و راه‌حل

کتابی که تمرین دارد ولی جواب ندارد، گاهی شما را رها می‌کند. اگر خودآموز هستید، دنبال کتابی بگردید که مثال حل‌شده و توضیح مرحله‌به‌مرحله داشته باشد.

مسیر پیشنهادی برای یک مبتدی

اگر می‌خواهید بدون سردرگمی پیش بروید، این ترتیب را امتحان کنید.

  1. اول با یک کتاب الگوریتم و فلوچارت، فکر کردن مرحله‌ای را تمرین کنید.
  2. بعد یک زبان انتخاب کنید و با کتاب مقدماتی آن مبانی را یاد بگیرید: متغیر، شرط، حلقه و تابع.
  3. هر فصل را با چند تمرین کوچک تمام کنید، حتی اگر ساده به نظر می‌رسد.
  4. یک پروژه‌ی کوچک بسازید: ماشین حساب، لیست کارها، بازی حدس عدد.
  5. بعد سراغ موضوع‌های کاربردی بروید: وب، پایگاه داده یا کاربردهای مهندسی.
  6. در نهایت، اگر علاقه‌مندید، کتاب‌های نظری‌تر مثل نظریه‌ی محاسبات را بخوانید.

نکته‌ی مهم این است که پیش از تمام شدن یک مرحله، عجله نکنید. یک مبتدی که مبانی را محکم بلد باشد، خیلی سریع‌تر از کسی که همه‌جا را نیمه‌کاره رفته پیشرفت می‌کند.

اشتباه‌های رایج در یادگیری برنامه‌نویسی از روی کتاب

فقط خواندن، بدون کد زدن

بزرگ‌ترین اشتباه. اگر هر فصل را فقط بخوانید و کدی ننویسید، ظرف چند روز همه‌چیز را فراموش می‌کنید. هر مثال را خودتان تایپ کنید، نه کپی.

رد شدن از خطاها

خطا دشمن شما نیست، معلم شماست. وقتی برنامه خطا می‌دهد، پیام را بخوانید و بفهمید چه می‌گوید. با هر خطا بخشی از منطق برنامه را بهتر می‌شناسید.

پریدن از زبانی به زبان دیگر

خیلی‌ها با اولین سختی، زبان را عوض می‌کنند. ولی سختی در همه‌ی زبان‌ها هست. با یک زبان تا وقتی چند پروژه‌ی کوچک نساخته‌اید بمانید.

مقایسه با دیگران

کسی که چند سال تجربه دارد، سریع‌تر است. خودتان را با دیروز خودتان مقایسه کنید.

نخریدن یا نخواندن کتاب پایه

بعضی‌ها یک راست سراغ ابزار روز می‌روند و بعد در مسائل بنیادی گیر می‌کنند. الگوریتم و ساختار داده را جدی بگیرید.

خرید بیش از حد کتاب

یک کتاب مناسب را تمام کنید، بعد کتاب بعدی را بخرید. کتابخانه‌ی پر از کتاب نیمه‌خوانده، انگیزه را کم می‌کند.

برنامه‌نویسی برای نوجوان‌ها و والدین

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

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

نکته‌ی دیگر: زمان مقابل صفحه را مدیریت کنید. کتاب چاپی در این مورد کمک می‌کند، چون بخش نظری را می‌شود بدون صفحه‌نمایش خواند و فقط تمرین‌ها را پشت رایانه انجام داد.

برنامه‌نویسی و مسیر شغلی

خیلی‌ها برنامه‌نویسی را برای تغییر شغل یا پیدا کردن کار یاد می‌گیرند. کتاب به‌تنهایی شما را استخدام نمی‌کند، اما پایه‌ای است که رزومه و نمونه‌کار از آن ساخته می‌شود. یک مسیر منطقی این است: مبانی، یک زبان، یک حوزه‌ی کاربردی، چند پروژه‌ی واقعی و سپس نمونه‌کار.

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

نکته‌ی مهم برای بازار کار: اصول قوی‌تر از ابزار است. کسی که مبانی را خوب بلد است، ابزار تازه را در چند هفته یاد می‌گیرد. کسی که فقط ابزار بلد است، با هر تغییر باید از اول شروع کند.

اولین برنامه‌ی ذهنی: متغیر، شرط و حلقه

پیش از آنکه کتاب بخرید، جالب است بدانید چه چیزهایی قرار است یاد بگیرید. تقریبا هر کتاب مقدماتی برنامه‌نویسی از همین سه ایده شروع می‌کند، و اگر آن‌ها را خوب بفهمید، بقیه‌ی راه بسیار هموارتر است.

متغیر: جعبه‌ای با اسم

متغیر یک جعبه است که اسم دارد و چیزی داخلش می‌گذارید: یک عدد، یک نام، یک جمله. مثلا جعبه‌ای به اسم «سن» و داخلش عدد دوازده. هر وقت خواستید، مقدار آن را می‌خوانید یا عوض می‌کنید. همین ایده‌ی ساده پایه‌ی هر برنامه‌ای است.

شرط: اگر این، آن

زندگی روزمره پر از شرط است: اگر باران بیاید چتر بردار، وگرنه نه. برنامه هم همین‌طور تصمیم می‌گیرد. در برنامه‌ی یک فروشگاه، اگر موجودی صفر بود پیام «ناموجود» نشان بده. شرط‌ها برنامه را باهوش می‌کنند.

حلقه: تکرار بدون خستگی

فرض کنید باید ده اسم را چاپ کنید. یک راه این است که ده بار بنویسید. راه دیگر حلقه است: «این کار را ده بار انجام بده». رایانه در تکرار خسته نمی‌شود، و همین نقطه‌ی قوت برنامه‌نویسی است. وقتی قدرت حلقه را بفهمید، کارهایی که ساعت‌ها طول می‌کشید در چند ثانیه انجام می‌شود.

با ترکیب همین سه ایده می‌توان چیزهای شگفت‌انگیز ساخت. هر کتاب مقدماتی، چه با سی‌شارپ، چه با زبان‌های دیگر، به شیوه‌ی خودش این‌ها را توضیح می‌دهد. پس اگر یک ایده را در کتابی نفهمیدید، همان را در کتاب دیگری هم نگاه کنید؛ گاهی فقط شیوه‌ی توضیح مهم است.

پایگاه داده را با یک مثال ساده بشناسیم

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

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

چطور کتاب برنامه‌نویسی را بخوانیم که چیزی یاد بگیریم؟

کتاب برنامه‌نویسی را مثل رمان نمی‌خوانند. یک روش ساده که برای بسیاری از یادگیرنده‌ها جواب می‌دهد این است.

  1. صفحه‌ی مربوط به یک مفهوم را با حواس جمع یک بار بخوانید.
  2. مثال را دقیقا خودتان تایپ کنید و اجرا کنید.
  3. یک چیز کوچک را عوض کنید: یک عدد، یک شرط، یک متن. ببینید چه می‌شود. این «بازی کردن» بیش از هر چیز به یادگیری کمک می‌کند.
  4. عمدا یک اشتباه بسازید تا خطا را ببینید و بشناسید.
  5. تمرین آخر فصل را بدون نگاه به جواب حل کنید. اگر نشد، بعد از تلاش جدی جواب را ببینید.
  6. در پایان جلسه، یک جمله بنویسید: امروز چه یاد گرفتم؟

این روش کند به نظر می‌رسد، ولی در عمل سریع‌ترین مسیر است، چون آنچه یاد می‌گیرید در ذهن می‌ماند. کسی که ده فصل را سریع می‌خواند و هیچ کدی نمی‌نویسد، بعد از یک ماه همه‌چیز را فراموش کرده است.

برنامه‌ی زمانی هم مهم است. نیم ساعت در روز بهتر از پنج ساعت در آخر هفته است. ذهن ما با تکرار کوتاه و منظم بهتر یاد می‌گیرد تا با خواندن فشرده و نامنظم.

برنامه‌نویسی و ریاضی: آیا باید ریاضی‌دان باشیم؟

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

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

الگوریتم و ساختار داده جایی است که منطق و ریاضی به هم می‌رسند. کتاب‌هایی که این دو را آموزش می‌دهند، مثل «مبانی الگوریتم و برنامه‌نویسی مقدماتی»، کم‌کم شما را با این نوع فکر کردن آشنا می‌کنند، بدون اینکه ترسناک باشند.

وقتی گیر می‌کنید: چند راه‌حل عملی

هر برنامه‌نویسی، حتی حرفه‌ای‌ها، بارها گیر می‌کند. تفاوت در این است که چطور از گیر افتادن بیرون می‌آیند.

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

یادتان باشد که گیر کردن نشانه‌ی ناتوانی نیست، بخشی از یادگیری است. هرکس از این مرحله‌ها گذشته، همان‌قدر مطمئن و ماهر شده که پشت سر گذاشتن آن‌ها را تجربه کرده است.

پرسش‌های پرتکرار درباره‌ی کتاب برنامه‌نویسی

برای شروع برنامه‌نویسی کدام کتاب بهتر است؟

کتابی که مبانی و منطق را آموزش دهد و برای مبتدی نوشته شده باشد. کتاب‌های الگوریتم و فلوچارت شروع خوبی هستند و بعد می‌توانید سراغ کتاب زبان مورد نظرتان بروید.

بدون دانشگاه هم می‌شود برنامه‌نویس شد؟

بله، بسیاری از برنامه‌نویس‌ها خودآموزند. اما مسیر خودآموزی نیاز به نظم و پروژه‌ی واقعی دارد. کتاب مرتب و پروژه‌محور کمک بزرگی است.

آیا کتاب چاپی از ویدیو بهتر است؟

بهتر یا بدتر نیست، مکمل است. کتاب ترتیب و عمق می‌دهد و ویدیو مثال زنده. ترکیب هر دو معمولا نتیجه‌ی بهتری دارد.

کتاب‌های قدیمی هنوز به درد می‌خورند؟

کتاب‌های مبانی، الگوریتم و نظریه بله. کتاب‌های ابزارهای خاص بستگی به ابزار دارد. تاریخ و نسخه را در مشخصات کتاب ببینید.

برای نوجوان ۱۲ ساله کتاب مناسب هست؟

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

زبان اول چه باشد؟

زبانی که هدف شما را پوشش می‌دهد: برای دانشگاه، زبان درس؛ برای وب، زبان‌های مربوط به وب؛ برای شروع ساده، پایتون. مهم این است که یک زبان را جدی دنبال کنید.

قیمت و موجودی چطور است؟

قیمت و موجودی هر کتاب هر روز به‌روز می‌شود. مشخصات هر کتاب هم در صفحه‌ی خودش است و نسخه‌ی چاپی را می‌توانید آنلاین سفارش بدهید.

جمع‌بندی

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

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