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

گروه آموزش

 مفاهیم تخصصی برنامه نویسی و مهندسی نرم افزار

مفاهیم تخصصی برنامه نویسی و مهندسی نرم افزار

مخاطبین دوره:

1- افرادی که برای اولین بار به سمت یادگیری زبان برنامه نویسی می آیند و قبلا زبان دیگری را کار نکرده اند و با مفاهیم برنامه نویسی آشنا نیستند. این افراد پس این دوره می توانند هر زبان دیگری را به سرعت یادبگیرند چرا که مفاهیم تمام زبان ها را در این دوره می آموزند و همچنین با اصول کد نویسی و تکنیک های مهندسی نرم افزار ، اصول دیباگ کردن پروژه و ... آشنا می شوند.
2- افرادی که قصد تدریس زبان ++C , C را دارند.
3- افرادی که قصد یادگیری زبان ++C به صورت حرفه ای و مفهومی را دارند. 


این دوره برای افرادی مناسب است که با مفاهیم برنامه نویسی آشنا نیستند و یا با جزئیات مفاهیم برنامه نویسی آشنا نیستند.


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


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

 

لیست سرفصل های دوره:

 

ساختار زبان ++C

 

کتابخانه ی قالب استاندارد (STL)

 

محیط Visual Studio

 

متغیرها و داده ها

 

فضای نام (NameSpace)

 

مهندسی نرم افزار 1

 

ساختارهای کنترلی 1 (Control Flow)

 

ساختارهای کنترلی 2 (Control Flow)

 

داده های شمارشی و ساختارها

 

آرایه ها - Array

 

اشاره گرها - C++ Pointer

 

رشته ها - String

 

توابع - Function

 

شی گرایی - Basic OOP Concepts

 

مهندسی نرم افزار 2

برنامه نویسی تجاری با #C

برنامه نویسی تجاری با #C

مخاطبین:

1- افرادی که هیچ آشنایی با زبان برنامه نویسی #C ندارند و قصد یادگیری این زبان را دارند.
2- افرادی که قصد یادگیری این زبان و ورود به بازار کار را دارند و تمایل به نوشتن برنامه های تجاری در کوتاه ترین زمان ممکن دارند.
3- افرادی که اموخته های آنها در خصوص زبان برنامه نویسی #C پراکنده است و توانایی به انجام رساندن پروژه ها را ندارد و قصد یادگیری برنامه نویسی در این زبان به سبک اصولی را دارند.



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

زبان #C بسیار گسترده است و برخلاف زبان هایی چون VB , Delphi که در گذشته برای نوشتن برنامه های ویندوزی استفاده می شدند امکانات زیادی را در اختیار برنامه نویس قرار می دهد و همین امر موجب شده است تا یادگیری این زبان برخلاف بسیاری از زبان ها نیاز به صبر و حوصله و پشتکار داشته باشد.

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

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

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

 

لیست سرفصل های دوره:

 

معماری NET Framework.

 

محیط توسعه

 

مبانی #C

 

C# GUI

 

متغیرها و نوع داده

 

عملگرها

 

ساختارهای شرطی

 

ساختارهای کنترلی

 

آرایه ها و رشته ها

 

توابع

 

کار با فایل ها و دایرکتوری ها

 

تکنیک های Debugging

 

مفهوم خطا و Exception Handling

 

Windows API

 

کلاس ها و اشیاء

 

عبارات منظم

 

کار با پایگاه داده

 

گزارش گیری

 

معماری سه لایه

برنامه نویسی سیستمی ++C سطح متوسط

برنامه نویسی سیستمی ++C سطح متوسط

مخاطبین:

1- علاقمندان به یادگیری کامل زبان قدرتمند ++C
2- مدرسان زبان ++C بویژه اساتید دانشگاه
3- علاقمندان به حوزه هک و امنیت جهت نوشتن نرم افزار های امنیتی
4- علاقمندان به برنامه نویسی سیستمی

