آموزش زیرساخت زبان برنامه‌نویسی سی شارپ (Beginner)

poster
پیش‌نمایش دوره

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

برگزارکننده:  مکتب‌خونه  مکتب‌خونه

برگزارکننده:

مکتب‌خونه
3.8 (4 رای)
سطح: مقدماتی
 پلاس

آنچه در این دوره می‌آموزیم:

 تبدیل Data-Type های Built-in و User-Define به یگدیگر، اصطلاحات و چالش‌ها

 انواع عملگرها

 انواع ساختارهای تصمیم گیری (if - switch)

 انواع ساختارهای تکرار (for - while - do - while)

 انواع آرایه ها (Single Dimensional Array - Multi Dimensional Array - Jagged Array) و متدهای کلاس Array

 فرق (Value-Type و Reference-Type) و بررسی آن‌ها در حافظه

 انواع متد (Method Overloading - Static Method - Anonymous Types - Method Chaining)

 انواع Throw Exception

 انواع (Field - Enumeration - Property - Indexer - Constructor - Structure)

 انواع کلاس و مفهوم شیء گرایی (Inheritance - Polymorphism - Abstraction - Encapsulation)

 انواع (Override - Operator overloading)

 انواع Access Modifier یا Access Specification

 آشنایی با مدل های فرآیند توسعه نرم افزار ( Waterfall - Scrum & Agile)

 آشنایی با الگوهای معماری نرم‌افزار (Layered pattern - Model View Controller)

 آشنایی به بعضی از الگوهای طراحی (SOLID - Design Pattern) جهت نوشتن Clean-Code

 خطایابی کدها و تشخیص اصلاحات

پیش‌نیاز‌ها

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

سرفصل‌های دوره آموزش زیرساخت زبان برنامه‌نویسی سی شارپ (Beginner)

تعریض در تبدیل انواع داده‌ها | Chapter First: Expanding the conversion of data types

در این فصل (از جلسه اول الی دهم با انواع Data-Type ها و هم‌چنین با کلیدواژه‌های Check و Uncheck در زمان تبدیل Data-Type ها ) آشنا می‌شوید.

  انواع داده‌ها در دات نت (Data types in NET)
مشاهده
"04:37  
  توضیح در مورد تبدیل نوع ضمنی (Explanation of implicit type conversion)
مشاهده
"14:28  
  بررسی مثال‌ها و خطاها در زمان تبدیل نوع ضمنی
"06:10  
  توضیح در مورد تبدیل نوع صریح (Explanation of explicit type conversion)
"06:42  
  بررسی مثال‌ها و خطاها در زمان تبدیل نوع صریح
"09:51  
  کاربرد کلمه کلیدی Checked
"08:44  
  کاربرد کلمه کلیدی UnChecked
"07:03  
  پیام مناسب هنگام وقوع سرریز
"16:20  
  اصطلاح Boxing and Unboxing
"23:56  
  نقش کلاس System.Convert در تبدیل داده‌ها
"08:05  
ساختارهای تصمیم گیری | Chapter Second: Decision making structures

در این فصل (از جلسه اول الی هشتم با انواع عملگرها) (از جلسه نهم الی هجدهم با انواع ساختار IF و Switch) آشنا می‌شوید.

  بررسی عملگرهای محاسباتی یا ریاضی
مشاهده
"16:38  
  بررسی عملگرهای رابطه‌ای یا مقایسه‌ای
مشاهده
"20:37  
  بررسی عملگرهای منطقی
"12:42  
  بررسی عملگرهای بیتی
"16:06  
  بررسی عملگرهای افزایش و کاهش
"05:32  
  بررسی عملگرهای انتسابی
"23:18  
  بررسی عملگرهای متفرقه
"09:36  
  بررسی تقدم عملگرها
"12:31  
  ساختار دستور if
"05:34  
  چند مثال کاربردی با دستور if
"23:56  
  ساختار دستور if else
"03:18  
  چند مثال کاربردی با دستور if else
"11:40  
  ساختار دستور if else-if
"05:55  
  چند مثال کاربردی با دستور if else-if
"15:01  
  ساختار دستور Nested if
"03:47  
  چند مثال کاربردی با دستور Nested if
"11:07  
  ساختار دستور switch
"07:08  
  چند مثال کاربردی با دستور switch
"11:07  
ساختارهای تکرار | Chapter Third: Structures of Repetition

در این فصل (از جلسه اول الی دوازدهم با انواع ساختار حلقه for) (از جلسه سیزدهم الی بیست و چهارم با انواع ساختار حلقه While) و (از جلسه بیست و پنجم الی سی و ششم با انواع ساختار حلقه Do-While) آشنا می‌شوید.

  ساختار حلقه for
