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

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

در این دسته کتاب‌های آموزش برنامه‌نویسی گرد آمده است؛ از نخستین قدم‌ها در پایتون تا پروژه‌های کاربردی در هوش مصنوعی و رشته‌های مهندسی.
کتاب‌های این دسته۵۰۰ کتاب
چینشپرفروش‌ترین
جلد کتاب برنامه نویسی به زبان c برای دانشجویان الکترونیک و سخت افزار( ویرایش جدید )
۱۰٪۵۵۰٬۰۰۰۴۹۵٬۰۰۰تومان
جلد کتاب برنامه نویسی تحت وب از پایه تا پیشرفته ویرایش سوم

حمید رضا طالبی، علیرضا طالبی

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

۱۰٪۱٬۵۰۰٬۰۰۰۱٬۳۵۰٬۰۰۰تومان
جلد کتاب برنامه نویسی به زبان پایتون از پایه تا پیشرفته ( ویرایش دوم )

حمید رضا طالبی، علیرضا طالبی

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

۱۰٪۱٬۸۵۰٬۰۰۰۱٬۶۶۵٬۰۰۰تومان
جلد کتاب برنامه نویسی واسط گرافیکی در پایتون با فریم ورک Tkinter
۱۰٪۷۲۰٬۰۰۰۶۴۸٬۰۰۰تومان
جلد کتاب برنامه نویسی اندروید با زبان کاتلین kotlin

کتاب:عرفان محمد جعفری

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

۱۰٪۶۵۰٬۰۰۰۵۸۵٬۰۰۰تومان
جلد کتاب برنامه نویسی PLC SIEMENS با نرم افزار TIA Portal
۱۰٪۱٬۴۰۰٬۰۰۰۱٬۲۶۰٬۰۰۰تومان
جلد کتاب برنامه نویسی C ویژه میکروکنترلرها

صفورا قاسمیان، اشکان طالبی

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

۱۰٪۵۵۰٬۰۰۰۴۹۵٬۰۰۰تومان
جلد کتاب الگوهای طراحی در NET. ( الگوهای طراحی برنامه های سازمانی )
۱۰٪۲۶۰٬۰۰۰۲۳۴٬۰۰۰تومان
جلد کتاب الگوریتم و فلوچارت برای دانش آموزان (همراه با تمرین های پایتون و سی شارپ)
۱۰٪۳۰۰٬۰۰۰۲۷۰٬۰۰۰تومان
جلد کتاب الگوریتم و فلوچارت

بهرام غلامی

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

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

پارسا قربانیان

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

۱۰٪۴۳۰٬۰۰۰۳۸۷٬۰۰۰تومان
جلد کتاب اصول طراحی و برنامه نویسی میکروکنترلرهای STM 32 به روش رجیستری و HAL

پوریا مدحی نیری تالیف شد-تعداد

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

۱۰٪۱٬۳۰۰٬۰۰۰۱٬۱۷۰٬۰۰۰تومان
جلد کتاب اصول طراحی و برنامه نویسی میکروکنترلر STM8

اکبر محمد علیزاده

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

۱۰٪۶۰۰٬۰۰۰۵۴۰٬۰۰۰تومان
جلد کتاب آموزش گام به گام طراحی وب با HTML & CSS همراه با تمرین های کاربردی
۱۰٪۱٬۴۰۰٬۰۰۰۱٬۲۶۰٬۰۰۰تومان
جلد کتاب آموزش گام به گام زبان برنامه نویسی PHP

حسن اصالت نیری

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

۱۰٪۳۰۵٬۰۰۰۲۷۴٬۵۰۰تومان
جلد کتاب آموزش گام به گام جاوا اسکریپت (همراه با مثال های کاربردی و تمرین های تکمیلی)
۱۰٪۱٬۵۰۰٬۰۰۰۱٬۳۵۰٬۰۰۰تومان
جلد کتاب آموزش کاربردی میکروکنترلرهای ARM STM32

متین تسلی بخش، مسرور دولت آبادی

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