توضیحات:

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

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

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

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

این دوره خداحافظی با مباحث تکراری و خسته کننده در ++C مقدماتی است. ++C یعنی برنامه نویسی وب ، موبایل ، دسکتاپ و...

 

لیست سرفصل های دوره:

 

Namespace

 

String Class

 

File and Stream

 

Pointers

 

Modern Function

 

OOP

 

Windows API

 

Exception Handling

 

Pre-processor Commands

 

Macro And Header File

 

Other Data Types

 

Main Funection

 

Project A

 

Project B

 

Project C

برنامه نویسی سیستمی ++C سطح پیشرفته

برنامه نویسی سیستمی ++C سطح پیشرفته

مخاطبین:
 
  1- علاقمندان به یادگیری کامل زبان قدرتمند ++C
  2- مدرسان زبان ++C بویژه اساتید دانشگاه
  3- علاقمندان به حوزه هک و امنیت جهت نوشتن نرم افزار های امنیتی
  4- علاقمندان به برنامه نویسی سیستمی
  5- مدیران سیستم های امنیتی
  6- علاقمندان به نوشتن نرم افزار های امنیتی و شبکه
  7- برنامه نویسان ارشد
  8- علاقمندان به تحلیل حملات شبکه ، بدافزار ها ، مهندسی معکوس
 
  ++C جدا از کاربرد گسترده ای که دارد قدرت آن در نوشتن برنامه های سیستمی موجب شده هنوز هم در بسیاری از شرکت ها به جهت نوشتن برنامه های سیستمی مورد استفاده قرار گیرد. این دوره ابعاد دیگری از ++C را به علاقمندان به این زبان نشان می دهد و آنها را برای نوشتن برنامه هایی با peformace بالا آماده می کند.
 
  سرفصل های آماده شده برای این دوره برنامه نویسان را در پایان دوره قادر به نوشتن برنامه های کاربردی و تجاری و موارد مورد نیاز شرکت ها می کند.
 
  لیست سرفصل های دوره:

Dynamic Memory Allocation

  - کاربرد حافظه ی پویا در برنامه نویسی
  - عملگرهای new و delete
  - بررسی توابع مربوط به کار با حافظه
  - تعیین اندازه ی ارایه بعد از اجرای برنامه
  - تخصیص حافظه ی پویا برای اشیاء

 Templates

  - مفهوم کلاس template و کاربرد آن
  - نحوه ی تعریف الگو
  - تکرار کننده ها

Map   

  - کاربرد قالب map
  - ذخیره و بازیابی در map
  - معرفی پارامترهای کار با map

Stack

  - معرفی کلاس پشته
  - بررسی متدهای ()back() ,push_back() ,pop_back
  - معرفی و کاربرد سایر اعضای کلاس پشته

List

  - معرفی ظرف ترتیبی list
  - تعریف list
  - حذف و افزودن به لیست
  - مرتب سازی

Queue

  - معرفی ساختمان داده ی queue
  - تعریف و بررسی اعضای کلاس صف
  - بررسی چند الگوریتم کاربردی

Multithreading

  - مفهوم نخ در سیستم عامل و نقش آن در برنامه نویسی
  - نحوه ی ایجاد نخ
  - مقداردهی نخ ها با تابع
  - ارسال ارگمان به نخ ها
  - Thread ID

CGI Programming

  - پروتکل HTTP و برنامه نویسی وب
  - مفهوم CGI و معماری آن
  - پیکربندی سرور برای CGI نویسی
  - نوشتن برنامه ی ماشین حساب تحت وب

DLL Programming

  - کاربرد کتابخانه ها در برنامه نویسی و انواع آنها
  - کلاس حافظه extern
  - معرفی ابزار های مربوط به نوشتن dll
  - تعریف فضای نام و کلاس و در dll
  - نوشتن یک dll برای رمزنگاری و استفاده از آن در برنامه دیگر

