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

دانلود پایان نامه بررسی روش تزریق کد در پایگاه داده SQL Injection

تاریخ : ۱۰ بهمن ۱۳۹۵

تزریق کد در پایگاه داده

عنوان پایان نامه  :  بررسی روش تزریق کد در پایگاه داده SQL Injection

قالب بندی :  PDF

قیمت :   رایگان

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

عمدتاً توسعه گران وب، بیشتر تمرکز خود را بر روی موارد امنیتی سیستم عامل و یا WebServer میزبان برنامه های خود قرار دادند و کمتر به حفره های امنیتی موجود در کدهای خود توجه می کنند. یکی از مواردی که همواره می تواند سایت هایی را که از کاربر، داده ( Data ) دریافت می کنند را تهدید کند حملات تزریق کد در پایگاه داده یا تزریق دستورات SQL است.تزریق کد SQL روشی است که مهاجم را قادر می سازد تا دستورات SQL غیرمجاز را با بهره گیری از ضعف عدم کنترل داده های ورودی توسط برنامه نویس ( که از این ورودی ها در عبارات SQL پویای خودش استفاده می کند ) در پایگاه داده اجرا کند.

نکته قابل توجه و در خور اهمیت این است که تزریق دستوراتSQL از طریق Port شماره ۸۰ (همان پورتی که سرورهای وب سایت ها از آن برای ارسال و دریافت اطلاعات به مرورگر Clinet ها استفاده میکنند) انجام می شود و بنابراین فایروال ها و دیگر سیستم های امنیتی قادر به تشخیص و جلوگیری از آن نیستند

فهرست :

فصل اول  مقدمه

شبکه‏

اینترنت

صفحه‌های وب

وب سایت

سرور

امنیت شبکه

انواع امنیت

نفوذ ( هک )

انواع روش های نفوذ

XSS

XSRF

Header Injection

SQL Injection

پایگاه داده

Table

Field

Record

دستور های SQL

دستور SELECT

دستور WHERE

دستور UPDATE

دستور DELETE

دستورINSERT

دستورUNION

دستور SUM

دستور Group BY

دستور Having

علامت سمی کالن

فصل دوم  مفاهیم تزریق کد

تزریق کد SQL Injection

تزریق کد در صفحه ورود کاربران

تزریق کد در صفحه QueryString

سوابق روش SQL Injection

تست نفود وب سایت

روش کارکتری

روش منطقی

پیغام های خطا

دستورات تزریق کد SQL

بایپس ByPass

فصل سوم  تزریق کد از طریق QueryString

بررسی آسیب پذیری سایت هدف

بدست آوردن تعداد ستونهای وب سایت

بدست آوردن ستونهای قابل نفوذ

بدست آوردن مشخصات پایگاه داده

بدست آوردن نام پایگاه داده

بدست آوردن ورژن PHP

بدست آوردن نام جداول پایگاه داده

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

بدست آوردن محتویات ستون

فصل چهارم  تزریق در صفحه Login

سرقت اطلاعات

تغییر اطلاعات

تغییر اطلاعات یک رکورد

تغییر اطلاعات برخی رکوردها

تغییر اطلاعات همه رکوردها

درج اطلاعات جدید

درج رکورد جدید

درج ستون جدید

حذف اطلاعات

حذف یک رکورد

حذف تعدادی از رکوردها

حذف تمامی رکوردها

حذف ستونها

حذف جدول

حذف پایگاه داده

حمله به سرور پایگاه داده وب سایت  بدست آوردن نام سرور

بدست آوردن ورژن سرور

بررسی آسیب پذیری سرور های SQL

نفوذ به درون سرور

فصل پنجم  نتیجه گیری و روش های جلوگیری از حملات تزریق

استفاده از رویههای ذخیره شده در SQLServer

حذف کلمات و کارکترهای خطرناک

اطمینان از صحت نوع اطلاعات ورودی

تعیین طول مجاز برای اطلاعات ورودی

رمزنگاری اطلاعات حساس

عدم نمایش خطا در محیط Web

نتیجه گیری و پیشنهادات

منابع و مراجع