مشاهده
"05:57  
  آموزش ساختار حلقه for در NET Core.
مشاهده
"14:44  
  مثال کاربردی با حلقه for - بخش اول
"10:19  
  مثال کاربردی با حلقه for - بخش دوم
"10:12  
  ساختار حلقه Nested for
"06:54  
  آموزش ساختار حلقه Nested for در Net Core.
"14:38  
  مثال کاربردی با حلقه Nested for - بخش اول
"24:52  
  مثال کاربردی با حلقه Nested for - بخش دوم
"10:01  
  دستور break در ساختار حلقه for
"04:12  
  دستور break در ساختار حلقه for و Nested for
"08:54  
  دستور continue در ساختار حلقه for
"03:05  
  دستور continue در ساختار حلقه for و Nested for
"07:01  
  ساختار حلقه while
"02:58  
  آموزش ساختار حلقه while در NET Core
"17:20  
  مثال کاربردی با حلقه while - بخش اول
"17:53  
  مثال کاربردی با حلقه while - بخش دوم
"23:32  
  ساختار حلقه Nested while
"04:02  
  آموزش ساختار حلقه Nested while در NET Core
"21:47  
  مثال کاربردی با حلقه Nested while - بخش اول
"13:29  
  مثال کاربردی با حلقه Nested while - بخش دوم
"17:04  
  دستور break در ساختار حلقه while
"02:29  
  دستور break در ساختار حلقه while و nested while
"12:09  
  دستور continue در ساختار حلقه while
"03:41  
  دستور continue در ساختار حلقه while و nested while
"07:18  
  ساختار حلقه do-while
"04:47  
  آموزش ساختار حلقه do-while در NET Core
"12:31  
  مثال کاربردی با حلقه do-while - بخش اول
"10:49  
  مثال کاربردی با حلقه do-while - بخش دوم
"10:24  
  ساختار حلقه Nested do while
"04:05  
  آموزش ساختار حلقه Nested do-while در NET Core
"11:45  
  مثال کاربردی با حلقه Nested do-while - بخش اول
"11:20  
  مثال کاربردی با حلقه Nested do-while - بخش دوم
"14:22  
  دستور break در ساختار حلقه do-while
"03:35  
  دستور break در ساختار حلقه do-while و nested do-while
"14:35  
  دستور continue در ساختار حلقه do-while
"04:22  
  دستور continue در ساختار حلقه do-while و nested do-while
"07:20  
آرایه‌ها | Chapter Fourth: Arrays

در این فصل (از جلسه اول الی هشتم با Single Dimensional Array) (از جلسه نهم الی پانزدهم با Multi Dimensional Array) (از جلسه شانزدهم الی بیست و دوم با Jagged Array) و (از جلسه بیست و سوم الی سیم با انواع Method های کلاس Array) آشنا می‌شوید.

  بررسی جامع و نکات مهم
مشاهده
"15:48  
  اعلان و مقداردهی اولیه در آرایه تک بعدی
"21:18  
  تخصیص مقدار به عناصر آرایه تک بعدی
"20:05  
  بررسی Exception در زمان تخصیص آرایه تک بعدی
"22:29  
  بازیابی داده‌های Value Type و Reference Type از آرایه تک بعدی
"18:15  
  دسترسی به عناصر آرایه تک بعدی از طریق حلقه for
"17:52  
  دسترسی به عناصر آرایه تک بعدی از طریق حلقه while
"12:44  
  دسترسی به عناصر آرایه تک بعدی از طریق حلقه foreach
"17:09  
  اعلان و مقداردهی اولیه در آرایه چند بعدی
"14:42  
  تخصیص مقدار به عناصر آرایه چند بعدی
"15:29  
  بررسی Exception در زمان تخصیص آرایه چند بعدی
"10:55  
  بازیابی داده‌های Value Type و Reference Type از آرایه چند بعدی
"14:20  
  دسترسی به عناصر آرایه چند بعدی از طریق حلقه for
"08:29  
  دسترسی به عناصر آرایه چند بعدی از طریق حلقه while
"06:27  
  دسترسی به عناصر آرایه چند بعدی از طریق حلقه foreach
"16:51  
  اعلان و مقداردهی اولیه در آرایه دندانه‌دار
"07:25  
  تخصیص مقدار به عناصر آرایه دندانه‌دار
"10:09  
  بررسی Exception در زمان تخصیص آرایه دندانه‌دار
"12:42  
  بازیابی داده‌های Value Type و Reference Type
"10:31  
  دسترسی به عناصر آرایه دندانه‌دار از طریق حلقه for
"10:21  
  دسترسی به عناصر آرایه دندانه‌دار از طریق حلقه while
"09:45  
  دسترسی به عناصر آرایه دندانه دار از طریق حلقه foreach