Socket Programming

  - مفهوم سوکت در برنامه نویسی
  - مفهوم پروتکل و جایگاه آن در سوکت نویسی
  - انواع سوکت و نحوه ی تعریف آن
  - معرفی توابع مربوط به کار با سوکت
  - نوشتن برنامه ی چت

Signal Handling

  - مفهوم سیگنال ها در سیستم عامل
  - معرفی هدرفایل و انواع سیگنال
  - کتابخانه signal.h
  - تابع ()signal
  - تابع ()raise

Project A

  - در حین دوره تعیین می گردد
    پروژه انفرادی

Project B

  - در حین دوره تعیین می گردد
    پروژه گروهی

Project C

  - در حین دوره تعیین می گردد
    پروژه تیمی

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

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

عملی - ویژه ی ورود به بازار کار - پروژه محور... پیش نیاز:  html و css (آشنایی مختصر) نسخه ی 7 php پس از سال ها بالاخره منتشر شد و به همراه خود ویژگی های جدیدی را آورد. باوجودی که برای برنامه نویسان مبتدی این ویژگی ها خیلی به چشم نمی آید اما در این دوره سعی شده است با توجه به سرفصل ها از امکانات این نسخه بهرمند شد. با توجه به اینکه این دوره ویژه ی آمادگی برای ورود به بازار کار است لذا برخلاف خیلی از سر فصل ها، در اینجا سعی شده است که برنامه نویس را با روش های اصولی کدزنی در پروژه های بزرگ و نیازمندی های علمی یک برنامه نویس برای انجام پروژه های تجاری آشنا کنیم. به همین جهت پس از یادگیری مباحث پایه و اساسی این زبان به هنگام ورود به مباحث میانی سرفصل ها هر علم آموز یک پروژه به سلیقه ی خود انتخاب کرده و با انتخاب یک قالب سایت آماده ایده ی خود را بر روی آن قالب پیاده سازی می کند. این موضوع دو امتیاز بزرگ دارد 1- مهم ترین مزیت این دوره این است که در کنار سرفصل های ارائه شده علم آموز با مهندسی نرم افزار در طراحی و برنامه نویسی وب آشنا و همچنین تحلیل نیاز و تحلیل بانک اطلاعاتی را برای ایده و پروژه ی خود فرا می گیرد. 2- یادگیری مباحث مختلف برنامه نویسی هرچند هم که کامل باشد اما مادامی که کنار یکدیگر منجر به تولید یک محصول و یک ایده ی پیاده سازی شده نشود با ضعف ها و نیاز های دیگر در برنامه نویسی آشنا نخواهد شد. بعنوان مثال در پیاده سازی یک سایت با جزئیات ساخت پنل مدیریت ، پیاده سازی سرویس ایمیل ، پنل کاربران ، امنیت سایت که اگر در قالب یک پروژه انجام نشود قطعا پر از ضعف هایی خواهد بود که جز افراد با تجربه سایر افراد که صرفا دوره ای را بدون پروژه فرا گرفته اند قادر به انجام آن نخواهند بود. لذا مدرس در این دوره تجارب برنامه نویسی در این حوزه را در قالب پروژه های متنوع علم آموزان به آنها منتقل می کند و از آنجا که پروژه های علم آموزان متنوع خواهد بود لذا شرکت کنندگان در دوره همزمان با مدل پیاده سازی ایده های متفاوت آشنا و تجربیات هر یک از پروژه ها را فرا خواهند گرفت.

برگزاری جلسه آشنایی با html و css

لیست سرفصل های دوره:
وب و برنامه نویسی
  - وب و پروتکل http
  - زبان های سمت سرور
  - زبان های سمت کاربر
  - مکانیزم اجرای درخواست ها در وب
  - مرورگرها و استانداردها


HTML AND CSS
  - ساختار صفحات html
  - معرفی تگ های html
  - نقش css در طراحی
  - مدل های استفاده از کدهای css
  - DIV / Class

