زبانهای برنامهسازی
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.