"10:07  
  بررسی متد Clear در کلاس Array
"16:24  
  بررسی متد Copy در کلاس Array
"18:08  
  بررسی متد ConstrainedCopy در کلاس Array
"10:51  
  بررسی متد Equals در کلاس Array
"12:05  
  بررسی متد IndexOf در کلاس Array
"15:09  
  بررسی متد LastIndexOf در کلاس Array
"06:56  
  بررسی متد Reverse در کلاس Array
"08:48  
  بررسی متد Sort در کلاس Array
"05:10  
اصلاح کننده متدها و پارامترها | Chapter Fifth: Modifying methods and parameters

در این فصل (از جلسه اول الی دوم با مفهوم شیء گرایی و کلاس) (از جلسه سوم الی بیستم با انواع Method به جزء Extension Method و Generic Method) (از جلسه بیست و یکم الی بیست و پنجم با انواع Throw Exception) آشنا می‌شوید.

  مفهوم شی‌گرایی، کلاس و شیء (Object) در OOP
مشاهده
"08:15  
  اعضای درون کلاس
"04:31  
  بررسی متد به صورت جامع
"07:36  
  فرق متد private و public
"14:13  
  تولید متد با خروجی void
"07:28  
  تولید متد با خروجی ValueType
"10:00  
  تولید متد با خروجی ReferenceType
"21:08  
  تولید متد با پارامترهای ValueType
"18:34  
  تولید متد با پارامترهای ReferenceType
"13:14  
  بررسی کلید واژه out
"15:18  
  بررسی کلید واژه ref
"08:33  
  بررسی کلید واژه params
"12:59  
  بررسی operators and expressions درون متد
"22:42  
  تولید متد بازگشتی
"11:08  
  بررسی اصطلاح Optional Parameter
"07:57  
  بررسی اصطلاح Named Parameter
"07:20  
  بررسی اصطلاح Method Overloading
"15:43  
  تولید static Method
"10:39  
  تولید Anonymous Types
"20:32  
  تولید Method Chaining
"16:21  
  بررسی Throw Exception
"10:45  
  بررسی Throw NullReferenceException
"09:32  
  بررسی Throw DivideByZeroException
"05:44  
  بررسی Throw FormatException
"14:14  
  بررسی Throw IndexOutOfRangeException
"10:17  
  فیلتر کردن Exception Handlers
"12:11  
  فراخوانی SVM از طریق Command Prompt
"10:22  
  ایجاد مستندات و بررسی برچسب‌های توصیه شده بر روی متدها
"16:38  
فیلد، شمارش، خصوصیات، نمایه‌ساز، سازنده، ساختار | Chapter Sixth: Field, Enum, Properties, Indexer, Constructor, Srtuct

در این فصل (از جلسه اولی الی نهم با انواع Field) (از جلسه دهم الی چهاردهم با انواع Enumeration) (از جلسه پانزدهم الی بیست و ششم با انواع Property) (از جلسه بیست و هفتم الی سی و دوم با انواع Indexer) (از جلسه سی و سوم الی چهلم با انواع Constructor) (از جلسه چهل و یکم الی چهل و ششم با انواع Structure) آشنا می‌شوید.

  بررسی فیلد به صورت جامع و فرق Field با Variable
مشاهده
"12:08  
  فرق فیلد private و public
"14:00  
  فرق فیلد non-static و static
"09:16  
  تولید فیلد ثابت (Constant Field)
"06:43  
  تولید فیلد فقط خواندنی (ReadOnly Field)
"12:22  
  فیلد از نوع داده ValueType
"21:08  
  فیلد از نوع داده ReferenceType
"14:02  
  تغییر مقدار فیلد درون Method و بررسی کلیدواژه this
"15:26  
  قرارداد نام‌گذاری در برنامه‌نویسی
"12:26  
  تعیین چگونگی ذخیره سازی انواع شمارشی ( Enumeration )
"14:23  
  تعریف متغیرهای شمارشی
"15:02  
  تعریف فیلدهای شمارشی
"16:12  
  تولید Enum Flags Attribute
"19:18  
  بررسی بعضی از Member های کلاس System.Enum
"15:41  
  بررسی خصوصیت (Property) به صورت جامع
"13:07  
  فرق خصوصیت private و public
"04:47  
  فرق خصوصیت non-static و static
"05:08  
  خصوصیت از نوع داده ValueType
"07:00  
  خصوصیت از نوع داده ReferenceType
"12:23  
  خصوصیت از نوع داده Enumeration
"13:55  
  خصوصیت از نوع داده Class
"08:22  
  خصوصیت فقط خواندنی (ReadOnly Property)
"06:58  
  خصوصیت فقط نوشتنی (WriteOnly Property)
"04:43  
  بررسی بعضی از Code Snippet های مختص Property