پیشنیازهای برنامه نویسی وب
   - راه اندازی وب سرور محلی
   - نصب wamp و پیکربندی آن در ویندوز
   - انتخاب IDE
   - نصب و تنظیم PHP Designer

مقدمات برنامه نویسی PHP
   - ساختار فایل PHP
   - دستورات چاپ echo و print
   - تفاوت کوتیشن و دابل کوتیشن در چاپ
   - کدگذاری فایل ها ASCII \ UTF-8
   - توضیحات(Comment) در PHP

متغیرها ، داده ها و توابع مربوطه
   - مفهوم متغیرها و تعریف آنها
   - انواع داده ها
   - تبدیل نوع ها - تغییر نوع یک متغیر
   - ثابت ها
   - متغیرهای آرایه ای
   - NULL , empty
   - دستور unset

عملگرها
   - انواع عملگرها در PHP
   - عملگرهای ریاضی و محاسباتی
   - عملگرهای رشته ای
   - عملگرهای مقایسه ای
   - عملگرهای بیتی
   - عملگرهای منطقی
   - عملگرهای انتساب
   - عملگرهای شرطی

ساختارهای شرطی
   - عبارت شرطی if
   - عبارت های else, else if
   - عبارت شرطی switch
   - دستور break

ساختار های کنترلی
   - حلقه های for
   - حلقه های for each
   - حلقه های while
   - حلقه های do while
   - دستورهای continue و break
   - nested loop

متغیرها و آرایه های سراسری و فوق سراسری
   - متغیرهای سراسری
   - تعریف متغیرهای global
   - آرایه های فوق سراسری
   - انواع آرایه های superglobal
   - کاربرد و استفاده از متغیرهای فوق سراسری

رشته ها و توابع مربوطه
   - بررسی توابع جایگزین ، جستجو ، برگرداندن یک رشته و موقعیت آن
   - بررسی توابع مربوط به رمزنگاری رشته از جمله MD5
   - توابع مربوط به طول رشته و مقایسه و الحاق رشته
   - توابع مربوط به بررسی نوع رشته و امنیت رشته های ورودی
   - توابع کار با رشته های html , php

ارتباط بین کدهای PHP وHTML
   - معرفی و کاربرد دستورات include , include_once
   - معرفی و کاربرد دستورات require, require_once
   - بارگزاری فایل های html , php در فایل PHP
   - استفاده از تگهای html , css در زیباسازی خروجی

تاریخ و زمان
   - تابع Date و فرمت بندی خروجی
   - تبدیلات به timestamp
   - بررسی اختلاف زمانی بین دو تاریخ
   - کتابخانه ی jdf و تاریخ هجری شمسی

توابع
   - تعریف و دلایل استفاده تابع در برنامه نویسی
   - انواع تابع و دسته بندی بر اساس ورودی/خروجی
   - نحوه ی تعریف تابع
   - فراخوانی توابع

فایل ها و دایرکتوری ها
   - باز کردن و بستن ، خواندن و نوشتن ، ایجاد و حذف فایل
   - ایجاد پوشه و حذف و بررسی وجود فایل و پوشه
   - فشرده کردن(zip)پوشه و جستجوی یک پوشه
   - آپلود یک یا چند فایل همزمان
   - بررسی تکنیک نفوذ در اپلود فایل و نحوه ی امن کردن فرایند آپلود


فرم ها در PHP
   - پردازش اطلاعات دریافتی به روش GET
   - پردازش اطلاعات دریافتی به روش POST
   - پردازش اطلاعات دریافتی از FILE
   - پردازش اطلاعات دریافتی از فرم با ویژگی hidden
   - توابع مربوط به بررسی مقادیر ارسالی از فرم

تصاویر
   - نحوه ساخت تصویر در PHP
   - رنگ آمیزی تصویر
   - مشخص کردن نوع تصویر
   - نوشتن بر روی تصاویر
   - ایجاد تصویر امنیتی برای سایت(captcha)

