تفکر رایانشی یا کامپیوتری چیست؟
فهرست مطالب
تفکر رایانشی یا کامپیوتری:
عبارت ” تفکر رایانشی ” را میتوان بهصورت خلاصه “مانند یک دانشمند علوم رایانه فکر کردن” دانست[1]. هدف از آموزش و یادگیری تفکر رایانشی یا Computational Thinking، که بهطور خلاصه بهصورت CT هم نوشته میشود، این است که همه افراد بتوانند از روشی که دانشمندان علوم رایانه از آن برای فکر کردن و حل مسئله استفاده میکنند، بهرهمند شوند.
اول ببینیم که علوم رایانه چیست؟ بهطور خلاصه، میتوان گفت که علوم رایانه یا همان Computer Science، با همه گستردگی که دارد، کلاً درباره مطالعه محاسبه است. یعنی اینکه چه چیزی را میتوان محاسبه کرد و چگونه میتوان آن را محاسبه نمود[2]. به عبارت سادهتر، در علوم رایانه در این مورد بحث میشود که چه مسائلی محاسبهپذیر (Computable) هستند. به عبارت خودمانیتر، چه مسائلی را میتوان با رایانه حل نمود. باید توجه داشت که رایانه میتواند خیلی از مسائل را حل کند، ولی نه همه مسائل را. بعد از اینکه معلوم شد که یک مسئله را میتوان با رایانه حل کرد، باید از چگونگی حل آن صحبت کنیم.
حالا اینها چه ربطی به ما دارد؟
نکته در اینجاست که شیوه تفکر و حل مسئله دانشمندان علوم رایانه را، همه میتوانند فرا بگیرند و در زندگی روزمره، تحصیل و شغل خود به کار برند.
آیا آموزش تفکر رایانشی یا Computational Thinking، اسم دیگری برای آموزش برنامه نویسی است؟
باید توجه داشت که تفکر رایانشی، مفهومی برای برنامه نویسی نیست[3]. در نظر گرفتن تفکر رایانشی به عنوان دانش برنامه نویسی محدود کردن آن است[4]. در واقع، تفکر رایانشی، مجموعههای بسیار غنی از مهارتها میباشد[3]. به بیان دیگر، تفکر رایانشی فعالیت ذهنی برای قالببندی یک مسئله برای رسیدن به یک راه حل رایانشی را توصیف میکند.
این مسئله و راه حل آن میتواند در زمینه آشپزی، انتخاب رشته، پیدا کردن یک شیء گمشده یا هر مسئله ساده و پیچیده دیگری باشد. البته با این شرط که این مسئله ذاتاً ویژگیهایی را داشته باشد که با این شیوه قابل حل باشد. بعد از اینکه راه حل مسئله پیدا شد، این راه حل را میتواند انسان یا ماشین انجام دهد[1].
با استفاده از تفکر رایانشی، میآموزیم که چگونه مسائل را به تعدادی مسئله جزئیتر تقسیم کنیم، برای حل آنها الگوریتم ایجاد نماییم و راه حلها را عمومیت دهیم تا بتوانیم مسائل بزرگتری را هم حل کنیم[6]. بعضی از منابع، تفکر رایانشی را مهارتی ضروری برای همه دانشآموزان در قرن 21 میدانند[7].در واقع، این رویکرد، به نوعی عملیاتی نمودن جمله استیو جابز است: “هر فردی در این کشور باید شیوه برنامه نویسی رایانه را بیاموزد. زیرا این کار به شما میآموزد که چگونه فکر کنید”[8]. البته برنامه نویسی شیوهای عالی، سرگرمکننده و مفید برای یادگیری تفکر رایانشی است، ولی به هیچ وجه یادگیری آن محدود به استفاده از برنامه نویسی نیست.
معلمین میتوانند مهارتهای تفکر رایانشی را دروس مختلف مانند زبان، ریاضیات، علوم تجربی و علوم اجتماعی، یا حتی در ضمن مهارتهایی مانند آشپزی، بدون اینکه نیازی به نام بردن از تفکر رایانشی باشد، تشخیص داده و با دانشآموزان خود تمرین نمایند[9].
برای درک بهتر اینکه تفکر رایانشی دقیقاً چیست و چطور کار میکند، میتوانیم به شناخت مؤلفههای اصلی آن بپردازیم. این مؤلفهها شامل:
1) Decomposition یا تجزیه: یا شکست مسئله به زیر مسئلهها
2) Pattern Recognition یا تشخیص الگو: با استفاده از فهم شباهتها و تفاوتها
3) Abstraction یا تجرید: حذف خصوصیاتی که به آن نیاز نداریم، برای تمرکز بر خصصوصیاتی که به آن نیاز داریم[10]
4) Algorithm یا راه حل گام به گام مسئله: میباشد[11].تصویر رو به رو [12] به خوبی این مؤلفهها را نشان داده است:
منابع:
[1] Wing, Jeannette (2014). “Computational Thinking Benefits Society”. 40th Anniversary Blog of Social Issues in Computing.
[2] Wing, Jeanette M. (2006). “Computational thinking” (PDF). Communications of the ACM. 49 (3): 33. doi:10.1145/1118178.1118215.
[3] Denning, P.J. and Tedre, M. Computational Thinking. The MIT Press, 2019.
[4] Shute, Valerie & Sun, Chen & Asbell-Clarke, Jodi. (2017). Demystifying computational thinking. Educational Research Review. 22. 10.1016/j.edurev.2017.09.003.
[5] Paul Curzon, Peter W McOwan, The Power of Computational Thinking: Games, Magic and Puzzles to Help you become a computational thinker, World Scientific Publishing Europe Ltd., 2017.
[6] Eric Freeman, Head First Learn to Code: A Learner’s Guide to Coding and Computational Thinking, O’Reilly Media, 2018.
[7] Repenning, Alexander & Basawapatna, Ashok & Escherle, Nora. (2016). Computational thinking tools. 218-222. 10.1109/ IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
[8] Heidi Watkins, No Fear Coding: Computational Thinking Across the K-5 Curriculum, International Society for Technology in Education, 2017
[9] “The 5th ‘C’ of 21st Century Skills? Try Computational Thinking (Not Coding) – EdSurge News”. EdSurge. 25 February 2018. Retrieved 11 June 2018.
[10] Kong, Siu-cheung & Abelson, hal. (2019). Computational Thinking Education., SpringerOpen
[11] Bobby Law, Puzzle Games: A Metaphor for Computational Thinking, in the Proceedings of The 10th European Conference on Games Based Learning, October 2016, The University of the West of Scotland
[12] Harimurti, R & Ekohariadi, Ekohariadi & Munoto, Munoto & Asto, B. (2019). The concept of computational thinking toward information and communication technology learning. IOP Conference Series: Materials Science and Engineering. 535. 012004. 10.1088/1757-899X/535/1/012004.