"23:06  
  تبدیل Field به Full Property
"09:54  
  تغییر مقدار Property درون Method و بررسی کلیدواژه this
"09:55  
  بررسی اشاره‌گر (Indexer) به صورت جامع
"09:46  
  فرق اشاره‌گر private و public
"12:10  
  فرق اشاره‌گر non-static و static
"20:46  
  تولید Indexer بر روی Single Dimensional Array
"11:48  
  تولید Indexer بر روی Multi Dimensional Array
"09:33  
  تولید Indexer Overloading و بررسی کلیدواژه های out و ref
"15:09  
  بررسی سازنده (Constructor) به صورت جامع
"07:22  
  تولید Default Constructor
"11:02  
  فرق سازنده private و public
"05:53  
  تولید Custom Constructor بدون تولید Default Constructor
"10:38  
  تولید Constructor Overloading
"13:58  
  استفاده از کلیدواژه this درون Block Code Constructor
"09:21  
  تولید Constructor Chaining
"13:01  
  تولید static constructor
"08:30  
  فرق Constant Field با ReadOnly Field در Constructor
"08:26  
  بررسی ساختار (Structure) به صورت جامع
"06:52  
  بررسی Member های درون Structure
"11:51  
  تعریف Root Structure
"15:25  
  بررسی سازنده Structure
"11:37  
  تعریف Structure درون Class
"06:54  
وراثت، (چند شکلی یا چندریختی) | Chapter Seventh: Inheritance, Polymorphism

در این فصل (از جلسه اول الی دوم با مفهوم Inheritance و Polymorphism) (از جلسه سوم الی ششم با انواع کلاس) (از جلسه هفتم الی بیست و یکم با انواع Inheritance + اصطلاحات) (از جلسه بیست و دوم الی سی و یکم با انواع Override) (از جلسه سی و دوم الی سی و نهم با انواع Operator overloading) آشنا می‌شوید.

  مفهوم Inheritance (وراثت - ارث بری) در شیء گرایی
مشاهده
"07:47  
  مفهوم Polymorphism (چندریختی) در شیء گرایی
"05:51  
  تولید Nested Class
"09:42  
  تولید Partial Class
"22:12  
  تولید Static Class
"14:03  
  تولید Anonymous Class و بررسی محدودیت‌ها
"20:37  
  مفهوم SuperClass و SubClass
"09:39  
  بررسی Parent تمامی کلاس‌ها
"12:34  
  بررسی Multi Inheritance
"06:00  
  اصطلاح Direct و InDirect در Inheritance
"04:11  
  مفهوم Inheritance Hierarchy
"15:33  
  اصطلاح Direct و InDirect در Inheritance Hierarchy
"07:23  
  اصطلاح Generalization (تعمیم) در Inheritance
"03:58  
  اصطلاح Specialization (تخصیص) در Inheritance
"02:53  
  اصطلاح Upcasting در روابط بین کلاس‌ها
"05:51  
  اصطلاح DownCasting در روابط بین کلاس‌ها
"15:33  
  تولید Inheritance Hierarchy بدون وجود Default Constructor در SuperClass
"16:49  
  تولید Sealed Class
"13:55  
  تولید Abstract Class
"23:33  
  تولید Constructor chaining و استفاده از کلید واژه base در Inheritance
"16:21  
  اصطلاح Member Hiding و Member Shadowing در Inheritance
"11:27  
  تولید کلید واژه virtual بر روی انواع Method و بررسی Method overriding
"13:52  
  تولید Sealed برای Method overriding
"18:49  
  تولید کلید واژه virtual بر روی انواع Property و بررسی Property overriding
"18:02  
  تولید Sealed برای Property overriding
"06:20  
  تولید کلید واژه virtual بر روی انواع Indexer و بررسی Indexer overriding
"13:30  
  تولید Sealed برای Indexer overriding
"12:58  
  تولید override مختص متد ()ToString
"13:30  
  روش استفاده از کلید واژه is و as
"17:36  
  تولید override مختص متد ()Equals
"17:15  
  تولید override مختص متد ()GetHashCode
"24:42  
  ساختار operator overloading به صورت کلی
"09:11  
  تولید operator overloading در Class و بر روی عملگر +
"09:24  
  تولید operator overloading در Class و بر روی عملگر -
"19:46  
  تولید operator overloading در Class و بر روی عملگر ==
"10:58  
  تولید operator overloading در Class و بر روی عملگر =!
"10:05  
  بررسی کلید واژه virtual بر روی Operator ها در Class
"03:33  
  تولید operator overloading در Struct و بر روی عملگر +
"14:05  
  تولید operator overloading در Struct عضو Class و بر روی عملگر -
"05:18  
انتزاع، کپسوله سازی | Chapter Eighth: Abstraction, Encapsulation

