پنج‌شنبه , جولای 16 2026
آخرین خبرها
خانه / آموزش مجازی / آموزش مجازی

آموزش مجازی

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

ردیفعنواننوع فایلتوضیحات
1نظریه زبانها و ماشین هاBook
Video1
Video2
Video3
Video4
Video5
Video6
Video7
Video8
Video9
Video10
Video11
Video12
Video13
Video14
Video15
Video16
Video17
Video19
Video20
Video21
Video22
Video23
Video24
video25
Video26
Video27
این درس یکی از مبانی نظری علوم کامپیوتر است و به **ساختارهای ریاضی پشت زبان‌ها، اتوماتا و محاسبات** می‌پردازد. محورهای اصلی آن معمولاً شامل موارد زیر است:

– آشنایی با انواع زبان‌ها: منظم، مستقل از متن، وابسته به متن و قابل بازگشت
– مطالعه‌ی ماشین‌های محاسباتی: FA ،NFA ،PDA ،Turing Machine
– رابطه‌ی بین زبان‌ها و ماشین‌ها و محدودیت‌های هر مدل
– گرامرهای رسمی و چگونگی تولید زبان‌ها
– مباحثی مثل تصمیم‌پذیری و مسائل حل‌نشدنی

هدف درس این است که دانشجو بفهمد **کدام مسائل قابل حل هستند، با چه نوع ماشین یا الگوریتمی، و تا چه حد پیچیده**. این پایه‌ی بسیاری از مباحث پیشرفته‌تر علوم کامپیوتر است.
2اصول طراحی کامپایلرVideo1
Video2-1
Video2-2
Video3
Video4
Video5
Video6-1
Video6-2
Video7-1
Video7-2
Video8-1
Video8-2
Video8-3
Video9-1
Video9-2
Video10-1
Video10-2
Video10-3
Video11-1
Video11-2
Video11-3
Video12
Video13
Video14
Video15
Video16
Video17
Video18
Video19
Video20
Video21
Video22
Video23
Video24
Video25
Video26
Video27
کامپایلر برنامه‌ای است که کد منبع (Source Code) نوشته شده به یک زبان برنامه‌نویسی سطح بالا (مانند C++, Java, Python) را دریافت کرده و آن را به کد معادل در یک زبان سطح پایین‌تر (معمولاً زبان ماشین یا اسمبلی) ترجمه می‌کند تا پردازنده بتواند آن را اجرا کند. درس اصول طراحی کامپایلر به بررسی مراحل و تکنیک‌های این فرایند ترجمه می‌پردازد.
مراحل اصلی یک کامپایلر (معمولی):

تحلیل لغوی (Lexical Analysis / Scanning):

کد منبع به توکن‌ها (Tokens) شکسته می‌شود. توکن‌ها کوچکترین واحدهای معنادار در زبان هستند (مانند کلمات کلیدی، شناسه‌ها، عملگرها، اعداد).
این مرحله معمولاً با استفاده از ماشین‌های حالت متناهی (Finite Automata) پیاده‌سازی می‌شود.

تحلیل نحوی (Syntax Analysis / Parsing):

ساختار کلی کد منبع بر اساس قواعد گرامری زبان بررسی می‌شود.
این مرحله اغلب منجر به ساخت یک درخت نحو انتزاعی (Abstract Syntax Tree – AST) می‌شود که ساختار منطقی برنامه را نشان می‌دهد.
روش‌هایی مانند تحلیل بالا به پایین (Top-Down Parsing) و پایین به بالا (Bottom-Up Parsing) در این بخش استفاده می‌شوند.

تحلیل معنایی (Semantic Analysis):

معنای کد بررسی می‌شود تا اطمینان حاصل شود که از نظر منطقی صحیح است (مثلاً مطابقت انواع داده در عملیات، تعریف شدن متغیرها قبل از استفاده).
اطلاعات لازم برای مراحل بعدی جمع‌آوری می‌شود.

تولید کد میانی (Intermediate Code Generation):

یک نمایش میانی و مستقل از زبان ماشین از برنامه تولید می‌شود (مانند کد سه‌آدرسی Three-Address Code). این کد ساده‌تر از کد اصلی و راحت‌تر برای بهینه‌سازی است.

بهینه‌سازی کد (Code Optimization):

کد میانی یا کد نهایی برای افزایش سرعت اجرا، کاهش مصرف حافظه، یا کاهش مصرف انرژی بهینه‌سازی می‌شود.
3برنامه سازی پیشرفته(زبان سی پلاس پلاس)Video1
Video2
Video3
Video4
Video5
Video6
Video7
Video8
Video9
Video10
Video11
Video12
Video13
Video14
Video15
Video15-2
Video16
Video17
معرفی مختصر درس برنامه‌سازی پیشرفته (C++)

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

