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

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

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

رمضان عباس نژادورزی

فن آوری نوین

۵٪۴۳۰٬۰۰۰۴۰۸٬۵۰۰تومان
جلد کتاب مفاهیم شی گرایی و پیاده سازی آن ها با زبان های++C #C

جواد وحیدی، رمضان عباس نژادورزی، همایون موتمنی

فن آوری نوین

۵٪۳۶۵٬۰۰۰۳۴۶٬۷۵۰تومان
جلد کتاب تحلیل و طراحی شی گرا

جواد وحیدی، رمضان عباس نژادورزی، فرشته بابایی سنگلجی

فن آوری نوین

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

رمضان عباس نژادورزی

فن آوری نوین

۵٪۹۲۰٬۰۰۰۸۷۴٬۰۰۰تومان
جلد کتاب الگوریتم ها و محاسبات موازی

سیامک وطنی

فن آوری نوین

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

روی درکس

ترجمه‌ی مهرانه احمدی، رمضان عباس نژادورزی

فن آوری نوین

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

کریستین مایر

ترجمه‌ی رمضان عباس نژادورزی، مازیار کلاه گر زواردهی

فن آوری نوین

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

جواد محمدی

فن آوری نوین

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

علی میلی، فیروز چیر

ترجمه‌ی سیامک وطنی

فن آوری نوین

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

کریس مینیک، اوا هالند

ترجمه‌ی محبوبه فتاحی، سعید عباس نژادورزی

فن آوری نوین

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

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

فن آوری نوین

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

سینان کالکان، اونور تولگا سهیتوغلو، گوکتور اوچولوک

ترجمه‌ی جواد عیسی زاده، مازیار کلاگردرونکلائی

فن آوری نوین

۵٪۴۰۰٬۰۰۰۳۸۰٬۰۰۰تومان
جلد کتاب آموزش گام به گام به زبان جولیا

جواد وحیدی، رمضان عباس نژادورزی

فن آوری نوین

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

وقاص احمد

ترجمه‌ی رمضان عباس نژادورزی، محمد نادعلی زاده چاری، مجید رهی

فن آوری نوین

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

رمضان عباس نژادورزی، محبوبه فتاحی، علی گرگانی فیروزجائی

فن آوری نوین

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

یاکوف فاین

ترجمه‌ی یوسف عباس نژادورزی، سعید عباس نژادورزی

فن آوری نوین

۵٪۳۷۰٬۰۰۰۳۵۱٬۵۰۰تومان
جلد کتاب آموزش گام به گام بانک اطلاعاتی با پایتون

رمضان عباس نژادورزی

فن آوری نوین

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

جواد وحیدی، رمضان عباس نژادورزی، همایون موتمنی

فن آوری نوین

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

رمضان عباس نژادورزی، حمیدرضا حسن نژادمرزونی

فن آوری نوین

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

رمضان عباس نژادورزی

فن آوری نوین

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

جواد وحیدی، رمضان عباس نژادورزی، همایون موتمنی

فن آوری نوین

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

رمضان عباس نژادورزی

فن آوری نوین

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

رمضان عباس نژاورزی، محبوبه فتاحی، حسین کاظمی

فن آوری نوین

۵٪۱٬۰۵۰٬۰۰۰۹۹۷٬۵۰۰تومان
جلد کتاب جنگو برای حرفه ای ها

ویلیام اس وینسنت

ترجمه‌ی رمضان عباس نژادورزی، عارفه پورمجیدیان

فن آوری نوین

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

ویلیام اس وینسنت

ترجمه‌ی مجید رهی، یوسف عباس نژادورزی، سعید عباس نژادورزی

فن آوری نوین

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

جواد وحیدی، رمضان عباس نژادورزی، مجید رهی

فن آوری نوین

۵٪۶۵۰٬۰۰۰۶۱۷٬۵۰۰تومان
جلد کتاب جنگو با مثال

آنتونیو مله

ترجمه‌ی رمضان عباس نژادورزی، حمید غلامپورآهنگر، جواد عیسی زاده، عارفه پورمجیدیان

فن آوری نوین

۵٪۲٬۱۵۰٬۰۰۰۲٬۰۴۲٬۵۰۰تومان
جلد کتاب حل مسائل پایتون (حل 1000برنامه - مرجع کامل)

رمضان عباس نژادورزی، یوسف عباس نژادورزی، محمد نادعلی زاده چاری

فن آوری نوین

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

دنیس بایرن

ترجمه‌ی مرتضی روحی آهنگر، ابوالفضل آرائی درونکلا، مهدیه آقابابائی رودباری

فن آوری نوین

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

رمضان عباس نژادورزی، محمدعلی نادعلی زاده چاری

