در این صفحه به بررسی درس طراحی زبان های برنامه سازی شامل :هدف این درس، ریز موارد و سرفصل های درس طراحی زبان های برنامه سازی، نحوه ارزیابی و مراجع این در پرداختهایم. شما عزیزان میتوانید برای آشنایی با سایر دروس رشته کامپیوترمعرفی و بررسی دروس رشته مهندسی کامپیوتردر این صفحه تمامی دروس رشته کامپیوتر بطور کامل معرفی شده است، همچنین سرفصل هر یک از این دروس و منابع آن نیز برای شما عزیزان معرفی شده است به صفحه مذکور مراجعه کنید.
در صورتیکه به این مقاله علاقهمند هستید، ممکن است صفحات زیر نیز برای شما جذاب باشد:
- معرفی کامل و 0 تا 100 رشته کامپیوترمعرفی کامل رشته کامپیوتر- بررسی درآمد و شغل های رشته کامپیوتردر این صفحه به بررسی و موشکافی رشته کامپیوتر اعم از بررسی بازار کار، گرایشها، دروس و چارت درسی رشته کامپیوتر، میزان درآمد و حقوق فارغ التحصیلان این رشته و ادامه تحصیل در رشته کامپیوتر پرداخته شده است.
- رشته کامپیوتر برای دخترآیا رشته کامپیوتر برای دختران مناسبت است؟آمارها حاکی از آن است که زنان به سرعت در حال پیشرفت در علوم کامپیوتر و گرفتن شغلهای تخصصی و حساس هستند در نتیجه در این صفحه نقش خانمها را در رشته کامپیوتر بررسی و به طور کامل تحلیل کردهایم. مناسب است.
- آیا رشته کامپیوتر سخت استآیا رشته کامپیوتر سخت استبعضی از دانشجویان اغلب به علت فهم نادرست، استفاده از منبع آموزشی بیکیفیت و یا نگذاشتن زمان کافی بر روی درس از جانب خود فرد، دروس یک رشته را سخت تلقی میکنند در صورتی که اغلب شنیدهایم که سختی و آسانی یک رشته و یا درس نسبی است. در این صفحه این موضوع بسط داده شده است..
- بررسی درامد رشته کامپیوتربررسی درآمد رشته کامپیوتر در ایران و خارج از کشوردر این صفحه به بررسی درامد رشته کامپیوتر در ایران و همچنین درامد رشته کامپیوتر در خارج از کشور از جمله کانادا، آمریکا، انگلیس، فرانسه و دیگر کشورها پرداخته شده است در ایران و خارج از کشور
- بررسی شغل های رشته کامپیوترمعرفی و بررسی مشاغل رشته کامپیوتردر این صفحه تمامی شغلهای رشته کامپیوتر در ایران و خارج از کشور، شغلهای رشته کامپیوتر برای خانمها و شغلهای پردرآمد رشته کامپیوتر و بهترین مشاغل رشته کامپیوتر در سال 2022 بررسی شده است..
- معرفی بهترین دانشگاه های ایران به ترتیبمعرفی و بررسی بهترین دانشگاه های ایرانتقریبا تمامی دانشجویان و دانشآموزان در دوران تحصیل و به خصوص در هنگام انتخاب رشته میخواهند بدانند که بهترین دانشگاه های ایران به ترتیب چه دانشگاههایی هستند، برای پاسخ به این پرسش در این صفحه رنکینگ دانشگاه های ایران در جهان را از نگاه نظامهای رتبه بندی معتبر بررسی شده است
- برنامه نویسی کامپیوتربرنامه نویسی کامپیوتر چیست و چطور می توانید یک برنامه نویس موفق شوید؟در عصر فعلی برنامهنویسی یکی از پرطرفدارترین شغلهای دنیاست، دغدغهای افرادی که میخواهند در مسیر برنامهنویس شدن قدم بردارند این است که نمیدانند از کجا باید شروع کنند، در این صفحه هر آن چه برای تبدیل شدن به یک برنامه نویس حرفه ای نیاز دارید در اختیارتان قرار گرفته است چیست و چطور میتوان یک برنامه نویس موفق شد.
- معرفی کامل و 0 تا 100 رشته فناوری اطلاعاتمعرفی فناوری اطلاعات (IT) - 7 دلیل برای انتخاب رشته آی تی در دانشگاهآی تی چیست و چگونه پس از ظهور توانست در مدت فقط 20 سال تمام دنیا را فرا بگیرد و اکثر پول دنیا را ببلعد و پرطرفدارترین و پر درآمدترین مشاغل دنیا را در بر گیرد، با بررسی کامل آی تی با ما همراه باشید..
طراحی زبان های برنامه سازی (شماره درس: ۴٠٣۶۴)
Design of Programming Laguages
اهداف درس طراحی زبان های برنامه سازی
اهداف اصلی این درس عبارتند از: ١) مروری بر سیر طبیعی تحولات مفاهیم و روش های طراحی و پیاده سازی نسل های مختلف زبان های برنامه سازی به روشی تجربی و گام به گام، ٢) معرفی روش های مهندسی زبان های برنامه سازی در مراحل طراحی و پیاده سازی به کمک زبان های تغییرپذیر یا قابل برنامه سازی به خصوص با تاکید بر اهمیت طراحی و پیاده سازی زبان های ویژه دامنه، ٣) آشنایی با پیاده سازی مفسرها به ویژه بر بستر ماشین های مجازی و ۴) مروری بر اصول و مسائل مرتبط با طراحی زبان های برنامه سازی و همچنین روش ها و ساختارهای داده ای به کار رفته در پیاده سازی یا محقق کردن محیط برنامه نویسی.
سر فصل های درس طراحی زبان های برنامه سازی
- مقدمه
- تاریخچه تکاملی زبان های برنامه سازی و معرفی برخی زبان های مهم از منظر تحولات تاریخی
- معرفی مقایسه ای سنت های اصلی برنامه سازی (سنت های برنامه سازی امری‐رویه ای، شی گرا، برنامه سازی مبتنی برقاعده و سنت برنامه سازی توصیفی‐تابعی ) از منظر نگاه آن ها به مفهوم و تعریف برنامه.
- تفسیر یا ترجمه
- مقایسه مفهوم تفسیر و ترجمه هم از منظر طراحی زبان و هم از منظر نحوه و مسائل مرحله ی پیاده سازی
- مهندسی زبان
- آشنایی با زبان ها و ابزارهای موجود برای ایجاد امکان طراحی زبان های ویژه ی دامنه و پیاده سازی کارا و سریع مفسر آن ها. پیشنهاد خاص: معرفی و تمرین عملی کار با ابزار برنامه پذیر DrRacket.
- برنامه سازی تابعی
- مروری بر مفاهیم اصلی برنامه نویسی تابعی و حساب لامبدا همراه با تمرینات و پروژه های عملی. زبان پیشنهادی Scheme (بر اساس نحو و معناشناسی کتاب Friedman ) یا Racket بر (اساس نحو و معناشناسی کتاب Krishnamurthi ). در واقع برداشتی امروزین از زبان Lisp بر بسترهای برنامه پذیر (معرفیی مختصری از امکانات برنامه سازی تابعی زبان Java ویرایش 8 به بعد و تمرینی عملی بر آن نیز برای علاقه مند سازی دانشجویان توصیه می شود)
- طراحی تکاملی یک زبان برنامه نویسی و پیاده سازی گام به گام مفسر آن
- زبان حاوی عبارات محاسباتی (بدون اثر جنبی حافظه ای)
- افزودن رویه ها(زیربرنامه های) غیربازگشتی و سپس بازگشتی به زبان و مفسر آن
- افزودن مفاهیم حوزه ی تعریف و دامنه اعتبار متغیرها به زبان و مفسر آن
- افزودن امکان تاثیر بر مقادیر حافظه (وجود متغیر از نوع ارجاع دهنده یا آدرس) به زبان و مفسر آن
- افزودن مفهوم نوع دار بودن متغیرها به زبان و مفسر آن
- ایجاد امکان تعریف مادول، شی و کلاس (ایجاد امکان برنامه نویسی مادولار و شی گرا) در زبان طراحی شده و پیاده سازی مفسر آن.
- مباحث تکمیلی منتخب
- معرفی اجمالی برخی زبا ن های برنامه سازی مطرح مانند ML و برداشت های بعدی آن، Scala ،Haskell و F#
- مروری بر نیازمند هایی از سایر زمینه ها که بر طراحی و پیاده سازی زبان ها تاثیر می گذارند مانند نیازمندی های
- برنامه سازی موازی یا هم روند، بی درنگ بودن، تحت وب بودن و مهندسی نرم افزار مولفه گرا یا سرویس گرا.
- مقدمه ای بر معناشناسی زبان های برنامه سازی و استدلال مبتنی بر آن
- معناشناسی عملیاتی
- معناشناسی ارجاعی
- معناشناسی اصل موضوعی (منطق هور)
ارزیابی درس طراحی زبان های برنامه سازی
- آزمون نیم ترم (%٢۵ کل نمره)
- آزمون پایان ترم (%۴٠ کل نمره)
- تمرین: شامل ١) تمرینات برنامه نویسی تابعی ٢) تمرینات گام به گام طراحی مفسر ٣) تمرینات نظری (%٢٠ کل نمره)
- پروژه ( %١۵ کل نمره)
مراجع درس طراحی زبان های برنامه سازی
[1] D. P. Friedman, M. Wand. Essentials of Programming Languages. 3rd edition, MIT Press, 2008.
[2] S. Krishnamurthi. Programming Languages: Application and Interpretation. 2nd edition, 2017.
[3] M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi, E. Barzilay, J. McCarthy, S. Tobin-Hochstadt. A Programmable Programming Language. Communications of the ACM, Vol. 61, No. 3, Pp. 62-71, March 2018.
[4] Racket programming language and its toolkits
فیلمهای رایگان رشته کامپیوتر
آموزش ساختمان داده
فیلم ساختمان داده جلسه 1
فیلم ساختمان داده جلسه 2
فیلم ساختمان داده جلسه 3
فیلم ساختمان داده جلسه 4
فیلم ساختمان داده جلسه 5
فیلم ساختمان داده جلسه 6
فیلم ساختمان داده جلسه 7
فیلم ساختمان داده جلسه 8
حل تست ساختمان و الگوریتم جلسه 1
حل تست ساختمان و الگوریتم جلسه 2
حل تست ساختمان و الگوریتم جلسه 3
حل تست ساختمان و الگوریتم جلسه 4
انواع پیمایشهای درخت
نحوه ساخت درخت BST
آموزش درخت B-Tree
بررسی مرتبه ساخت هیپ
آموزش مرتب سازی سریع
آموزش شبکه شار
حل سوالات ساختمان ارشد کامپیوتر 99
حل ساختمان ارشد 95 بخش 1
حل ساختمان ارشد 95 بخش 2
آموزش شبکه های کامپیوتری
شبکههای کامپیوتری جلسه 1
شبکههای کامپیوتری جلسه 2
شبکههای کامپیوتری جلسه 3
شبکههای کامپیوتری جلسه 4
شبکههای کامپیوتری جلسه 5
شبکههای کامپیوتری جلسه 6
شبکههای کامپیوتری جلسه 7
شبکههای کامپیوتری جلسه 8
حل تست شبکه جلسه 1
حل تست شبکه جلسه 2
حل تست شبکه جلسه 3
حل تست شبکه جلسه 4
حل تست شبکه جلسه 5
حل تست شبکه جلسه 6
حل تست شبکه جلسه 7
حل تست شبکه جلسه 8
آموزش مدار منطقی
مدار منطقی جلسه 1
مدار منطقی جلسه 2
مدار منطقی جلسه 3
مدار منطقی جلسه 4
مدار منطقی جلسه 5
مدار منطقی جلسه 6
حل تست مدار منطقی جلسه 1
حل تست مدار منطقی جلسه 2
حل تست مدار منطقی جلسه 3
حل سوالات مدار منطقی کنکور ارشد کامپیوتر 99
حل سوالات مدار منطقی کنکور ارشد کامپیوتر 98
حل سوالات مدار منطقی کنکور ارشد کامپیوتر 97