پرش به مطلب اصلی

زبان‌های برنامه‌سازی

Programming Languages


نام درس:زبان‌های برنامه‌سازیمقطع:کارشناسی
پیش‌نیاز:برنامه‌سازی پیشرفتهگروه درس:تخصصی الزامی
هم‌نیاز:نداردنوع درس:نظری
تعداد واحد:3تعداد ساعت:48
حل تمرین:دارد

سرفصل درس:

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

راهبردهای تدریس و یادگیری متناسب با محتوا و هدف:

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

منابع:

  • Abelson, H., Sussman, G. J., & Sussman, J. (1996). Structure and interpretation of computer programs (2nd ed.). MIT Press/McGraw-Hill. [PDF]

  • Abelson, H., Sussman, G. J., Henz, M., & Wrigstad, T. (2022). Structure and interpretation of computer programs: JavaScript edition (2nd ed.). The MIT Press.

  • Denero, J. (2011). Structure and interpretation of computer programs in Python. [GitBook]

  • Sebesta, R. W. (2012). Concepts of programming languages. Boston: Pearson.

  • Pratt, T. W., & Zelkowitz, M. V. (2000). Programming Languages: Design and Implementation (4th ed.). Prentice-Hall.

  • Ghezzi, C., & Jazayeri, M. (1997). Programming Language Concepts. Addison Wiley.

  • Friedman, D. P., & Wand, M. (2008). Essentials of programming languages (3rd ed.). MIT Press.

  • Krishnamurthi, S. (2017). Programming languages: Application and interpretation (2nd ed.). Brown University.