در این فصل (از جلسه اول الی دوم با مفهوم Abstraction و Encapsulation) (از جلسه سوم الی سیزدهم با انواع Interface) (از جلسه چهاردهم الی بیست و سوم با انواع Access Modifier یا Access Specification) آشنا می‌شوید.

  مفهوم Abstraction (انتزاع) در شیءگرایی
مشاهده
"03:38  
  مفهوم Encapsulation (کپسوله سازی) در شیءگرایی
"03:53  
  بررسی ساختار Interface به صورت جامع
"11:59  
  بررسی حالات مختلف Inheritance توسط Interface
"12:21  
  بررسی Nested Interface
"05:33  
  تولید Method در Interface و Implement Member Implicitly در Class و Struct
"16:14  
  تولید Property در Interface و Implement Member Implicitly در Class و Struct
"16:41  
  تولید Indexer در Interface و Implement Member Implicitly در Class و Struct
"13:14  
  بررسی Static Interface و Partial Interface
"19:30  
  بررسی Member Hiding در Interface و Implement Member Implicitly در Class
"15:02  
  بررسی Member Hiding در Interface و Implement Member Explicitly در Class
"18:58  
  Default Interface Member Implementation و بررسی آن در Net Framework و Net Core
"15:02  
  تولید Property از نوع Interface
"17:56  
  انواع Access Modifier یا Access Specification در Root Class، Root Struct و Root Interface
"09:31  
  انواع Access Modifier درون Member های Class
"17:06  
  تولید Public Class و Member های Public در Assembly جاری
"14:44  
  تولید Public Class و Member های Internal در Assembly جاری
"12:24  
  تولید Public Class و Member های Protected در Assembly جاری
"16:48  
  تولید Public Class و Member های Protected Internal در Assembly جاری
"13:59  
  تولید Public Class و Member های Private Protected در Assembly جاری
"14:05  
  تولید Public Class و Member های Private در Assembly جاری
"08:05  
  تولید Public Class و Member هایی با سطح دسترسی های مختلف در دو Assembly مجزا
"20:43  
  تولید Internal Class و Member هایی با سطح دسترسی های مختلف در دو Assembly مجزا
"04:20  
  اصطلاح Shallow Copy و Deep Copy
"19:25  
  تفاوت بین Interface و کلاس Abstract
"09:57  
فرآیند تولید پروژه (گام به گام) | Chapter Ninth: Project production process (step by step)

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

  Engine چه نوع پروژه هایی را می‌توانید پیاده‌سازی کرد
"12:08  
  فرآیند تولید نرم‌افزار
"10:59  
  مدل‌های فرآیند توسعه نرم‌افزار
"08:39  
  الگوهای معماری نرم افزار
"14:19  
  دمو چند پروژه پیاده‌سازی شده
"23:04  
  آشنایی با GitHub
"16:31  
  معرفی چند کتاب برنامه‌نویسی سی شارپ (زبان اصلی)
"22:29  

درباره دوره

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

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

- برنامه‌ها تحت ویندوز (دسکتاپ) که شامل: Windows Form و WPF و UWP

- برنامه تحت وب که شامل: Web Form Application (منسوخ شده: به دلیل تولید معماری MVC) و ASP .NET MVC 5 و ASP .NET CORE MVC (.NET 5 OR .NET 6 OR .NET 7)

- انواع سرویس‌ها که شامل: Windows Service و Web Service و Web API و WCF و gRPC Service و OpenAPI Service

- برنامه‌های موبایل که شامل: Xamarin (منسوخ شده: به دلیل وجود MAUI) و MAUI (استفاده از این پلتفرم در VS 2022)

- برنامه‌نویسی بازی که شامل فریم‌ورک‌های: Duality و Stride Game Engine و AGKSharp و MonoGame و UrhoSharp و FlatRedBall و FNA و Cocos2d-x و raylib و SpriteKit و Flax Engine و Godot Engine و CRYENGINE و NeoAxis 3D Engine و Banshee 3D و Unity و Phaser

 پکیج‌های آموزشی آینده در همین راستا 

- آموزش زیرساخت زبان برنامه‌نویسی سی‌شارپ (Pre-Intermediate)

- آموزش زیرساخت زبان برنامه‌نویسی سی‌شارپ (Intermediate)

- آموزش زیرساخت زبان برنامه‌نویسی سی‌شارپ (Advanced)

- آموزش زیرساخت زبان برنامه‌نویسی سی‌شارپ (Expert)