دانلود کتاب آموزش برنامه نویسی سی پلاس پلاس‎

تاریخ : ۶ بهمن ۱۳۹۵

آموزش برنامه نویسی سی پلاس پلاس‎

یادگیری یک زبان برنامه نویسی دید ما را به علم کامپیوتر بسیار گسترده تر می کند. از طرفی برنامه نویسی نحوه فکر کردن را به ما می آموزد.
عمومیت زبان C++ در میان زبان های برنامه نویسی بسیار بالا است و می تواند به عنوان اولین زبان نیز یاد گرفته شود و به پیش نیاز دیگر احتیاج نباشد. برنامه نویسی به زبان C++ نسبت به C دارای قدرت بیشتری است. کارهایی می توان انجام داد که در C برای انجام آنها (در صورت امکان) زحمت بیشتری نیاز است. زبان C++ در دو قسمت آموزش داده می شود. در قسمت اول (همین مجموعه) دستورات و ساختمان داده ها معرفی می شود و در قسمت دوم مفاهیم شی گرایی آموزش داده خواهد شد.

 

فهرست :
قسمت اول:
انواع داده ها – انواع عملگرها – دستورات ورودی و خروجی و …
دستورات شرطی و تکرار
آرایه – رشته
نوع شمارشی – استراکچر – یونیون
اشاره گر
تابع
قسمت دوم:
کلاس – شی – سازنده و مخرب – تابع و کلاس دوست و …
اعضای کلاس با ویژگی استاتیک
وراثت
پلی مورفیسم
سربارگذاری عملگرها
قالب
فایل
آزمون با حل

مناسب برای

دانشجویان رشته های فنی و مهندسی
افراد علاقمند به برنامه نویسی

دانلود کتاب آموزش ساختمان داده ها

تاریخ : ۶ بهمن ۱۳۹۵

ساختمان داده ها

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

 

فهرست :

  • فصل ۱: مرتبه اجرایی
    • نشان گذاری
    • مرتبه اجرایی حلقه ها
    • خواص سیگما
    • نمادهای Ω و θ
  • فصل ۲: زیربرنامه های بازگشتی و مرتبه زمانی آنها
    • زیر برنامه بازگشتی
    • زیر برنامه های بازگشتی معروف
    • مرتبه اجرایی توابع بازگشتی
    • قضیه اصلی برای حل روابط بازگشتی
  • فصل ۳ : آرایه
    • آرایه
    • نحوه ذخیره عناصر آرایه در حافظه
    • جستجو در آرایه (خطی – دودویی – سه تایی)
    • اضافه و حذف در آرایه
    • پیدا کردن عنصر کمینه در آرایه
    • ماتریس
    • انواع ماتریس
    • ماتریس اسپارس
    • ماتریس مثلثی
    • ماتریس ۳ قطری
  • فصل ۴: صف و پشته
    • صف
    • درج و حذف در صف ساده
    • صف حلقوی
    • درج و حذف در صف حلقوی
    • پشته و عملیات push و pop
    • کاربردهای پشته
    • ارزشیابی عبارات (تبدیل infix و prefix و postfix به یکدیگر)
    • الگوریتم تبدیل عبارت infix به postfix توسط پشته
    • الگوریتم محاسبه یک عبارت به فرم Postfix توسط پشته
    • کاربرد پشته در زیر برنامه های بازگشتی
  • فصل ۵: لیست پیوندی
    • لیست پیوندی یک طرفه
    • الگوریتم های کار بر روی لیست پیوندی یک طرفه (اضافه و حذف گره – اتصال – وارون)
    • پیاده سازی پشته با لیست پیوندی
    • پیاده سازی صف با لیست پیوندی
    • لیست پیوندی دو طرفه
    • لیست پیوندی حلقوی
  • فصل ۶: درخت
    • تعاریف اولیه
    • درخت دودویی (کامل، پر)
    • درخت k تایی
    • درخت دودویی کامل شماره گذاری شده
    • روش های ذخیره درخت دودویی
    • تعداد درخت های دودویی
    • الگوریتم های کار بر روی درخت دودویی
    • پیمایش درخت دودویی
    • درخت نخی دودویی
    • درخت عمومی
    • جنگل
    • درخت دودویی گسترش یافته (۲-Tree)
  • فصل ۷: درخت های جستجو (BST, AVL, 2-3, BTree)
    • درخت جستجوی دودویی (BST)
    • عملیات بر روی یک BST
    • درخت AVL
    • درخت قرمز – سیاه
    • درخت آماری
    • درخت ۲-۳
    • درخت بی (B-Tree)
  • فصل ۸: درخت های هیپ
    • هرم (Heap)
    • هیپ d تایی
    • صف اولویت
    • Deap
    • Treap هیپ دو جمله ای
    • هیپ فیبوناچی
  • فصل ۹: گراف
    • گراف
    • انواع گراف
    • نمایش گراف
    • پیمایش گراف
    • درخت پوشا
    • الگوریتم کراسکال
    • الگوریتم پریم
    • الگوریتم سولین
  • فصل ۱۰: مرتب سازی
    • الگوریتم مرتب سازی حبابی
    • الگوریتم مرتب سازی انتخابی
    • الگوریتم مرتب سازی درجی
    • الگوریتم مرتب سازی ادغامی
    • الگوریتم مرتب سازی سریع
    • الگوریتم مرتب سازی هرمی
    • الگوریتم مرتب سازی درختی
    • الگوریتم مرتب سازی شل
    • الگوریتم های پایدار
    • درخت تصمیم گیری
    • الگوریتم مرتب سازی مبنا
  • فصل ۱۱: درهم سازی
    • جدول آدرس دهی مستقیم
    • جدول های درهم سازی
    • برخورد
    • توابع درهم سازی
    • روش زنجی

 