۱۰٪۶۰۰٬۰۰۰۵۴۰٬۰۰۰تومان
جلد کتاب آموزش کاربردی زبان برنامه نویسی ++c
۱۰٪۷۰۰٬۰۰۰۶۳۰٬۰۰۰تومان
جلد کتاب آموزش کاربردی HTML5,CSS3 –همراه با پروژه عملی

مهرداد سلامی، بهنام نوبخت

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

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

امیر عزیزی

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

۱۰٪۶۰۰٬۰۰۰۵۴۰٬۰۰۰تومان
جلد کتاب آموزش کاربردی #C

رضا بیات

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

۱۰٪۳۵۵٬۰۰۰۳۱۹٬۵۰۰تومان
جلد کتاب آموزش پیشرفته اندروید استودیو 2023 با زبان برنامه نویسی جاوا
۱۰٪۱٬۸۰۰٬۰۰۰۱٬۶۲۰٬۰۰۰تومان
جلد کتاب آموزش پروژه محور پایتون ( بازی سازی ،بصری سازی ،برنامه های تحت وب )

حمید کریمخانی زندی، طاهره نیری فرد

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

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

این کتاب :سارا نخعی

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

۱۰٪۱٬۶۰۰٬۰۰۰۱٬۴۴۰٬۰۰۰تومان
جلد کتاب آموزش نرم افزار اسکرچ Scratch

رضا قنبری، سمانه وطن نژاد

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

۱۰٪۱٬۱۰۰٬۰۰۰۹۹۰٬۰۰۰تومان
جلد کتاب آموزش نرم افزار R Studio

مسعود علی مردی، رقیه زارع

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

۱۰٪۵۵۰٬۰۰۰۴۹۵٬۰۰۰تومان
جلد کتاب آموزش نرم افزار ArtCAM طراحی و برنامه نویسی ماشین کاری برای صنایع
۱۰٪۹۵۰٬۰۰۰۸۵۵٬۰۰۰تومان
جلد کتاب آموزش فریم ورک Zend برای PHP

نریمان زعیم کهن

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

۱۰٪۱۶۰٬۰۰۰۱۴۴٬۰۰۰تومان
جلد کتاب آموزش محیط کدنویسی آنلاین JSFIDDLE

سارا نخعی

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

۱۰٪۱۰۵٬۰۰۰۹۴٬۵۰۰تومان
جلد کتاب آموزش طراحی سایت با HTML , CSS

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

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

۱۰٪۲٬۷۰۰٬۰۰۰۲٬۴۳۰٬۰۰۰تومان
جلد کتاب آموزش سی شارپ #C برای نوجوانان ( مقدماتی و پیشرفته )
۱۰٪۲۱۰٬۰۰۰۱۸۹٬۰۰۰تومان
جلد کتاب آموزش زبان برنامه نویسی سالیدیتی Solidity

بهادر قدم خیر

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

۱۰٪۹۰۰٬۰۰۰۸۱۰٬۰۰۰تومان
جلد کتاب آموزش زبان برنامه نویسی دارت DART

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

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

۱۰٪۹۰۰٬۰۰۰۸۱۰٬۰۰۰تومان
جلد کتاب آموزش زبان برنامه نویسی Ruby

محمدرضا شاقوزی

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

۱۰٪۱۴۲٬۰۰۰۱۲۷٬۸۰۰تومان
جلد کتاب آموزش راهبردی REACT jsv17

ایمان احراری

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

۱۰٪۴۷۰٬۰۰۰۴۲۳٬۰۰۰تومان
جلد کتاب آموزش جامع پایتون Python

شایان آقابراری، فاطمه رفیع پور

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

۱۰٪۱٬۳۰۰٬۰۰۰۱٬۱۷۰٬۰۰۰تومان
جلد کتاب آموزش جاوا اسکریپت و جی کوئری ( وب دیزاین ۳)

حسن اصالت نیری

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

۱۰٪۴۶۰٬۰۰۰۴۱۴٬۰۰۰تومان
جلد کتاب آموزش جامع لینوکس (سطوح مقدماتی و متوسط)

سید حسین رجاء

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

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

امیر مسعود قربیان، محسن قربیان

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

