# คอมพิวเตอร์โอลิมปิกระหว่างประเทศ
การแข่งขันคอมพิวเตอร์โอลิมปิกระหว่างประเทศ  เป็นการแข่งขันเกี่ยวกับวิทยาการคอมพิวเตอร์ประจำปี เป็นหนึ่งในการแข่งขันโอลิมปิกวิชาการสำหรับนักเรียนมัธยมศึกษา คอมพิวเตอร์โอลิมปิกครั้งแรกเริ่มต้นในปี พ.ศ. 2532 (ค.ศ. 1989)

การแข่งขันประกอบด้วยการเขียนโปรแกรมคอมพิวเตอร์สองวัน เป็นการแก้ปัญหาด้วยขั้นตอนวิธีต่างๆ ผู้เข้าแข่งขันจะแข่งเป็นทีม ทีมละไม่เกิน 4 คนจากแต่ละประเทศ (อาจยกเว้นประเทศเจ้าภาพที่สามารถมีผู้เข้าแข่งขันเกิน 4 คนได้) แต่การแข่งขันจะเป็นการแข่งเดี่ยว มีผู้เข้าแข่งขันจาก 81 ประเทศเมื่อปี พ.ศ. 2547 นักเรียนที่เข้าแข่งขันจะมาจากการแข่งขันการเขียนโปรแกรมคอมพิวเตอร์ภายในประเทศ เพื่อเป็นตัวแทนประเทศนั้นๆ

 รูปแบบการแข่งขัน 
การแข่งขันมีทั้งสิ้นสองวัน ในแต่ละวันนักเรียนแต่ละคนจะได้รับโจทย์ 3 ข้อ (บางปีอาจเป็น 4 ข้อ) และมีเวลาสำหรับแก้ปัญหา 5 ชั่วโมง ผู้เข้าแข่งขันจะต้องแก้ไขปัญหาด้วยตนเอง โดยมีคอมพิวเตอร์หนึ่งเครื่อง และไม่มีการช่วยเหลืออื่นใด เช่น การสื่อสารกับผู้แข่งขันคนอื่น การสื่อสารกับบุคคลภายนอก หนังสือ อินเทอร์เน็ต ฯลฯ โดยปกตินักเรียนจะต้องแก้ปัญหาโดยการเขียนโปรแกรมคอมพิวเตอร์ด้วย ภาษาซี, ภาษาซีพลัสพลัส หรือ ภาษาปาสกาล และส่งภายในเวลา 5 ชั่วโมงของการแข่งขัน หลังจากนั้นจะมีการตรวจโปรแกรมที่ส่งมาด้วยชุดข้อมูลทดสอบอันเป็นความลับ ซึ่งมีข้อมูลทดสอบจำนวนหนึ่ง (ปกติจะเป็น 10 หรือ 20 ข้อ) ผู้เข้าแข่งขันจะได้คะแนนสำหรับชุดทดสอบที่โปรแกรมทำงานถูกต้อง ภายในเวลาที่กำหนด และไม่ใช้หน่วยความจำเกินกำหนด โจทย์บางข้ออาจมีการตอบโต้ระหว่างโปรแกรมและไลบรารีหนึ่งซึ่งเป็นความลับ ทำให้ข้อมูลนำเข้ามีความแตกต่างกัน ขึ้นอยู่กับการตอบโต้ของโปรแกรม เช่นโจทย์เขียนโปรแกรมให้เล่นเกมให้ชนะ นอกจากนี้ยังมีปัญหาอีกชนิดหนึ่งซึ่งเปิดเผยชุดข้อมูลทดสอบให้กับนักเรียนระหว่างการแข่งขัน นักเรียนจะต้องแก้ปัญหาสำหรับข้อมูลทดสอบชุดนี้ และส่งคำตอบเท่านั้นโดยไม่ต้องส่งโปรแกรม ซึ่งนักเรียนอาจใช้การเขียนโปรแกรมแก้ปัญหา อาจทำด้วยมือ หรืออาจใช้การผสมผสานของสองอย่างนี้ก็ได้

คะแนนจากการแข่งขันทั้งสองวันจะนำมารวมกันสำหรับแต่ละคน จะมีการมอบเหรียญรางวัลหลังการแข่งขันจบ เหรียญรางวัลที่ได้ขึ้นอยู่กับคะแนนที่แต่ละคนทำได้ ผู้เข้าแข่งขันประมาณ 50% จะได้รับเหรียญรางวัล โดยมีอัตราส่วนของ เหรียญทอง:เหรียญเงิน:เหรียญทองแดง:ไม่ได้เหรียญรางวัล เป็น 1:2:3:6 (นั่นคือผู้เข้าแข่งขันหนึ่งในสิบสอง จะได้เหรียญทอง)