شی گرایی در PHP
   - مفهوم کلاس و شی و اجزای آن و نحوه ی تعریف
   - نوشتن متد و ویژگی کلاس(getter/setter)
   - بررسی دستورات , final, self , $this , static
   - مفاهیم ارث بری، مخفی سازی، چند شکلی ، انتزاع
   - کپی کردن اشیاء با استفاده از clone

کوکی ها و نشست ها در PHP
   - مفهوم کوکی و نشست و تفاوت آنها
   - ایجاد ، تنظیم ، خواندن و حذف کوکی
   - ایجاد ، تنظیم ، خواندن و حذف نشست
   - تکنیک نفود از طریق سشن ها و امن کردن آن ها


ایمیل در PHP
   - پیش نیاز های کار با ایمیل در PHP
   - آشنایی با پروتکل های ارسال ایمیل
   - ارسال ایمیل متنی
   - ارسال ایمیل به همراه کد HTML
   - ارسال ایمیل با همراه کردن فایل پیوست

PDO و کار با پایگاه داده
   - اتصال به mysql و کار با ان از کنسول
   - معرفی phpmyadmin
   - بررسی انواع روش های اتصال به بانک و تفاوت آنها
   - نفوذ به بانک به روش SQL injection و ایجاد امنیت در کد
   - کار با پایگاه های داده به روش PDO

امنیت و کشف حفره های امنیتی در وبسایت های PHP
   - مفهوم تست نفوذ و انواع روش های آن
   - بررسی حفره ی امنیتی XSS
   - بررسی حفره ی امنیتی SQL Injection
   - بررسی حفره ی امنیتی RCE
   - نوشتن firewall برای سایت

پروژه سایت فروشگاه آنلاین

   - طراحی و کدنویسی

 

دوره حضوری برنامه نویسی وب با PHP7

دوره حضوری برنامه نویسی وب با PHP7

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

 

لیست سرفصل های دوره:


وب و برنامه نویسی
  - وب و پروتکل http
  - زبان های سمت سرور
  - زبان های سمت کاربر
  - مکانیزم اجرای درخواست ها در وب
  - مرورگرها و استانداردها


HTML AND CSS
  - ساختار صفحات html
  - معرفی تگ های html
  - نقش css در طراحی
  - مدل های استفاده از کدهای css
  - DIV / Class

پیشنیازهای برنامه نویسی وب
   - راه اندازی وب سرور محلی
   - نصب wamp و پیکربندی آن در ویندوز
   - انتخاب IDE
   - نصب و تنظیم PHP Designer

مقدمات برنامه نویسی PHP
   - ساختار فایل PHP
   - دستورات چاپ echo و print
   - تفاوت کوتیشن و دابل کوتیشن در چاپ
   - کدگذاری فایل ها ASCII \ UTF-8
   - توضیحات(Comment) در PHP

متغیرها ، داده ها و توابع مربوطه
   - مفهوم متغیرها و تعریف آنها
   - انواع داده ها
   - تبدیل نوع ها - تغییر نوع یک متغیر
   - ثابت ها
   - متغیرهای آرایه ای
   - NULL , empty
   - دستور unset

عملگرها
   - انواع عملگرها در PHP
   - عملگرهای ریاضی و محاسباتی
   - عملگرهای رشته ای
   - عملگرهای مقایسه ای
   - عملگرهای بیتی
   - عملگرهای منطقی
   - عملگرهای انتساب
   - عملگرهای شرطی

ساختارهای شرطی
   - عبارت شرطی if
   - عبارت های else, else if
   - عبارت شرطی switch
   - دستور break

ساختار های کنترلی
   - حلقه های for
   - حلقه های for each
   - حلقه های while
   - حلقه های do while
   - دستورهای continue و break
   - nested loop

متغیرها و آرایه های سراسری و فوق سراسری
   - متغیرهای سراسری
   - تعریف متغیرهای global
   - آرایه های فوق سراسری
   - انواع آرایه های superglobal
   - کاربرد و استفاده از متغیرهای فوق سراسری