مناسب برای
  • کنکور کارشناسی ارشد مهندسی کامپیوتر‎
  • کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT)‎)
  • کنکور کارشناسی ارشد علوم کامپیوتر‎
  • عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر‎

دانلود کتاب آموزش ذخیره و بازیابی اطلاعات

تاریخ : ۶ بهمن ۱۳۹۵

ذخیره و بازیابی اطلاعات

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

 

فهرست :

  • بخش اول:
    • فصل ۱ : نوار مغناطیسی – دیسک مغناطیسی
    • فصل ۲ : سیستم فایل – تکنیک های بلاک بندی
    • فصل ۳ : فایل در محیط فیزیکی – مدیریت بلاک های آزاد – پشتیبان گیری – چگالی لود اولیه – لوکالیتی
    • فصل ۴ : سطوح نشانی دهی – بافرینگ
    • فصل ۵ : ظرفیت و نرخ انتقال واقعی نوار – ظرفیت و نرخ انتقال واقعی دیسک – تکنیک های کاهش s,r
  • بخش دوم: ساختارهای فایل
    • فصل ۶: فایل با ساختار پایل
    • فصل ۷: فایل با ساختار ترتیبی
    • فصل ۸: ساختار ترتیبی شاخص دار – ساختار چند شاخصی
    • فصل ۹: ساختار مستقیم

 

مناسب برای
  • کنکور کارشناسی ارشد مهندسی کامپیوتر‎
  • کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT)‎)
  • کنکور کارشناسی ارشد علوم کامپیوتر‎
  • عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر‎

دانلود کتاب آموزش سیستم عامل

تاریخ : ۶ بهمن ۱۳۹۵

سیستم عامل

سیستم عامل یا سامانه عامل (Operating System) بدون شک مهمترین نرم افزار در کامپیوتر است. سیستم عامل اولین نرم افزاری است که پس از روشن کردن کامپیوتر مشاهده می شود و همچنین آخرین نرم افزاری خواهد بود که قبل از خاموش کردن کامپیوتر مشاهده می شود. سیستم عامل نرم افزاری است که مدیریت برنامه ها را به عهده گرفته و با کنترل، مدیریت و سازماندهی منابع سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم کرده و بستری را برای اجرای نرم افزارهای کاربردی فراهم می کند. آموزش سیستم عامل، توسط مهندس فرشید شیرافکن، یکی از بهترین مدرسین مسلط به این مباحث، ارائه شده است.

 

