จบลงไปเป็นที่เรียบร้อยกับงาน ICPC Thailand National Competition ระดับประเทศประจำปี 2567 (ICPC 2024) การแข่งขันเขียนโปรแกรมระดับนานาชาติที่จัดขึ้น ณ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย โดยภาควิชาวิศวกรรมคอมพิวเตอร์ในช่วงวันหยุดสุดสัปดาห์ 7-8 กันยายน 2567 ที่ผ่านมา
ภายในงาน ICPC 2024 ปีนี้มีตัวแทนมาจาก 16 มหาวิทยาลัยทั่วประเทศรวมทั้งหมด 57 ทีมที่เข้ามาแข่งขัน ซึ่งนอกจากผลการแข่งขันที่ออกมาอย่างเป็นทางการเรียบร้อยแล้ว อีกสิ่งหนึ่งจากเซสชันบรรยายในพิธีเปิดงานโดยคณาจารย์จากภาควิชาวิศวกรรมคอมพิวเตอร์ ได้ชี้ให้เห็นว่าการเขียนโปรแกรมหรือเขียนโค้ด (Coding) คือพื้นฐานของการสร้างสรรค์นวัตกรรมโดยแท้จริง
มารู้จักกับงาน ICPC กันให้มากขึ้น พร้อมทั้งเกร็ดความรู้ที่ได้จากคณาจารย์ภายในพิธีเปิดในช่วงวันเสาร์เช้าที่ผ่านมา ในบทความนี้
งานแข่งขันเขียนโปรแกรมระดับนานาชาติ ICPC
International Collegiate Programming Contest (ICPC) เป็นงานแข่งขันเขียนโปรแกรมระดับวิทยาลัยในระดับนานาชาติ โดยแต่ละทีมจะมีสมาชิกด้วยกัน 3 คนจากมหาวิทยาลัยต่าง ๆ ที่จะมาร่วมแรงร่วมใจกันเขียนโปรแกรม เพื่อแก้ไขปัญหาที่ตั้งไว้โดยอิงจากโลกความเป็นจริง
ในแต่ละปี ICPC ระดับสากลจะมีนักเรียนทั่วโลกมาร่วมแข่งขันกว่า 50,000 คน จากกว่า 3,000 มหาวิทยาลัยใน 111 ประเทศ โดยมีสถานที่แข่งขัน On-Site มากกว่า 400 แห่ง ซึ่งก่อนจะไปสู่รอบ World Finals จะมีการแข่งขันในระดับภูมิภาคและระดับท้องถิ่นไล่ลงมาก่อนที่จะเฟ้นหา “ที่สุดของที่สุดของที่สุด” ในรอบตัดสินกันอีกที จากทุกภูมิภาคในรอบ “ICPC World Finals”
ภาควิศวกรรมคอมพิวเตอร์ จุฬาฯ เจ้าภาพจัดงาน ICPC ระดับประเทศในปี 2567
สำหรับ ICPC 2024 วันเสาร์อาทิตย์ที่ผ่านมาเป็นการแข่งขันในระดับประเทศไทย โดยภาควิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย เป็นเจ้าภาพในการจัดงานปีนี้ ซึ่งมีตัวแทนจากสถาบันอุดมศึกษาถึง 16 มหาวิทยาลัยรวมทั้งหมด 57 ทีมที่มาเข้าร่วมแข่งขัน
การแข่ง ICPC 2024 ระดับประเทศนั้นก็จะล้อไปกับแนวทางการแข่งของระดับสากลเช่นกัน โดยแต่ละทีม 3 คนจะต้องร่วมมือกันใช้ทักษะความคิดสร้างสรรค์และความสามารถในการแก้ไขปัญหาการเขียนโปรแกรมในแต่ละข้อผ่านภาษาโปรแกรม ได้แก่ C, C++, Python, Kotlin หรือ Java
การแข่งขันภายในเวลา 5 ชั่วโมงกับโจทย์ 14 ข้อ แต่ละทีมสามารถเลือกแก้ไขที่ข้อใดก่อนก็ได้ และทีมที่ชนะเลิศที่ได้คะแนนสูงสุดจะได้เงินรางวัลสูงถึง 25,000 บาท ส่วนทีมรองชนะเลิศอันดับที่ 1 และทีมรองชนะเลิศอันดับที่ 2 จะได้รับเงินรางวัล 20,000 บาทและ 15,000 บาทตามลำดับ นอกจากนี้ ทีมที่สามารถแก้ไขปัญหาในข้อนั้นได้เป็นทีมแรก ยังได้เงินรางวัลเพิ่มเติมอีก 3,000 บาทอีกด้วย
เป้าหมายไม่ใช่ผลลัพธ์ในการแข่งขัน แต่เป็นความรู้ที่นำไปพัฒนาต่อยอด
ภายในพิธีเปิด คณบดีแห่งคณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัยได้ขึ้นกล่าวเปิดงาน พร้อมให้ข้อคิดในเรื่องการแข่งขัน ICPC 2024 ครั้งนี้ เพื่อให้ผู้เข้าแข่งขันทุกคนพยายามอย่างเต็มที่
หากแต่เป้าหมายสำคัญคืออยากให้นำความรู้และประสบการณ์ที่ได้รับจากการแข่งขัน ไปประยุกต์ใช้ต่อยอดในชีวิตจริงเป็นสำคัญ มากกว่าผลลัพธ์การแข่งขันในครั้งนี้และต่อ ๆ ไปด้วย
“ผลสำเร็จไม่ใช่ผลลัพธ์การแข่งขัน แต่เป็นการเอาความรู้กลับไปพัฒนาตัวเองและประเทศต่อไป” รศ.ดร.วิทยา วัณณสุโภประสิทธิ์ คณบดีแห่งคณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย กล่าว
สร้าง AI ก็ต้องใช้ทักษะ Coding
แม้ว่า Generative AI ได้เปลี่ยนแปลงภูมิทัศน์ของวงการอุตสาหกรรมไอทีและเทคโนโลยีไปโดยสิ้นเชิง ทำให้เกิดนวัตกรรมหรือผลิตภัณฑ์ใหม่ ๆ ออกมามากมาย เช่น โมเดลภาษาขนาดใหญ่ (LLM) แชทบอทอย่าง ChatGPT, Perplexity, Claude, โมเดลสร้างสรรค์งานภาพอย่าง Midjourney, Stable Diffusion ฯลฯ อีกมากมาย หากแต่เบื้องหลังของสิ่งต่าง ๆ เหล่านี้ก็ยังคงเป็นการเขียนโปรแกรม ที่ต้องใช้ทักษะ Coding ในการสร้างสรรค์สิ่งเหล่านั้นออกมา
“AI Change the world จากโลกที่แก้ไขสมการ 2 ตัวแปร จนปัจจุบันกลายมาเป็นหลักหลายพันล้านตัวแปร การเขียนโปรแกรมคือพื้นฐานสำคัญสำหรับสิ่งต่าง ๆ เหล่านี้ที่เกิดขึ้นได้และต่อยอดต่อไป” รศ.ดร.พีรพล เวทีกูล อาจารย์ประจำภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย กล่าว
อีกตัวอย่างหนึ่งที่ อ.พีรพลได้หยิบยกขึ้นมานำเสนอ คือเทคโนโลยี AI ที่สามารถนำไปประยุกต์ใช้ในทางการแพทย์ จนทำให้เกิดเป็น DMIND แอปพลิเคชันคัดกรองผู้ที่มีภาวะซึมเศร้า ซึ่งสิ่งที่ทำให้เกิดนวัตกรรม AI ทางการแพทย์ที่ช่วยลดภาระงานของแพทย์และนักจิตวิทยาในการดูแลผู้ป่วยลงไปได้ คือทักษะการเขียนโปรแกรม ในการสร้างแอปพลิเคชันและการสร้างโมเดล AI นั่นเอง
สาย System ไม่ต้องมูอีกต่อไปด้วย Software Defined System
หากใครเป็นสาย System หรือ DevOps, DevSecOps ในขั้นตอนการ Deploy ใช้งานเพื่อให้บริการแอปพลิเคชันที่พัฒนา ส่วนใหญ่มักจะมีประสบการณ์ร่วมกัน คือมักจะมีเหตุการณ์ “ไม่คาดฝัน” จนทำให้ไม่สามารถใช้งานระบบได้ตามที่คาดการณ์ไว้ ซึ่งหลายครั้งการ “มู” หรือขอพรสิ่งศักดิ์สิทธิ์คือแนวทางในการแก้ไขปัญหาดังกล่าวในอดีต
“ยุคสมัยก่อน เวลาจะ Deploy ต้องไปที่ศาลพระภูมิ แล้วมันก็ Deploy ให้ Success ราบรื่น” ผศ.ดร.ณัฐวุฒิ หนูไพโรจน์ อาจารย์ประจำภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย กล่าว
แต่ด้วยเทคโนโลยีที่พัฒนาการเรื่อยมาจนทำให้เกิด Infrastructure as Code (IaC) หรือ Software Defined System จึงทำให้บรรดาผู้ที่ทำงานสาย System ไม่จำเป็นต้องมูอีกต่อไป เพราะความสามารถในการแปลงโครงสร้างพื้นฐานที่ต้องการใช้งานให้กลายเป็น “โค้ด” ที่สามารถทำกระบวนการอัตโนมัติ ทำซ้ำได้ ทำเวอร์ชันได้ และสามารถถอยกลับมาได้หากมีปัญหา จึงทำให้ทีม DevOps ไม่ต้องกังวลจนต้องมูอีกต่อไปแล้ว
“แต่เดี๋ยวนี้มี Infrastructure as Code (IaC) ที่เป็น Script ของฝั่ง System ซึ่งก็ทำให้ Dev เข้าใจได้ และรันซ้ำได้ รวมถึง CI/CD มี Docker, Container, Orchestration เครื่องมือทำให้ชีวิตง่ายขึ้น ไม่ต้องสวดมนต์อีกต่อไป ทั้งหมดนี้คือ Software Defined System” อ.ณัฐวุฒิ กล่าวเสริม
เขียนโปรแกรมสามารถประยุกต์แก้ไขปัญหาในงานโดเมนอื่นได้
การเขียนโปรแกรมนอกจากนำมาสร้างสรรค์เว็บหรือแอปพลิเคชันใช้งานตามความต้องการแล้ว ยังสามารถนำไปประยุกต์แก้ไขปัญหาในโดเมนอื่น ๆ ได้ด้วย โดยเฉพาะทางการแพทย์หรือชีววิทยาที่ยังคงมีความท้าทายในการแก้ไขปัญหา เช่น ยีน (Gene) ดีเอ็นเอ (DNA) ข้อมูลทางพันธุกรรม
ถ้าหากพยายามแก้ไขในโดเมนชีววิทยาแบบตรง ๆ เลยก็อาจจะทำให้เข้าใจยากจนทำให้การแก้ไขปัญหาดำเนินไปช้ากว่าที่ควรจะเป็น แต่ถ้าเปลี่ยนโจทย์จากโดเมนนั้นให้กลายเป็นงานทางคอมพิวเตอร์แทน ก็จะทำให้สามารถใช้ทักษะการเขียนโค้ดและอัลกอริทึมต่าง ๆ ในการแก้ไขปัญหาดังกล่าวได้อย่างรวดเร็วยิ่งขึ้น สิ่งนี้ได้แสดงให้เห็นว่าทักษะการเขียนโค้ดมีประโยชน์มากกว่าแค่ด้านไอทีเพียงอย่างเดียวเท่านั้น
“เราสามารถแปลงปัญหาจากโดเมนหนึ่งมาเป็นงานทางคอมพิวเตอร์ เมื่อแก้ไขปัญหาเสร็จ ก็ค่อยแปลงกลับมาเป็นโดเมนเดิมได้ ความรู้การเขียนโปรแกรมจึงไม่ใช่แค่เพื่อการแข่งขัน แต่ยังสามารถนำไปประยุกต์ใช้งานในโดเมนอื่นได้ด้วย” อ.ดร.เจษฎา ธัชแก้วกรพินธุ์ อาจารย์ประจำภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย กล่าว
บทส่งท้าย
แม้ว่าเทคโนโลยี Generative AI จะมาเปลี่ยนภูมิทัศน์ในการทำงานไปอย่างสิ้นเชิง โดยเฉพาะอย่างยิ่งเรื่องการเขียนโปรแกรมที่อาจจะไม่จำเป็นต้องเรียนรู้เรื่องภาษาการเขียนโปรแกรมอีกต่อไปแล้วก็ได้ในอนาคต แต่ ณ ปัจจุบันนี้ก็ยังถือว่าการ Coding ยังคงมีความสำคัญ ไม่ว่าจะเป็นสายงานด้านคอมพิวเตอร์ อาทิ Frontend, Backend หรือว่าผู้ทำ Data Analytics, AI หรือแม้กระทั่ง DevOps, System Administrator ก็ตาม
และ ICPC 2024 ที่จัดขึ้นโดยภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย ครั้งนี้ คืออีกหนึ่งงานที่แสดงให้เห็นว่า “การเขียนโปรแกรม” จะยังคงมีความสำคัญในการสร้างสรรค์นวัตกรรมใหม่ ๆ ออกมาในอนาคต และ “กระบวนการแก้ไขปัญหา” คือทักษะที่จำเป็นในการทำงานบนโลกความเป็นจริง
สำหรับรายละเอียดเพิ่มเติมของงาน ICPC 2024 สามารถเข้าไปดูได้ที่เว็บไซต์นี้ และรายละเอียดเกี่ยวกับภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัยสามารถเข้าไปเยี่ยมชมได้ที่เว็บไซต์ของภาควิชา