نکته: پس از گذراندن همین پکیج جاری شما می‌توانید نوع حوزه (ویندوز، وب، موبایل، بازی) خود را مشخص کنید که پیشنهاد به شما ویندوز است که فعلاً Back-End خود را تقویت کرده و زبان برنامه‌نویسی سی‌شارپ خود را قوی‌تر کنید؛ به دلیل اینکه حوزه‌های دیگر مثل وب درگیر Front-End Developer یا Front-End Design نیز می‌شوید.

درباره استاد

maktabkhooneh-teacher امیررضا تابش‌فرد

امیررضا تابش فرد فارغ التحصیل رشته مهندسی کامپیوتر گرایش تکنولوژی نرم افزار است. وی از سال 1383 به برنامه نویسی علاقه‌مند شده و با زبان‌های مختلفی مانند (QBasic، VB، Pascal، C) کار کرده است. ایشان از سال 1392 تمرکزش روی زبان سی شارپ بوده و برنامه‌نویسی وب را به صورت حرفه‌ای انجام داده است. در طول این سال‌ها، وی با شرکت‌های معتبری مانند ایران فاوا گسترش، گاتا، رایان اقتصاد نوین، فرابوم و توسعه سامانه‌های نرم‌افزاری نگین همکاری داشته و سامانه‌های تحت وب متنوعی را طراحی و پیاده‌سازی کرده است.

مشاهده پروفایل و دوره‌‌های استاد

نظرات کاربران

تا کنون نظری برای این دوره ثبت نشده است. برای ثبت نظر باید ابتدا در دوره ثبت نام کرده و دانشجوی دوره باشید.
1402-12-22
عالی
امیرحسین طاق درهء 1402-11-17
سلام.ضبط دوره کامل شده ؟یا قرار اضافه بشه؟
مکتب‌خونه
سلام دوست عزیز دوره جاری شامل ۲۴۱ جلسه و مدت زمان تقریبی ۵۰ ساعت می‌باشد ؛ بنابراین، این دوره با عنوان فعلی خود تکمیل شده و در بخش «درباره دوره» بسته‌های آموزشی آینده ذکر شده است. این دوره پروژه‌محور نیست و هدف اصلی آن تقویت زیرساخت‌های برنامه‌نویسی دانش‌پژوهان می‌باشد. از فصل اول تا فصل ششم، شما با اصول اولیه کدنویسی سی‌شارپ آشنا می‌شوید. در فصل هفتم و هشتم که شامل ۶۴ جلسه می‌باشد، به‌طور کامل به مباحث برنامه‌نویسی شیءگرا (OOP) پرداخته شده است. در فصل آخر نیز به برخی از مفاهیم مهندسی نرم‌افزار پرداخته شده و شما با الگوهای طراحی و معماری نرم‌افزار آشنایی مختصری پیدا خواهید کرد. در هر فصل از این دوره، مثال‌های کاربردی متناسب با محتوای آموزشی ارائه می‌شود و از مباحث فصول گذشته نیز در این مثال‌ها استفاده میگردد تا درک بهتری از مفاهیم جدید حاصل شود.
محمدحسین احمدی هینمانی 1403-03-20
دوه از نظر تدریس و محتوا در سطح خوبی قرار دارد تنها ایرادی که متاسفانه کوچیک هم نیست اینه که خیلی از مباحث رو استاد میتونست در همین دوره آموزش بده یا حداقل توضیحی در موردش بده که متاسفانه خیلی از مباحث رو ارجاع میدن به دوره های بعدی که قراره بیاد و از این طریق دوره های بعدی رو بازاریابی میکنن که موجب دلسردی و ناراحتی میشه.. امیدوارم این نظر به سمع و نظر دیگر کاربران و استاد و پشتیبانی برسه. باتشکر
مکتب‌خونه
سلام دوست عزیز نظر شما به استاد محترم ارجاع داده شد و پاسخ ایشان به شرح زیر می باشد: عنوان «Beginner» در انتهای دوره جاری به صراحت ذکر شده و دوره مذکور به مدت تقریبی ۵۰ ساعت طراحی شده است. این دوره به نحوی طراحی گردیده که تمامی نیازهای دانش پژوهان محترم را در ارتباط با موضوع دوره به طور کامل برآورده میسازد. همچنین، دوره مذکور شامل فصول متعددی است که در هر یک به بررسی و تحلیل یک مفهوم خاص (Concept) پرداخته شده و هیچ جلسه ای در رابطه با مفهوم مربوط به آن فصل از قلم نیفتاده است. در ابتدای هر فصل ، توضیح مختصری در خصوص محتوای فصل ارائه شده است. لازم به ذکر است که اطلاعات مربوط به بسته های آموزشی آینده در بخش «درباره دوره» قید گردیده و این امر کاملاً مرسوم است که مدرس هنگام تدریس یک مفهوم خاص (Concept)، بخشی از مطالب را برای تشریح در بسته های آموزشی آینده خود محفوظ دارد. مدرس دوره تأکید نموده اند که اشاره به مباحثی که مرتبط با محتوای دوره جاری نمی باشند، میتواند منجر به سوءتفاهم یا سردرگمی دانشپژوهان گرامی شود و از این رو، مطرح کردن آن ها در چارچوب دوره کنونی مناسب نخواهد بود.