مروری بر مفاهیم شیءگرایی (Object-Oriented Programming – OOP):

کلاس‌ها (Classes) و اشیاء (Objects).
کپسوله‌سازی (Encapsulation)، وراثت (Inheritance)، و چندریختی (Polymorphism).

مدیریت حافظه پیشرفته:

اشاره‌گرها (Pointers) و اشاره‌گرهای هوشمند (Smart Pointers) برای مدیریت ایمن‌تر حافظه.
تخصیص و آزادسازی حافظه پویا (Dynamic Memory Allocation) با new و delete.

قالب‌ها (Templates):

قالب‌های تابع (Function Templates): نوشتن توابعی که می‌توانند با انواع داده‌های مختلف کار کنند.
قالب‌های کلاس (Class Templates): نوشتن کلاس‌هایی که می‌توانند با انواع داده‌های مختلف کار کنند (مانند std::vector یا std::map در کتابخانه استاندارد C++).

اضربارگذاری عملگرها (Operator Overloading):

تعریف مجدد رفتار عملگرهای استاندارد (مانند +، -، ==) برای انواع داده سفارشی.

کلاس‌های انتزاعی (Abstract Classes) و رابط‌های مجازی (Pure Virtual Functions):

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

استثناها (Exceptions Handling):

مدیریت خطاها به صورت ساختاریافته با استفاده از try, catch, throw.

کتابخانه استاندارد C++ (Standard Template Library – STL):

آشنایی با کانتینرها (Containers) مانند vector, list, map, set.
آشنایی با الگوریتم‌ها (Algorithms) مانند sort, find, copy.
آشنایی با تکرارکننده‌ها (Iterators).

برنامه‌نویسی با جریان‌ها (Streams):

ورودی/خروجی با استفاده از cin, cout, fstream و…

اهمیت درس:

تسلط بر C++ و مفاهیم برنامه‌سازی پیشرفته، دریچه‌ای به سوی توسعه نرم‌افزارهای سیستمی، بازی‌سازی، پردازش گرافیکی، سیستم‌های نهفته (Embedded Systems)، و کاربردهایی که نیاز به عملکرد بالا دارند، باز می‌کند. بسیاری از کتابخانه‌ها و فریم‌ورک‌های قدرتمند در این زبان نوشته شده‌اند.
4طراحی زبان های برنامه سازیVideo1-1
Video1-2
Video2-1
Video2-2
Video3-1
Video3-2
Video4
Video5
Video6
Video7
Video8
Video9
Video10
Video11
Video12
Video13
Video14
Video15
Video16
ویدئوی رفع اشکال
این درس معمولاً در مقطع کارشناسی رشته‌ی کامپیوتر ارائه می‌شود و هدفش آشنا کردن دانشجو با **مفاهیم بنیادی طراحی، ساخت و اجرای زبان‌های برنامه‌سازی** است. محتوای درس معمولاً شامل چند بخش کلیدی است:

– بررسی ساختار زبان‌ها (نحوی، معنایی، انواع داده، مدل‌های اجرا)
– آشنایی با روش‌های طراحی نحو (گرامرها، BNF، درخت نحو)
– مباحث تجزیه (Parsing) در دو سطح *Lexical Analysis* و *Syntax Analysis*
– بررسی مدل‌های ارزیابی عبارات و مدیریت حافظه
– اصول پیاده‌سازی مفسرها و کامپایلرهای ساده
– آشنایی با ویژگی‌های مختلف زبان‌ها (تابعی، شی‌گرا، منطقی و …)

خروجی این درس معمولاً این است که دانشجو درک عمیق‌تری از این‌که «زبان‌های برنامه‌نویسی چگونه کار می‌کنند» پیدا کند و بتواند یک مفسر یا زبان ساده را طراحی و پیاده‌سازی کند.
5سیستم عاملVideo1
Video2
Video3
Video4
Video5
Video6
Video7-1
Video7-2
Video8
Video9
Video10
Video11
سیستم عامل نرم‌افزاری حیاتی است که به عنوان واسط (Interface) بین سخت‌افزار کامپیوتر (CPU، حافظه، دیسک‌ها و دستگاه‌های ورودی/خروجی) و کاربر (یا برنامه‌های کاربردی) عمل می‌کند. هدف اصلی آن مدیریت مؤثر منابع کامپیوتر و ارائه یک بستر (پلتفرم) مناسب و انتزاعی برای اجرای برنامه‌ها است.
سرفصل‌ها و مفاهیم کلیدی:

مدیریت پردازنده (Process Management):