รูปแบบการแข่งขันอาจมีการปรับเปลี่ยนได้ ในการแข่งขัน IOI 2010 มีการเปลี่ยนมาใช้ระบบ RunC ซึ่งจะตรวจโปรแกรมที่ส่งไปทันที (ต่างจากก่อนหน้านี้ซึ่งการตรวจจะดำเนินการหลังจบการแข่งขันแล้ว) ผูเข้าแข่งขันสามารถใช้โทเค็นในการให้ระบบตรวจแสดงผลลัพธ์จากการตรวจเพื่อที่จะนำมาปรับปรุงโปรแกรมให้ถูกต้องยิ่งขึ้น โทเค็นที่ให้ตอนเริ่มต้นจะมีเพียงเล็กน้อยและจะค่อยๆเพิ่มขึ้นเมื่อเวลาผ่านไป เนื่องจากระบบตรวจโปรแกรมทันทีที่ส่ง จึงได้มีการแสดงตารางคะแนนออนไลน์ เพื่อให้ผู้ชมต่างๆจากทั่วโลกสามารถชมผลการแข่งขันออนไลน์ได้ นอกจากนี้ระบบ RunC ยังถูกพัฒนาให้ใช้งานร่วมกับโปรแกรมแก้ไขข้อความ gedit ได้อีกด้วย

ระบบ RunC ยังปรับเปลี่ยนรูปแบบการแข่งขันในอีกหลายเรื่อง ผู้เข้าแข่งขันจะต้องเขียนฟังก์ชันขึ้นมาเพื่อแก้ไขปัญหาแทนที่จะเขียนโปรแกรมขึ้นมาซึ่งทำให้บางปัญหายากขึ้น สำหรับวิธีการให้คะแนน ข้อมูลทดสอบจะถูกรวมเป็นกลุ่มๆเรียกว่างานย่อย ผู้เข้าแข่งขันจะได้คะแนนในงานย่อยใดๆก็ต่อเมื่อโปรแกรมทำงานถูกต้องสำหรับทุกๆข้อมูลทดสอบในงานย่อยนั้น แต่ละงานย่อยอาจมีข้อกำหนดที่แตกต่างกันเพื่อให้มีความยากง่ายแตกต่างกัน