فن آوری نوین

۵٪۶۵۰٬۰۰۰۶۱۷٬۵۰۰تومان
جلد کتاب جنگو برای مبتدیان(طراحی وب سایت به کمک پایتون و جنگو)

ویلیام اس وینسنت

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

فن آوری نوین

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

یان گاوت، یوهان دیباییل

ترجمه‌ی جواد وحیدی، سمیه نوشیروان

فن آوری نوین

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

پل دایتل، هاروی دایتل

ترجمه‌ی سیامک وطنی

فن آوری نوین

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

ب.ام. هاروانی

ترجمه‌ی فرزاد فتحی

فن آوری نوین

۵٪۹۵۰٬۰۰۰۹۰۲٬۵۰۰تومان
جلد کتاب ساختمان داده در ژرف با ++C

محمد مهدی

ترجمه‌ی جواد وحیدی، سعید عباس نژادورزی، سپیده صبوری

فن آوری نوین

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

جوزف لنتین

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

فن آوری نوین

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

والنتینا پورکو

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

فن آوری نوین

۵٪۵۲۰٬۰۰۰۴۹۴٬۰۰۰تومان
جلد کتاب طراحی واسط کاربردی با پایتون (Tkinter)

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

فن آوری نوین

۵٪۴۸۰٬۰۰۰۴۵۶٬۰۰۰تومان
جلد کتاب آموزش گام ‏به‏گام‏ LINQ با#C با لینک(مرجع کامل)

رمضان عباس نژادورزی

فن آوری نوین

۵٪۱۰۰٬۰۰۰۹۵٬۰۰۰تومان
جلد کتاب حل مسائل #C

رمضان عباس نژادورزی

فن آوری نوین

۵٪۱۰۰٬۰۰۰۹۵٬۰۰۰تومان
جلد کتاب مبانی رایانه و برنامه نویسی به زبان ++C همراه 350 برنامه حل شده

رمضان عباس نژادورزی، فاطمه عبدی سقاواز، باقر رحیم پورکامی، علی شمعلی زاده بائی

فن آوری نوین

۵٪۱۰۰٬۰۰۰۹۵٬۰۰۰تومان
جلد کتاب آموزش MySQL به زبان ساده (آزمایشگاه MySQL )

رمضان عباس نژادورزی

فن آوری نوین

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

زهره اسدی

فن آوری نوین

۵٪۴۶۰٬۰۰۰۴۳۷٬۰۰۰تومان
جلد کتاب برنامه نویسی موازی با زبان C#.NET

گاستون سی.هیلار

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

علوم رایانه

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

آبیشک میشرا

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

علوم رایانه

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

وی. راجارمان، سی. سیوا رام مورتی

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

علوم رایانه

۵٪۲۵۰٬۰۰۰۲۳۷٬۵۰۰تومان
جلد کتاب کاربرد روش شبکه بولتزمن در شبیه سازی مسائل مختلف مهندسی

داود دومیری گنجی، سیدمصطفی سیدی تاجی، محسن شیخ الاسلامی کندلوسی، مرتضی دیان خوشابی

علوم رایانه

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

عین الله جعفرنژاد قمی، ابراهیم مهدی پور

علوم رایانه

۵٪۲۱۰٬۰۰۰۱۹۹٬۵۰۰تومان
جلد کتاب گام به گام مهندسی نرم افزار تحلیل و طراحی سیستم های اطلاعاتی
۵٪۱۵۰٬۰۰۰۱۴۲٬۵۰۰تومان
جلد کتاب مدل سازی نرم افزار به کمک UML(بارویکرد RUP)

عباس رسول زادگان

علوم رایانه

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

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

علوم رایانه

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

محمدحسین پاشنه طلا

علوم رایانه

۵٪۲۰۰٬۰۰۰۱۹۰٬۰۰۰تومان
جلد کتاب برنامه نویسی در کیوت (Qt) با زبان ++C

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

علوم رایانه

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

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

علوم رایانه

۵٪۵۰۰٬۰۰۰۴۷۵٬۰۰۰تومان
جلد کتاب طراحی الگوریتم ها(همراه پاسخ تشریحی)

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

علوم رایانه

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

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

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

علوم رایانه

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

نایجل جورج

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

علوم رایانه

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

مارتین مک براید

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

علوم رایانه

۵٪۳۰۰٬۰۰۰۲۸۵٬۰۰۰تومان
جلد کتاب آموزش گام به گام SQL SERVER 2015(جدید)

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

علوم رایانه

۵٪۵۰۰٬۰۰۰۴۷۵٬۰۰۰تومان

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

پایگاه داده

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

الگوریتم‌ها

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

جمع‌بندی

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

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