دوره‌های پیشنهادی

سوالات پرتکرار

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟
بله؛ پس از سپری شدن مدت زمان دوره شما به محتوای دوره دسترسی خواهید داشت و می توانید از ویدئوها، تمارین، پروژه و دیگر محتوای دوره در صورت وجود استفاده کنید ولی امکان تصحیح تمارین توسط پشتیبان و دریافت گواهی نامه برای شما وجود نخواهد داشت.

سخن کوتاهی درباره کاربرد زبان برنامه نویسی #C 

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

زبان برنامه‌نویسی سی‌شارپ، یک‌زبان برنامه‌نویسی مدرن است. ویژگی‌های خود را از هم‌پایه‌های خود یعنی C و ++C می‌گیرد. زبان #C می‌تواند طیف گسترده‌ای از وظایف و فرایندها را در طیف‌های مختلف انجام دهد. باتوجه‌به نظرسنجی StackOverflow در سال ۲۰۱۹، ۳۱٫۹٪ از توسعه‌دهندگان حرفه‌ای زبان برنامه‌نویسی #C را برای توسعه نرم‌افزارهای خود ترجیح می‌دهند.

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

زبان برنامه‌نویسی #C در اکثر سیستم‌عامل‌هایی که منبع‌باز هستند و از چارچوب NET ویندوز استفاده می‌کنند کارایی دارد و به شما کارایی و مقیاس‌پذیری باورنکردنی ارائه می‌کند.

ساختار زبان سی شارپ: بررسی جامع و سریع