فهرست :

  • فصل ۱: مفاهیم اولیه
    • پردازنده
    • وقفه
    • فراخوانی های سیستم
    • حفاظت
    • سلسله مراتب حافظه
    • روش های انتقال ورودی/خروجی
    • نگاه کلی به سیستم عامل
    • تاریخچه سیستم عامل
    • انواع سیستم عامل از نظر ساختاری
    • آزمون
  • فصل ۲: فرآیند
    • فرآیند و حالات آن
    • فرآیند معلق
    • انواع زمان بندها
    • نخ(thread)
    • پیاده سازی نخ (سطح کاربر، سطح هسته و ترکیبی)
  • فصل ۳: زمان بندی پردازنده
    • معیارهای زمان بندی
    • الگوریتم های زمان بندی
    • الگوریتم FCFS
    • الگوریتم RR
    • الگوریتم (SPN SJF)
    • الگوریتم SRT
    • الگوریتم HRRN
    • الگوریتم FB
    • الگوریتم MLFQ
    • الگوریتم MLQ
    • زمان بندی اولویت (Priority)
    • زمان بندی FCFS
    • زمان بندی در سیستم چند پردازنده ای (LPT, RPT, SPT)
    • آزمون
  • فصل ۴: همروندی: انحصار متقابل و همگام سازی
    • مباحث مطرح در ارتباط بین فرآیندها رویکردهای نرم افزاری انحصار متقابل
    • الگوریتم Decker (پنج تلاش دکر)
    • الگویتم Peterson
    • رویکردهای انحصار متقابل با حمایت سخت افزار
    • راهکارهای سیستم عامل و زبان برنامه سازی برای تدارک همزمانی
    • سمافور
    • پیاده سازی انحصار متقابل توسط سمافور
    • همگام سازی با استفاده از سمافور
    • مسئله تولید کننده و مصرف کننده
    • مسئله غذا خوردن فیلسوف ها
    • مسئله خوانندگان و نیسندگان
    • مانیتور (ناظر)
    • مسئله تولید کننده و مصرف کننده با مانیتور
    • تبادل پیام
    • همگام سازی به کمک تبادل پیام
    • پیاده سازی انحصار متقابل توسط تبادل پیام
    • حل مسئله تولید کننده و مصرف کننده توسط تبادل پیام
    • آزمون
  • فصل ۵: بن بست
    • شرایط بن بست
    • گراف تخصیص منابع
    • روش های رفع بن بست
    • ترمیم
    • روش های پیشگیری از بن بست
    • روش های اجتناب از بن بست
    • الگوریتم بانکداران
    • خلاصه رویکردها
    • آزمون
  • فصل ۶: مدیریت حافظه
    • مدیریت حافظه ابتدایی
    • جا به جایی و حفاظت
    • مبادله
    • الگوریتم های مکان یابی و تخصیص حافظه
    • مدیریت حافظه با سیستم رفاقتی
    • روی هم گذاری (Overlay)
    • صفحه بندی (Paging)
    • حافظه مجازی
    • صفحه بندی درخواستی
    • صفحه بندی چند سطحی
    • جدول صفحه وارونه (معکوس)
    • بافرهای کناری ترجمه (TLB)
    • زمان مؤثر دسترسی
    • آزمون
    • الگوریتم های جایگزینی صفحه
    • الگوریتم بهینه (optimal)
    • الگوریتم NRU
    • الگوریتم FIFO
    • الگوریتم دومین شانس
    • الگوریتم ساعت
    • الگوریتمLRU
    • پیاده سازی سخت افزاری LRU
    • شبیه سازی LRU در نرم افزار (الگوریتم سالمندی)
    • الگوریتم بافر کردن صفحه
    • نکات طراحی سیستم های صفحه بندی
    • پیش صفحه بندی (prepaging)
    • مدل مجموعه کاری (working sets)
    • الگوریتم فرکانس نقص صفحه (PFF)
    • تناقض بلیدی (Belady’s anomaly)
    • الگوریتم های پشته (Stack Algorithms)
    • اندازه صفحه
    • ساختار برنامه
    • قطعه بندی
    • قطعه بندی درخواستی
    • قطعه بندی صفحه بندی (Segmentation with paging)
    • مقایسه روشهای مدیریت حافظه
    • آزمون
  • فصل ۷: مدیریت I/O و دیسک
    • نرم افزار I/O
    • مدیریت دیسک
    • الگوریتم های زمان بندی بازوی دیسک (FCFS, SSTF, SCAN, CSCAN)
    • روش های تخصیص فضای دیسک به فایل
    • سطوح در یک حافظه سه سطحی
    • آزمون

 