۱۰٪۶۳۰٬۰۰۰۵۶۷٬۰۰۰تومان
جلد کتاب آموزش جامع لینوکس (سطح پیشرفته )

سید حسین رجاء

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

۱۰٪۲٬۳۰۰٬۰۰۰۲٬۰۷۰٬۰۰۰تومان
جلد کتاب آموزش جامع برنامه نویسی پایتون PYTHON

ین : مسعود نظری

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

۱۰٪۸۱۰٬۰۰۰۷۲۹٬۰۰۰تومان
جلد کتاب آموزش جامع برنامه نویسی فرانت اند

حسن اصالت نیری

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

۱۰٪۱٬۳۰۰٬۰۰۰۱٬۱۷۰٬۰۰۰تومان
جلد کتاب آموزش جامع الگوریتم و برنامه نویسی در MATLAB ( ویرایش جدید )
۱۰٪۷۵۰٬۰۰۰۶۷۵٬۰۰۰تومان
جلد کتاب آموزش جامع اتوکد دو بعدی و سه بعدی (autocad 2d,3d)

آرمان حسن زاده

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

۱۰٪۱٬۲۰۰٬۰۰۰۱٬۰۸۰٬۰۰۰تومان
جلد کتاب آموزش جامع آردوینو ARDUINO ویرایش جدید

علیرضا حاتمی، اشکان طالبی، مسعود نظری

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

۱۰٪۱٬۱۰۰٬۰۰۰۹۹۰٬۰۰۰تومان
جلد کتاب آموزش SQL Server 2019 با نگاهی بر مفاهیم مدیریت پایگاه داده
۱۰٪۱٬۰۰۰٬۰۰۰۹۰۰٬۰۰۰تومان
جلد کتاب آموزش React.js پیشرفته برای فرانت اند

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

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

۱۰٪۷۰۰٬۰۰۰۶۳۰٬۰۰۰تومان
جلد کتاب آموزش Node.JS مقدماتی و پیشرفته

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

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

۱۰٪۹۸۰٬۰۰۰۸۸۲٬۰۰۰تومان
جلد کتاب HTML,CSS را قورت دهید! همراه ساختارهای ریسپانسیو و آموزش Tailwind CSS
۱۰٪۷۰۰٬۰۰۰۶۳۰٬۰۰۰تومان
جلد کتاب برنامه نویسی مقدماتی به زبان 4.5 ++Turbo C

علی خلیلی

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

۱۰٪۱۶۰٬۰۰۰۱۴۴٬۰۰۰تومان
جلد کتاب برنامه سازی 1 #C مقدماتی

گیتی قربانی، نوشین فقیهی

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

۱۰٪۲۰۷٬۰۰۰۱۸۶٬۳۰۰تومان
جلد کتاب آموزش فریم ورک KENDO UI

حمیدرضا قنبری، سجاد محمدزاده، شادمهر عبدالله زاده، پریناز مهرپرور، شهرنازرحیمی

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

۱۰٪۱۴۲٬۰۰۰۱۲۷٬۸۰۰تومان
جلد کتاب پایتون برای حسابداری
۵٪۱٬۸۰۰٬۰۰۰۱٬۷۱۰٬۰۰۰تومان
جلد کتاب مجموعه سوال چهار گزینه ای سیگنالها و سیستم ها
۵٪۷۵۰٬۰۰۰۷۱۲٬۵۰۰تومان
جلد کتاب English For The Students Of Computer Science

نازنین شهبانی نوری، آرمین تهمتن

ادیبان روز

۲۰٪۴۲۰٬۰۰۰۳۳۶٬۰۰۰تومان
جلد کتاب خود آموز ویژوال C++5 در 21 روز

اوری گورویچ

ترجمه‌ی فرهاد رضازاده غیور

مرکز نشر دانشگاهی

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

فرانک نولته

ترجمه‌ی آیت سعادتی

سبزان

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

میثم میرزایی شهرابی، محمدرضا الماسی

حتمی

۵٪۱٬۰۹۹٬۰۰۰۱٬۰۴۴٬۰۵۰تومان

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

پایگاه داده

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

الگوریتم‌ها

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

جمع‌بندی

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

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