رشته ها و توابع مربوطه
   - بررسی توابع جایگزین ، جستجو ، برگرداندن یک رشته و موقعیت آن
   - بررسی توابع مربوط به رمزنگاری رشته از جمله MD5
   - توابع مربوط به طول رشته و مقایسه و الحاق رشته
   - توابع مربوط به بررسی نوع رشته و امنیت رشته های ورودی
   - توابع کار با رشته های html , php

ارتباط بین کدهای PHP وHTML
   - معرفی و کاربرد دستورات include , include_once
   - معرفی و کاربرد دستورات require, require_once
   - بارگزاری فایل های html , php در فایل PHP
   - استفاده از تگهای html , css در زیباسازی خروجی

تاریخ و زمان
   - تابع Date و فرمت بندی خروجی
   - تبدیلات به timestamp
   - بررسی اختلاف زمانی بین دو تاریخ
   - کتابخانه ی jdf و تاریخ هجری شمسی

توابع
   - تعریف و دلایل استفاده تابع در برنامه نویسی
   - انواع تابع و دسته بندی بر اساس ورودی/خروجی
   - نحوه ی تعریف تابع
   - فراخوانی توابع

فایل ها و دایرکتوری ها
   - باز کردن و بستن ، خواندن و نوشتن ، ایجاد و حذف فایل
   - ایجاد پوشه و حذف و بررسی وجود فایل و پوشه
   - فشرده کردن(zip)پوشه و جستجوی یک پوشه
   - آپلود یک یا چند فایل همزمان
   - بررسی تکنیک نفوذ در اپلود فایل و نحوه ی امن کردن فرایند آپلود


فرم ها در PHP
   - پردازش اطلاعات دریافتی به روش GET
   - پردازش اطلاعات دریافتی به روش POST
   - پردازش اطلاعات دریافتی از FILE
   - پردازش اطلاعات دریافتی از فرم با ویژگی hidden
   - توابع مربوط به بررسی مقادیر ارسالی از فرم

تصاویر
   - نحوه ساخت تصویر در PHP
   - رنگ آمیزی تصویر
   - مشخص کردن نوع تصویر
   - نوشتن بر روی تصاویر
   - ایجاد تصویر امنیتی برای سایت(captcha)

شی گرایی در PHP
   - مفهوم کلاس و شی و اجزای آن و نحوه ی تعریف
   - نوشتن متد و ویژگی کلاس(getter/setter)
   - بررسی دستورات , final, self , $this , static
   - مفاهیم ارث بری، مخفی سازی، چند شکلی ، انتزاع
   - کپی کردن اشیاء با استفاده از clone

کوکی ها و نشست ها در PHP
   - مفهوم کوکی و نشست و تفاوت آنها
   - ایجاد ، تنظیم ، خواندن و حذف کوکی
   - ایجاد ، تنظیم ، خواندن و حذف نشست
   - تکنیک نفود از طریق سشن ها و امن کردن آن ها


ایمیل در PHP
   - پیش نیاز های کار با ایمیل در PHP
   - آشنایی با پروتکل های ارسال ایمیل
   - ارسال ایمیل متنی
   - ارسال ایمیل به همراه کد HTML
   - ارسال ایمیل با همراه کردن فایل پیوست

PDO و کار با پایگاه داده
   - اتصال به mysql و کار با ان از کنسول
   - معرفی phpmyadmin
   - بررسی انواع روش های اتصال به بانک و تفاوت آنها
   - نفوذ به بانک به روش SQL injection و ایجاد امنیت در کد
   - کار با پایگاه های داده به روش PDO

امنیت و کشف حفره های امنیتی در وبسایت های PHP
   - مفهوم تست نفوذ و انواع روش های آن
   - بررسی حفره ی امنیتی XSS
   - بررسی حفره ی امنیتی SQL Injection
   - بررسی حفره ی امنیتی RCE
   - نوشتن firewall برای سایت