مناسب برای
  • کنکور کارشناسی ارشد مهندسی کامپیوتر‎
  • کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT)‎)
  • کنکور کارشناسی ارشد علوم کامپیوتر‎
  • عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر‎

دانلود کتاب آموزش پایگاه داده ها

تاریخ : ۶ بهمن ۱۳۹۵

پایگاه داده ها

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

 

فهرست :

  • فصل ۱: مفاهیم اولیه
    • تعاریف اولیه
    • روش های ایجاد سیستم های کاربردی
    • نسل های ذخیره و بازیابی اطلاعات
    • عناصر محیط پایگاه داده ها
    • ساختارهای داده ای
    • معماری پایگاه داده ها
    • استقلال داده ای
    • کاتالوگ سیستم
    • تراکنش
    • معماری سیستم پایگاه داده ها
    • آزمون
  • فصل ۲: مدل سازی داده ها با استفاده از مدل ER
    • مفاهیم اساسی در مدل ER
    • نمودار ER
    • انواع مشترک
    • درجه نوع ارتباط
    • انواع تناظر
    • دام های پیوندی
    • روش EER
    • آزمون
  • فصل ۳: مدل رابطه ای
    • تعریف رابطه
    • انواع کلید
    • قاعده جامعیت
    • آزمون
  • فصل ۴: جبر رابطه ای
    • عملگرهای جبر رابطه ای
    • مثال هایی برای عملگرهای گزینش، پرتو، تقسیم و ضرب
    • عملگر پیوند
    • پایگاه داده دانشجو و درس
    • پایگاه داده تهیه کننده و قطعه
    • عملگر نیم پیوند
    • عملگر نیم تفاضل
    • ضریب گزینش عملگر پیوند
    • عملگرهای فراپیوند
    • دسته بندی عملگرها
    • عملگر گروه بندی
    • حساب رابطه ای
    • آزمون
  • فصل ۵: زبان رابطه ای SQL
    • زبان رابطه ای SQL
    • دستورهای SQL
    • توابع جمعی
    • مرتب سازی رکوردها
    • عملگر LIKE
    • عملگرUNION
    • عملگر BETWEEN
    • گروه بندی اطلاعات
    • استفاده از HAVING در دستور SELECT
    • پیوند رابطه ها
    • پرسش های تودرتو
    • پایگاه داده تهیه کننده – قطعه
    • پایگاه داده تهیه کننده – قطعه – پروژه
    • پایگاه داده بانک
    • مجوز در SQL
    • دید (VIEW)
    • متغیرها – ساختارهای تصمیم – رویه های ذخیره شده- توضیحات
    • آزمون
  • فصل ۶: انواع وابستگی ها
    • انواع وابستگی ها
    • وابستگی تابعی
    • وابستگی تابعی کامل
    • وابستگی با واسطه
    • قواعد استنتاج آرمسترانگ
    • پیدا کردن کلید کاندید
    • وابستگی چند مقداری
    • وابستگی پیوندی
    • آزمون
  • فصل ۷: نرمال تر سازی رابطه ها
    • آنومالی
    • صورت های نرمال
    • رابطه ۱NF
    • رابطه ۲NF
    • رابطه ۳NF
    • رابطه BCNF
    • رابطه ۴NF
    • رابطه ۵NF
    • ضوابط ریسانن برای تجزیه مطالب
    • قضیه هیث
    • آزمون

 