فرایند (Process): مفهوم اجرای یک برنامه.
نخ (Thread): واحدهای کوچک‌تر اجرای درون یک فرایند.
زمان‌بندی CPU (CPU Scheduling): الگوریتم‌هایی (مانند FCFS، SJF، اولویت، گردشی یا Round Robin) که تعیین می‌کنند کدام فرایند در هر لحظه از زمان CPU را استفاده کند تا کارایی سیستم به حداکثر برسد.
همگام‌سازی و بن‌بست (Synchronization & Deadlocks): روش‌هایی برای جلوگیری از تداخل بین فرایندهایی که منابع مشترک را استفاده می‌کنند (مثل سمافورها و مونیتورها) و نحوه تشخیص و رفع بن‌بست‌ها.

مدیریت حافظه (Memory Management):

چگونگی تخصیص حافظه اصلی (RAM) به فرایندها.
صفحه‌بندی (Paging) و بخش‌بندی (Segmentation): روش‌هایی برای مدیریت فضای آدرس منطقی و فیزیکی.
حافظه مجازی (Virtual Memory): تکنیکی برای اجرای برنامه‌هایی که بزرگتر از حافظه فیزیکی موجود هستند، از طریق انتقال داده‌ها بین RAM و دیسک (Page Fault).

مدیریت فایل (File System Management):

سازماندهی، ذخیره‌سازی، بازیابی و حفاظت از داده‌ها روی حافظه‌های ثانویه (مانند هارد دیسک).
ساختارهای دایرکتوری و تخصیص فضا روی دیسک.

مدیریت ورودی/خروجی (I/O Management):

نحوه تعامل سیستم عامل با دستگاه‌های جانبی (مثل کیبورد، پرینتر و شبکه).

اهمیت درس:

این درس پایه‌ای برای دروسی مانند شبکه‌های کامپیوتری، سیستم‌های توزیع‌شده، و برنامه‌نویسی سیستمی محسوب می‌شود و درک عمیق آن برای تبدیل شدن به یک مهندس نرم‌افزار یا سخت‌افزار مسلط ضروری است.
6معماری کامپیوترVideo1
Video2
Video3
Video4
Video5
Video6
Video7-1
Video7-2
Video8
Video9
Video10
این واحد به بررسی نحوهٔ طراحی و سازمان‌دهی داخلی یک سیستم کامپیوتری می‌پردازد؛ یعنی از لحظه‌ای که دستور اجرا می‌شود تا سطح سخت‌افزار چه اتفاقی می‌افتد. محورهای اصلی آن معمولاً شامل موارد زیر است:

ساختار واحد پردازنده (CPU)، اجزای آن مانند ALU، ثبت‌کننده‌ها و واحد کنترل
انواع معماری‌ها مانند RISC و CISC
نحوهٔ اجرای دستورات و خط لوله‌سازی (Pipeline)
حافظه‌ها: RAM، Cache، حافظهٔ مجازی
نحوهٔ آدرس‌دهی و مجموعه‌دستورات (Instruction Set)
ورودی/خروجی و باس‌ها
مفاهیم کارایی پردازنده و بهینه‌سازی‌ها

هدف درس این است که دانشجو بفهمد رایانه در سطح پایین چگونه کار می‌کند و بتواند عملکرد سیستم‌ها را تحلیل یا بهبود دهد.
7مدارمنطقیVideo1
Video2
Video3
Video4
Video5
Video6
Video7
Video8
Video9
Video10
Video11
Video12
Video13
Video14
Video15
Video16
جلسه رفع اشکال
درس «مدار منطقی» یکی از پایه‌ای‌ترین واحدهای رشتهٔ کامپیوتر است و مفاهیم بنیادینی را آموزش می‌دهد که زیرساخت طراحی سخت‌افزار و حتی بخش‌هایی از معماری کامپیوتر را تشکیل می‌دهند.

معرفی مختصر:

در این درس یاد می‌گیری که چگونه سیستم‌های دیجیتال با استفاده از 0 و 1 ساخته و تحلیل می‌شوند.
مباحث اصلی شامل جبر بول، گیت‌های منطقی، ساده‌سازی مدارها، فلیپ‌فلاپ‌ها، ثبات‌ها، شمارنده‌ها و مدارهای ترکیبی و ترتیبی است.
هدف درس این است که بتوانی مدارهایی طراحی کنی که عملیات منطقی و محاسباتی انجام می‌دهند؛ چیزی که در نهایت پایهٔ پردازنده‌ها، حافظه‌ها و سیستم‌های دیجیتال را تشکیل می‌دهد.
این درس هم تئوری دارد هم حل‌مسئله و طراحی مدار.

درباره‌ی mohsenaskari

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Recent Comments