Computational Thinking කියන්නේ Computer එකක් වගේ හිතන එකවත් computer scientists ලා විතරක් follow කරන්න ඕනි දෙයක් වත් නෙමෙයි.
Computer science ගැන කතා කරද්දී අපිට නිතරම අහන්න ලැබෙන වචනයක් තමයි මේ Computational Thinking කියල කියන්නේ. Computational Thinking කියල කියන්නේ අපි යම්කිසි ප්රශ්නයක් විසඳගන්න පාවිච්චි කරන thought process එකක් එහෙමත් නැත්තම් චින්තන ක්රියාවලියක් කියල කිව්වොත් නිවැරදි.
Computational Thinking කියන්නේ Computer එකක් වගේ හිතන එකටද?
"කොහොමටවත් නැහැ!" Computational Thinking කියල කියන්නේ Thinking Pattern එකක් ඒ කියන්නේ අපි කිසියම් ප්රශ්නයක් approach කරන්න ගන්න ක්රියා පටිපාටියක්.
ඒ වගේම Computational Thinking කියන්නේ Computer scientists ලට විතරක් පාවිච්චි කරන්න පුලුවන් දෙයක් නෙමෙයි. අපිට එදිනෙදා ජිවිතේදී හම්බෙන ඕනිම ප්රශ්නෙකට හොද approach එකක් ගන්න වගේම ඒ ප්රශ්නය සාර්ථකව ජයගන්න Computational Thinking යොදාගන්න පුලුවන්.
Computational Thinking අපිට උදව් වෙන්නේ කොහොමද?
Computer science කරන අයට, IT field එකේ ඉන්න අයට වගේම අනිත් ක්ෂේත්ර වල ඉන්න අයටත් පොදුවේ මුහුණදෙන්න වෙන දෙයක් තමයි ප්රශ්න කියලා කියන්නේ.
අපිට මෙහෙම එදිනෙදා විසදන්න ලැබෙන ප්රශ්න වල Complexity එක එහෙමත් නැත්තම් සංකීර්ණත්වය වැඩි වෙන්න වෙන්න අපිට ඒ ප්රශ්නය විසදන්න අමාරු වෙනවා සමහරක් වෙලාවට විසදන්නම බෑ කියලත් හිතෙනවා. අන්න ඒ වගේ ප්රශ්න විසදන්න අපිට Computational Thinking කියන thought process එක පාවිච්චි කරන්න පුලුවන්.
මේ කියන thought process එක අනුව අපිට පුලුවන් මේ ප්රශ්නය පුංචි පුංචි කොටස් වලට කඩාගන්න, ඊට පස්සේ ඒ එක එක කොටස් වලට කලින් අපි ප්රශ්න විසදලා තියෙන විදිහෙන් නැත්තම් අනිත් අය ඒවගේ ප්රශ්න විසදපු විදිහෙන් inspiration එකක් ගන්න එතකොට අර විසදගන්න බෑ වගේ පෙනුන ප්රශ්නය ලේසියෙන්ම විසදගන්න පුලුවන්
1. Decomposition
2. Pattern Recognition
3. Abstraction
4. Algorithm Design
මන් කලින් කිව්වා වගේ ප්රශ්නයක් කොටස් වලට කඩාගත්තම ඒ ප්රශ්නය පිලිබදව අපිට වඩා සමිපව පරික්ෂා කර බලන්න පුලුවන් වෙනව එක නිසා පිළියම් හොයන එක ලේසි වෙනව.
Pattern Recognition කියන්නේ ප්රශ්න දෙකක් හෝ අපි ප්රශ්න විසඳීමෙන් ගත් අත්දැකීම් හෝ දෙකක පොදුවේ දකින්න පුලුවන් සමාන ලක්ෂණ පිළිබද සොයාබැලීමයි.
මෙහෙම එකිනෙකට වෙනස් කියලා බාහිරෙන් පේන ප්රශ්න දෙකක පොදු ලක්ෂණ හදුන ගත්තම අපිට මේ ප්රශ්නවල තියෙන රටාවන් පිලිබදව පැහැදිලි අවබෝදයක් ගන්න පුලුවන් වෙනවා වගේම අනාගතේ හම්බෙන ප්රශ්න විසදන්න අනුමානයන් කරන්නත් උදව් වෙනවා.
අපි මෙහෙම හඳුනාගත් රටා තුළ අදාළ වැදගත් තොරතුරු පිළිබද පමණක් අවධානය යොමු කරොත් අපිට පුලුවන් ඒ විසදුම තුල තියෙන ඒ විශේෂිත ප්රශ්නෙට අදාළ තොරතුරු අයින් කරලා අපේ අර විසදුම වෙනත් ඕනිම ප්රශ්නයක් විසදන්න පුලුවන් වෙන විදිහට සාමාන්යකරනිකරණය කරන්න. ඒ හරහා අපිට පුලුවන් ඒ විසදුම පිළිබද පැහැදිලි වගේම හොද අදහසක් ගන්න, අපි මේ ක්රමවේදයට කියන්නේ Abstraction කියලා.
එතකොට මොකක්ද Algorithm එකක් කියල කියන්නේ?
Algorithm එකක් කියන්නේ අපි යම්කිසි සංකීර්ණ කාර්යයක් සාර්ථක කරගැන්න අපි විසින්ම හදාගන්න ක්රියාදාම සමුහයක් නැත්තම් නීති සමුහයක්. අපි දැන හෝ නොදැන දිනපතාම algorithms follow කරනවා, සපත්තුවේ lace එක ගැටගහනකොටත් තේකක් හදග්න්නකොට්ත් අපි follow කරන්නේ algorithms.
ඉතින් අපිට පුලුවන් නම් අපි අදුරගත්ත සමාන රටා තියෙන ප්රශ්න වලටත් එක algorithm එකක් හදාගන්න අපිට අනාගතේ එන ප්රශ්නවලටත් සාර්ථකව මුහුණදෙන්න පුලුවන්.
ඉතින් දැන් ඔයාලට තේරෙනවා ඇති Computational Thinking කියන්නේ Computer එකක් වගේ හිතන එකවත් computer scientistsල විතරක් follow කරන්න ඕනි දෙයක් වත් නෙමෙයි අපේ ජිවිතේ අපි මුහුණ දෙන ඕනි ප්රන්ශ්නෙකට සාර්ථකව පිළිතුරු සපයාගන්න පුලුවන් වෙන විදිහට Design උන Thought Process එකක් කියල.
මම හිතනවා ඔයාලට Computational Thinking ගැන හොද අවබෝධයක් ලැබෙන්න ඇති කියලා, එහෙනම් ඔයාලත් ඔයාලගේ ප්රශ්න නිරාකරණය කරගන්න මේ Thought Process එක try කරල බලන්න.