مناسب برای
  • کنکور کارشناسی ارشد مهندسی کامپیوتر‎
  • کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT)‎)
  • کنکور کارشناسی ارشد علوم کامپیوتر‎
  • عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر‎

دانلود کتاب آموزش نظریه زبان ها و ماشین

تاریخ : ۶ بهمن ۱۳۹۵

نظریه زبان ها و ماشین

در کتاب نظریه زبان ها و ماشین با سه موضوع “زبان، گرامر و ماشین” آشنا می شوید. این درس پیش نیاز درس طراحی کامپایلر است. با یادگیری زبان ها و گرامرها می توانید نحوه کار کامپایلر و همچنین طراحی زبان های برنامه سازی را متوجه شد. یادگیری این درس بدون مدرس کار ساده ای نمی باشد و ما در این آموزش تجربه حداقل پانزده سال تدریس این درس را در اختیار شما گذاشته ایم. به امید اینکه دعای خیری برای ما شود.

فهرست کتاب :
فصل ۱ : عبارت منظم – زبان منظم
عبارت منظم
زبان
اجتماع و اشتراک
اتصال
معکوس
مکمل
بستار
هم ریختی
تقسیم راست
زبان منظم
بسته بودن زبان های منظم
لم تزریق
فصل ۲ : گرامر – گرامر منظم
گرامر
انواع گرامر
زبان تولید شده توسط گرامر
گرامر منظم
فصل ۳ : اتوماتای متناهی (DFA, NFA)
انواع ماشین
ماشین های متناهی
پذیرنده متناهی معین (DFA)
زبان ها و DFA ها
حالت دام (تله)
مکمل DFA
پذیرنده متناهی نامعین ( NFA)
هم ارزی DFA و NFA
ارتباط گرامر منظم با ماشین متناهی
کاهش تعداد حالات در ماشین های متناهی
نحوه تشخیص منظم بودن یک زبان
فصل ۴ : زبان و گرامر مستقل از متن
گرامر مستقل از متن
گرامر ساده
بسته بودن زبان های مستقل از متن
لم تزریق برای زبان های مستقل از متن
لم تزریق برای زبان های خطی
فصل ۵ : ابهام – ساده سازی گرامر – فرم های نرمال
ابهام در گرامر و زبان
ساده سازی گرامرهای مستقل از متن
حذف متغیرها و قوانین بی فایده
حذف قوانین
حذف قوانین واحد
فرم های نرمال گرامر مستقل از متن
فرم نرمال چامسکی
فرم نرمال گریباخ
فصل ۶ : اتوماتای پشته ای (DPDA, NPDA)
اتوماتای پشته ای نامعین
تابع انتقال
پیکر بندی لحظه ای
اتوماتای پشته ای معین
تشخیص مستقل از متن بودن یک زبان
زبان مستقل از متن معین
ساخت اتوماتای پشته ای با استفاده از گرامر در فرم گریباخ
فصل ۷ : ماشین های تورینگ (TM)
ماشین تورینگ استاندارد
ماشین تورینگ در نقش پذیرنده زبان
ماشین تورینگ به عنوان مترجم
مدل های دیگر ماشین تورینگ
سکون دار
با نوار نیمه نامتناهی
آف لاین
با حافظه پیچیده تر
چند نواره
چند بعدی
نامعین
آتاماتای کراندار خطی (LBA)
فصل ۸ : زبان های بازگشتی – گرامر بدون محدویت و حساس به متن
زبان های بازگشتی و بازگشتی شمارش پذیر
گرامر بدون محدودیت
گرامر حساس به متن
ارتباط بین زبان ها، گرامرها و ماشین ها
سلسله مراتب چامسکی
بررسی بسته بودن زبان ها تحت عملگرها
فصل ۹ : تصمیم پذیری – کاهش پذیری
زبان های تصمیم نا پذیر
زبان های تصمیم پذیر
تصمیم پذیری در زبان های منظم
برشمارنده
کاهش پذیری

مناسب برای

کنکور کارشناسی ارشد مهندسی کامپیوتر‎
کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT)‎)
کنکور کارشناسی ارشد علوم کامپیوتر‎
عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر‎