ในการแข่งขัน IOI 2012 มีการใช้ระบบ CMS  แทนที่ระบบ RunC

 รายชื่อประเทศเจ้าภาพการแข่งขันคอมพิวเตอร์โอลิมปิก 

 IOI  เมืองที่จัดการแข่งขัน  ประเทศเจ้าภาพ  วันที่  เว็บไซต์ IOI 2027  พ็อทซ์ดัม   ประเทศเยอรมนี  พ.ศ. 2570  IOI 2026    ประเทศอุซเบกิสถาน  พ.ศ. 2569 เว็บไซต์ IOI 2025  ซูเกร   ประเทศโบลิเวีย  27 กรกฎาคม - 3 สิงหาคม พ.ศ. 2568 เว็บไซต์ IOI 2024  อะเล็กซานเดรีย   ประเทศอียิปต์ 1 - 8 กันยายน พ.ศ. 2567 เว็บไซต์ IOI 2023  แซแก็ด   ประเทศฮังการี  28 สิงหาคม - 4 กันยายน พ.ศ. 2566 เว็บไซต์ IOI 2022  ยกยาการ์ตา   ประเทศอินโดนีเซีย 7 - 15 สิงหาคม พ.ศ. 2565 เว็บไซต์ IOI 2021  ออนไลน์   ประเทศสิงคโปร์ 19 - 25 มิถุนายน พ.ศ. 2564 เว็บไซต์ IOI 2020  ออนไลน์   ประเทศสิงคโปร์ 13 - 19 กันยายน พ.ศ. 2563 เว็บไซต์ IOI 2019  บากู   ประเทศอาเซอร์ไบจาน 4 - 11 สิงหาคม พ.ศ. 2562 เว็บไซต์  IOI 2018  สึกูบะ   ประเทศญี่ปุ่น 1 - 8 กันยายน พ.ศ. 2561 เว็บไซต์ IOI 2017  เตหะราน   ประเทศอิหร่าน  28 กรกฎาคม - 4 สิงหาคม พ.ศ. 2560 เว็บไซต์ IOI 2016  คาซาน   ประเทศรัสเซีย  12 - 19 สิงหาคม พ.ศ. 2559  เว็บไซต์  IOI 2015  อัลมาเตอ   ประเทศคาซัคสถาน  26 กรกฎาคม - 2 สิงหาคม พ.ศ. 2558  เว็บไซต์ IOI 2014  ไต้หวัน   ประเทศไต้หวัน  13 - 20 กรกฎาคม พ.ศ. 2557  เว็บไซต์  IOI 2013  บริสเบน   ประเทศออสเตรเลีย  6 - 13 กรกฎาคม พ.ศ. 2556  เว็บไซต์ IOI 2012  ลอมบาดี   ประเทศอิตาลี  23 - 30 กันยายน พ.ศ. 2555  เว็บไซต์  IOI 2011  พัทยา   ประเทศไทย  22 - 29 กรกฎาคม พ.ศ. 2554  เว็บไซต์  IOI 2010  วอเตอร์ลู   ประเทศแคนาดา  14 - 21 สิงหาคม พ.ศ. 2553  เว็บไซต์ IOI 2009  ปลอฟดิฟ   ประเทศบัลแกเรีย  8 - 15 สิงหาคม พ.ศ. 2552  เว็บไซต์  IOI 2008  ไคโร   ประเทศอียิปต์  16 - 23 สิงหาคม พ.ศ. 2551  เว็บไซต์ IOI 2007  ซาเกรบ   ประเทศโครเอเชีย  15 - 22 สิงหาคม พ.ศ. 2550  เว็บไซต์ IOI 2006  เมอริด้า   ประเทศเม็กซิโก  19 - 26 สิงหาคม พ.ศ. 2549   IOI 2005  โนวีซาด   ประเทศโปแลนด์  18 - 25 สิงหาคม พ.ศ. 2548  เว็บไซต์ IOI 2004  เอเธนส์   ประเทศกรีซ  11 - 18 กันยายน พ.ศ. 2547  เว็บไซต์ IOI 2003  คีโนชา   สหรัฐอเมริกา  16 - 23 สิงหาคม พ.ศ. 2546  เว็บไซต์ IOI 2002  ยงอิน   ประเทศเกาหลีใต้  18 - 25 สิงหาคม พ.ศ. 2545  เว็บไซต์  IOI 2001  ตัมเปเร   ประเทศฟินแลนด์  14 - 21 กรกฎาคม พ.ศ. 2544  เว็บไซต์  IOI 2000  ปักกิ่ง   ประเทศจีน  23 - 30 กันยายน พ.ศ. 2543  เว็บไซต์  IOI 1999  อันทัลยา   ประเทศตุรกี  9 - 16 ตุลาคม พ.ศ. 2542  เว็บไซต์  IOI 1998  ซึตูบัล   ประเทศโปรตุเกส  5 - 12 กันยายน พ.ศ. 2541   IOI 1997  เคปทาวน์   ประเทศแอฟริกาใต้  30 พฤศจิกายน - 7 ธันวาคม พ.ศ. 2540   IOI 1996  เวสซ์เปรม   ประเทศฮังการี  25 กรกฎาคม - 2 สิงหาคม พ.ศ. 2539   IOI 1995  ไอนด์โฮเวน   ประเทศเนเธอร์แลนด์  26 มิถุนายน - 3 กรกฎาคม พ.ศ. 2538  เว็บไซต์ IOI 1994  เฮนินง์   ประเทศสวีเดน  3 - 10 กรกฎาคม พ.ศ. 2537   IOI 1993  เมนโดซา   ประเทศอาร์เจนตินา  16 - 25 ตุลาคม พ.ศ. 2536  เว็บไซต์  IOI 1992  บอนน์   ประเทศเยอรมนี  11 - 21 กรกฎาคม พ.ศ. 2535   IOI 1991  เอเธนส์   ประเทศกรีซ  19 - 25 พฤษภาคม พ.ศ. 2534   IOI 1990  มินสค์   สหภาพโซเวียต  15 - 21 กรกฎาคม พ.ศ. 2533   IOI 1989  แพรเวทส์   ประเทศบัลแกเรีย  16 - 19 พฤษภาคม พ.ศ. 2532