سی شارپ (C#) زبانی است که به سرعت در حال رشد و محبوبیت در دنیای برنامه‌نویسی است. این زبان شیءگرا و چندمنظوره، قابلیت‌های بسیاری را در اختیار برنامه‌نویسان قرار می‌دهد. یکی از مهم‌ترین جنبه‌های تسلط بر سی شارپ، درک عمیق ساختار آن است. در این توضیحات به عنوان مکمل دوره آموزش زیر ساخت زبان سی شارپ، به بررسی دقیق ساختار زبان سی شارپ خواهیم پرداخت.

آشنایی با ساختار زبان سی شارپ

زبان سی شارپ (C#‎) یک زبان برنامه‌نویسی شیءگرا و چندمنظوره است که ساختاری قدرتمند و انعطاف‌پذیر دارد. این ساختار شامل انواع داده، متغیرها، عملگرها، ساختارهای کنترل جریان، توابع، کلاس‌ها، اشیاء، ارث‌بری، چندریختی، استثناها و موارد دیگر می‌شود. درک عمیق این ساختار، کلید تسلط بر برنامه‌نویسی با سی شارپ و خلق برنامه‌های کاربردی و کارآمد است.

·         انواع داده مانند اعداد، کاراکترها و رشته‌ها، پایه و اساس ذخیره‌سازی اطلاعات هستند.

·         متغیرها به شما ‌امکان می‌دهند تا به این داده‌ها در حافظه کامپیوتر دسترسی پیدا کنید و آنها را دستکاری کنید. 

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

·         ساختارهای کنترل جریان به شما ‌امکان می‌دهند تا مسیر اجرای برنامه را بر اساس شرایط مختلف کنترل کنید. 

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

·         کلاس‌ها و اشیاء، بلوک‌های اصلی ساختار برنامه‌نویسی شیءگرا هستند. کلاس‌ها قالب‌هایی برای ایجاد اشیاء هستند و شامل ویژگی‌ها (متغیرها) و متدها (توابع) می‌شوند. اشیاء نمونه‌هایی از کلاس‌ها هستند و می‌توانند با یکدیگر تعامل داشته باشند.

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

·         چندریختی به اشیاء مختلف ‌امکان می‌دهد تا به پیام‌های مشابه به روش‌های مختلف پاسخ دهند.

·         استثناها برای مدیریت خطاهای غیرمنتظره در برنامه استفاده می‌شوند.

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

مفاهیم پایه در سی شارپ

برای درک بهتر ساختار زبان سی شارپ سخن در رابطه با مفاهیم پایه این زبان خالی از لطف نیست و به درک بهتر ساختار این زبان به ما خیلی کمک خواهد کرد. 

انواع داده در سی شارپ

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

  • اعداد صحیح (int): برای ذخیره اعداد صحیح استفاده می‌شود.
  • اعداد اعشاری (double): برای ذخیره اعداد با اعشار استفاده می‌شود.
  • کاراکتر (char): برای ذخیره یک کاراکتر استفاده می‌شود.
  • رشته (string): برای ذخیره متن استفاده می‌شود.
  • بولین (bool): برای ذخیره مقادیر درست یا غلط استفاده می‌شود.

متغیرها در سی شارپ

متغیرها برای ذخیره داده‌ها در حافظه کامپیوتر استفاده می‌شوند. در سی شارپ، برای تعریف یک متغیر، ابتدا نوع داده آن را مشخص می‌کنید و سپس نامی برای آن انتخاب می‌کنید.

C#‎

int age = 30;‎

double height = 1.75;‎

string name = "علی";‎

bool isStudent = true;‎

عملگرها در سی شارپ

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

  • عملگرهای حسابی: مانند +، -، *، /
  • عملگرهای مقایسه‌ای: مانند ==، !=, <, >
  • عملگرهای منطقی: مانند &&, ||, !

ساختار کنترل جریان در سی شارپ

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

شرطی (if, else, else if)

ساختار شرطی برای تصمیم‌گیری بر اساس شرایط مختلف استفاده می‌شود.

 

if (age >= 18)

}

    Console.WriteLine("شما بزرگسال هستید.");‎

{

else

}

    Console.WriteLine("شما نوجوان هستید.");‎

{

حلقه (for, while, do-while)

حلقه‌ها برای تکرار یک بلوک کد چندین بار استفاده می‌شوند.

for (int i = 0; i < 5; i++)

}

    Console.WriteLine(i);‎

{

سوئیچ (switch)

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

switch (day)

}

    case 1:‎

        Console.WriteLine("یکشنبه");‎

        break;‎

    case 2:‎

        Console.WriteLine("دوشنبه");‎‎‎‎‎‎

        break;‎

    default:‎

        Console.WriteLine("روز نامعتبر");‎‎‎‎

        break;‎

{

توابع در سی شارپ

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

int Sum(int a, int b)

}

    return a + b;‎

{

کلاس‌ها و اشیاء در سی شارپ

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

کلاس‌ها:

کلاس‌ها قالب‌هایی برای ایجاد اشیاء هستند. آن‌ها شامل متغیرها (ویژگی‌ها) و توابع (متدها) هستند.

class Person

}

    public string Name { get; set; }

    public int Age { get; set; }

 

    public void Greet()‎

    }

        Console.WriteLine("سلام، من " + Name + " هستم.");‎

    {

{

اشیاء:

اشیاء نمونه‌هایی از کلاس‌ها هستند.

Person person1 = new Person();‎

person1.Name = "علی";‎

person1.Age = 30;‎

person1.Greet();‎

ارث‌ب‎ری در C#‎

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

class Student : Person

{

    public string StudentId { get; set; }

}

چندریختی  در C#‎

چندریختی به توانایی اشیاء مختلف برای رفتار متفاوت با همان پیام اشاره دارد.

Animal animal;

animal = new Dog();

animal.MakeSound(); // خروجی: واق واق

animal = new Cat();

animal.MakeSound(); // خروجی: میو میو

استثناها

استثناها برای مدیریت خطاهای غیرمنتظره استفاده می‌شوند.

try

{

    int result = 10 / 0;

}

catch (DivideByZeroException ex)

{

    Console.WriteLine("خطا: تقسیم بر صفر");

}

سوالات متداول در مورد ساختار سی شارپ

1. تفاوت بین struct و class در سی شارپ چیست؟

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

2. چگونه می‌توان از آرایه‌ها در سی شارپ استفاده کرد؟

آرایه‌ها برای ذخیره مجموعه‌ای از عناصر هم‌نوع استفاده می‌شوند. برای تعریف یک آرایه، از سینتکس زیر استفاده کنید:

int[] numbers = new int[5];

3. تفاوت بین متدهای استاتیک و غیر استاتیک چیست؟

متدهای استاتیک به کلاس تعلق دارند و بدون ایجاد یک نمونه از کلاس قابل دسترسی هستند. متدهای غیر استاتیک به نمونه‌های کلاس تعلق دارند و برای دسترسی به آن‌ها باید یک شیء ایجاد کنید.

4. چگونه می‌توان از اشاره گرها در سی شارپ استفاده کرد؟

استفاده از اشاره گرها در سی شارپ محدود است و باید با دقت انجام شود. برای استفاده از اشاره گرها، باید از کلمه کلیدی unsafe استفاده کنید.

5. چه تفاوتی بین interface و abstract class وجود دارد؟

interface یک قرارداد است که کلاس‌ها باید پیاده‌سازی کنند. abstract class یک کلاس ناقص است که می‌تواند شامل پیاده‌سازی‌های جزئی باشد.

آموزش سی شارپ با مکتب خونه

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

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