ข้ามไปยังเนื้อหา
รายวิชา

International Baccalaureate · IB Diploma · Computer Science · HL

  • 1

    A.1 · พื้นฐานคอมพิวเตอร์

    1.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    1.2

    ระบบคอมพิวเตอร์, เครือข่าย และข้อกำหนด

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

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

    สร้างโมเดล

    • ระบบคอมพิวเตอร์รวมฮาร์ดแวร์ ซอฟต์แวร์ ข้อมูล และคน เข้าด้วยกัน เครือข่ายช่วยให้การสื่อสารผ่านโปรโตคอล requirements ควรแยกฟังก์ชันออกจากข้อจำกัดเช่น ความพร้อมใช้งาน ความปลอดภัย และการเข้าถึง
    • Authentication: การตรวจสอบตัวตนที่อ้างถึง; Authorization: การกำหนดสิทธิ์การกระทำที่ยอมรับได้
    ระบบคอมพิวเตอร์ เครือข่าย และ requirements: แผนภาพกรณีศึกษาต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

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

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • ข้อมูล: ไฟล์หนึ่งมีขนาด 12 เมกะไบต์ โดยตัวอย่างนี้กำหนดหนึ่งเมกะไบต์เท่ากับหนึ่งล้านไบต์ บิต = ไบต์×8 = 12×1,000,000×8 = 96,000,000 บิต ที่ 8,000,000 บิตต่อวินาที เวลาที่เหมาะสม = ขนาด/อัตรา = 12 วินาที, ไม่รวม overhead

    ตัวอย่าง:

    ไฟล์ขนาด 40 ล้านบิตถ่ายโอนที่ 5 ล้านบิตต่อวินาที หาเวลาในอุดมคติ ใช้ลำดับเดียวกัน: ปริมาณที่ทราบ → โมเดล → ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

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

    เตือน:

    การเข้ารหัสรับประกันว่าผู้ใช้ทุกคนมีสิทธิ์การเข้าถึงที่เหมาะสม ข้อความนี้ผิด: แบนด์วิดท์ไม่ใช่ actual end-to-end throughput การเข้ารหัสไม่ได้ by itself ensure correct authorization or remove every security risk

    จุดสำคัญ:

    ระบบคอมพิวเตอร์ เครือข่าย และ requirements: แยกการยืนยันตัวตนออกจากสิทธิ์การอนุญาต การยืนยันตัวตนตรวจสอบตัวตน ส่วนสิทธิ์การอนุญาตกำหนดการกระทำที่ได้รับอนุญาต โมเดลภัยคุกคามเชื่อมโยงทรัพย์สินที่มีค่า การโจมตีที่เป็นไปได้ และการควบคุมที่เหมาะสม

    ลายเส้นที่ดำเนินการได้และขอบเขต

    size_MB, rate_Mbps = 20, 10
    bits = size_MB * 1_000_000 * 8
    if rate_Mbps <= 0:
        raise ValueError("Rate must be positive")
    seconds = bits / (rate_Mbps * 1_000_000)
    print(seconds)
    print(0 / (rate_Mbps * 1_000_000))
    

    ผลลัพธ์ที่คาดหวัง:

    16.0
    0.0
    

    หน่วย MB ทศนิยมหมายถึงหนึ่งล้านไบต์; คูณด้วยแปดก่อนหารด้วยบิตต่อวินาที ข้อมูลศูนย์มีระยะเวลาส่งผ่านในอุดมคติเป็นศูนย์ อัตราที่ไม่เป็นบวกจะถูกปฏิเสธ; ค่าใช้จ่ายจริงอยู่นอกเหนือโมเดลคณิตศาสตร์นี้

    คำศัพท์ ฝึกฝน
    English ไทย
    authentication/ɔːˌθentɪˈkeɪʃn/ การยืนยันตัวตน
    authorization/ˌɔːθəraɪˈzeɪʃn/ การอนุญาต
  • 2

    A.2 · เครือข่าย

    2.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    2.2

    เครือข่าย: ความล่าช้า, อัตราการส่งข้อมูล และการส่งแบบแบ่งชั้น

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • ข้อความขนาดเล็กอาจมาถึงล่าช้าบนลิงก์แบนด์วิดท์สูง ความจุและความหน่วงวัดคุณสมบัติต่างกัน
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • แพ็กเก็ตนำข้อมูลที่ระบุที่อยู่ผ่านเครือข่าย โมเดลชั้นแบ่งหน้าที่รับผิดชอบเช่น ความหมายของแอปพลิเคชัน การส่งมอบการขนส่ง และการ-route ของเครือข่าย แบนด์วิดส์อธิบายความจุ; throughput คืออัตราการส่งข้อมูลที่ได้จริง; latency คือความหน่วง
    • Throughput: Achieved rate of useful data transfer; Latency: Delay experienced in communication.
    เครือข่าย: latency, throughput และการส่งมอบแบบชั้น: แผนภาพกรณีศึกษาต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

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

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • ข้อมูล: ไฟล์ขนาด 8 เมกะบิต ข้ามลิงก์ขนาด 2 เมกะบิต/วินาที เวลาส่งที่เหมาะสม = ขนาด/อัตรา = 8/2 = 4 วินาที Overhead ของโปรโตคอล ผู้ใช้รายอื่นและความหน่วงสามารถทำให้เวลาเสร็จสิ้นที่สังเกตได้ช้าลง

    ตัวอย่าง:

    ไฟล์ขนาด 12 เมกะบิต ผ่านลิงก์ขนาด 3 เมกะบิต/วินาที จงคำนวณเวลาในการส่งอย่างอุดมคติ ใช้ลำดับขั้นตอนเดียวกัน: ข้อมูลที่ทราบ → แบบจำลอง →ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

    • เมกะไบต์หนึ่งมีแปดเมกบิตก่อนหักส่วนเพิ่ม (overhead) เชื่อมต่อที่มีอัตราเร็วสูงไม่ได้การันตีความหน่วงต่ำหรือจุดปลายทางที่ปลอดภัย
    • กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน

    เตือน:

    การเชื่อมต่อที่มีความจุสูงการันตีความหน่วงเป็นศูนย์ ข้ออ้างนี้ไม่ถูกต้อง: เมกะไบต์หนึ่งมีแปดเมกบิตก่อนหักส่วนเพิ่ม เชื่อมต่อที่มีอัตราเร็วสูงไม่ได้การันตีความหน่วงต่ำหรือจุดปลายทางที่ปลอดภัย

    จุดสำคัญ:

    เครือข่าย: ความหน่วง, อัตราการส่งข้อมูล และการส่งแบบชั้น: เวลาในการส่งข้อมูลขึ้นอยู่กับขนาดข้อมูลและอัตราส่วนการส่ง ความหน่วงทั้งหมดอาจรวมถึงเวลาในการแพร่กระจาย การประมวลผล และการจัดคิว การเข้ารหัสปกป้องเนื้อหาภายใต้เงื่อนไขที่กำหนดไว้แต่ไม่ช่วยขจัดปัญหาความแออัดหรือการเปิดเผยเมทาดาต้าทุกชนิด

    ลายเส้นที่ดำเนินการได้และขอบเขต

    size_Mb, rate_Mbps, propagation_s = 12, 3, 0.10
    for rate in [rate_Mbps, 2 * rate_Mbps]:
        transmission_s = size_Mb / rate
        print(round(transmission_s + propagation_s, 2))
    

    ผลลัพธ์ที่คาดหวัง:

    4.1
    2.1
    

    วัดตั้งแต่เริ่มต้นการส่งผ่านจนถึงการรับบิตสุดท้าย เวลาในการส่งผ่านแบบอนุกรมและความล่าช้าของการแพร่กระจายรวมกันภายใต้โมเดลอุดมศึกษานี้ การเพิ่มแบนด์วิดธ์改变的เฉพาะเทอมแรก; จุดต่อแบบจัดเก็บและส่งต่อและการเข้าคิวจะเพิ่มเทอมเพิ่มเติม

    คำศัพท์ ฝึกฝน
    English ไทย
    throughput/ˈθruːpʊt/ ปริมาณงานที่ส่งผ่านได้
    latency/ˈleɪtənsi/ ความหน่วง
  • 3

    A.3 · ฐานข้อมูล

    3.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    3.2

    ฐานข้อมูลเชิงสัมพันธ์: คีย์และความสัมพันธ์

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • การซ้ำที่อยู่ผู้ใช้ในคำสั่งซื้อทุกฉบับอาจทำให้เกิดบันทึกที่ขัดแย้งกันเมื่อที่อยู่มีการเปลี่ยนแปลง
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • ตารางฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยแถวและคุณสมบัติ คีย์หลัก ใช้ระบุแถว; คีย์ภายนอก เชื่อมโยงไปยังคีย์อ้างอิงในตารางอื่น การทำให้เป็นมาตรฐานสามารถลดการซ้ำซ้อนที่ไม่จำเป็นและความผิดปกติในการอัปเดตได้ขณะคงความสัมพันธ์ที่มีนัยสำคัญไว้
    • คีย์หลัก (primary key): เซตของแอททริบิวต์ที่ใช้ระบุแถวในตารางได้อย่างเดียว; คีย์อ้างอิง (foreign key): เซตของแอททริบิวต์ที่อ้างอิงถึงคีย์ในตารางอื่น
    ฐานข้อมูลเชิงสัมพันธ์: คีย์และความสัมพันธ์: แผนภาพกรณีตัวอย่างเดิม

    เลือกหลักฐานที่นำมาทดสอบได้

    • การรวม (join) รวมแถวตามเงื่อนไขที่กำหนด จำนวนผลลัพธ์ขึ้นอยู่กับความเข้มแข็งของความสัมพันธ์และตัวกรอง ข้อจำกัดคีย์ภายนอกบังคับกฎความสัมพันธ์แต่ไม่ทำการเข้ารหัสข้อมูลส่วนบุคคลโดยอัตโนมัติ
    • ออกแบบชุดข้อมูลคำสั่งซื้อผู้ใช้อ้างอิงขนาดเล็กที่ไม่มีข้อมูลส่วนบุคคลจริง Declare คีย์ ทดสอบการแทรกซ้ำและการอ้างอิงที่หายไป จากนั้นตรวจสอบผลลัพธ์การ query กับตารางเป้าหมายที่คำนวณด้วยมือ

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • ข้อมูล: ลูกค้าสี่รายมีคำสั่งซื้อ分別是 2, 0, 3 และ 1 คำสั่ง An inner join ของลูกค้าไปยังคำสั่งคืน 2+0+3+1 = 6แถว A left join ยังคงลูกค้าที่ไม่มีคำสั่งไว้เป็นแถว null-matched หนึ่งแถว ทำให้ได้ 7在这里

    ตัวอย่าง:

    ลูกค้าสามรายมีคำสั่งซื้อจำนวน 1, 3 และ 2 การรวมภายใน (inner join) ระหว่างลูกค้ากับคำสั่งจะคืนกี่แถว? ใช้ลำดับขั้นตอนเดียวกัน: ข้อมูลที่ทราบ → แบบจำลอง →ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

    • คีย์หลักไม่จำเป็นต้องเป็นชื่อบุคคล การรวม (join) ไม่ใช่การต่อกันของตารางอย่างง่าย ควรใช้ query ที่มีพารามิเตอร์สำหรับข้อมูลที่ไม่ไว้วางใจแทนการสร้าง SQL จากสตริงดิบ
    • กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน

    เตือน:

    คีย์ภายนอกจะทำการเข้ารหัสทุกแถวโดยอัตโนมัติ ข้ออ้างนี้ผิด: คีย์หลักไม่จำเป็นต้องเป็นชื่อบุคคล การรวม (join) ไม่ใช่การต่อกันของตารางอย่างง่าย ควรใช้ query ที่มีพารามิเตอร์สำหรับข้อมูลที่ไม่ไว้วางใจแทนการสร้าง SQL จากสตริงดิบ

    จุดสำคัญ:

    ฐานข้อมูลเชิงสัมพันธ์: คีย์และความสัมพันธ์: การรวม (join) รวมแถวตามเงื่อนไขที่กำหนด จำนวนผลลัพธ์ขึ้นอยู่กับความเข้มแข็งของความสัมพันธ์และตัวกรอง ข้อจำกัดคีย์ภายนอกบังคับกฎความสัมพันธ์แต่ไม่ทำการเข้ารหัสข้อมูลส่วนบุคคลโดยอัตโนมัติ

    ลายเส้นที่ดำเนินการได้และขอบเขต

    import sqlite3
    db = sqlite3.connect(":memory:")
    db.executescript("""CREATE TABLE c(id INTEGER PRIMARY KEY);
    CREATE TABLE o(id INTEGER PRIMARY KEY, cid INTEGER);
    INSERT INTO c VALUES(1),(2),(3);
    INSERT INTO o VALUES(10,1),(11,1),(12,3);""")
    for kind in ["INNER", "LEFT"]:
        sql = f"SELECT COUNT(*),COUNT(o.id) FROM c {kind} JOIN o ON c.id=o.cid"
        print(kind, db.execute(sql).fetchone())
    db.close()
    

    ผลลัพธ์ที่คาดหวัง:

    INNER (3, 3)
    LEFT (4, 3)
    

    Left join รักษาลูกค้า 2 กับช่องคำสั่งซื้อเป็น null COUNT(*) รวมแถวนั้น ในขณะที่ COUNT(o.id) ขาดแถวนั้น คีย์หลักแยกแยะบันทึก; จำนวนลูกค้าไม่ใช่จำนวนคำสั่งซื้อ คำเชื่อมที่แทรกเข้ามามาจากรายการภายในคงที่ ไม่ใช่ข้อมูลผู้ใช้

    คำศัพท์ ฝึกฝน
    English ไทย
    primary key/ˈpraɪməri kiː/ คีย์หลัก
    foreign key/ˈfɒrən kiː/ คีย์ภายนอก
  • 4

    A.4 · การเรียนรู้ของเครื่อง

    4.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    4.2

    โมเดลข้อมูลและการเรียนรู้ของเครื่องอย่างรับผิดชอบ

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • โมเดลสามารถทำคะแนนได้ดีด้วยการเรียนรู้ทางลัดในข้อมูลการฝึกสอน การประเมินผลต้องทดสอบงานที่ต้องการบนตัวอย่างที่ไม่เคยเห็นที่เหมาะสม
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • ฐานข้อมูลเชิงสัมพันธ์ใช้ตาราง คีย์ และความเชื่อมโยงเพื่อจัดระเบียบข้อมูล การเรียนรู้ของเครื่องใช้ประมาณรูปแบบจากข้อมูล ข้อมูลสำหรับการฝึกและประเมินผลทำหน้าที่แตกต่างกัน
    • primary key: เซตของแอททริบิวต์ที่ใช้ระบุบันทึกได้อย่างเดียว; data leakage: การใช้ข้อมูลที่ไม่มีอยู่จริงในช่วงเวลาที่กำหนดสำหรับการทำนาย
    โมเดลข้อมูลและการเรียนรู้ด้วยเครื่องอย่างรับผิดชอบ: แผนภาพกรณีศึกษาต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

    • คีย์หลักใช้ระบุบันทึกได้ไม่ซ้ำกัน ส่วนคีย์ภายนอกใช้เชื่อมโยงระหว่างบันทึก ในการทำนาย การรั่วไหลของข้อมูลอาจเปิดเผยข้อมูลที่ไม่มีอยู่ในเวลาตัดสินใจจริง ความแม่นยำเพียงอย่างเดียวอาจบดบังการกระจายตัวของเป้าหมายที่ไม่สมดุล
    • ใช้ข้อมูลการจองสมมติเพื่อระบุเอนทิตี คุณสมบัติและความสัมพันธ์ สำหรับแบบฝึกหัดการเรียนรู้ ให้ใช้ชุดข้อมูลสาธารณะที่ไม่มีความเสี่ยง แยกข้อมูลฝึกและข้อมูลทดสอบ และอธิบายว่าใครอาจได้รับผลกระทบจากความผิดพลาด ขอบเขตวัตถุประสงค์ 2027 CS ปัจจุบันรอคู่มือที่ได้รับมา

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • ที่ทราบ: ตัวจำแนกประเภททำ 90 คำทำนายถูกต้อง จาก 100 กรณี ความแม่นยำ = ถูกต้อง/รวม×100 = 90% หากมี 90 กรณีเป็นคลาสหนึ่ง การทำนายคลาสนั้นตลอดจะให้ความแม่นยำเท่าเดิมแต่ยังอาจล้มเหลวในทุกกรณีของคลาสส่วนน้อย

    ตัวอย่าง:

    โมเดลทำ 72 คำทำนายถูกต้อง จาก 80 กรณี หาความแม่นยำเป็นเปอร์เซ็นต์ ใช้ลำดับเดียวกัน: ปริมาณที่ทราบ → โมเดล → ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

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

    เตือน:

    ตัวจำแนกประเภทที่มีความแม่นยำ 90% ต้องจัดการทุกคลาสได้ดีเท่ากัน ข้อความนี้ไม่จริง: ความแม่นยำสูงไม่ใช่หลักฐานของความยุติธรรมหรือความเข้าใจเชิงเหตุและผล คีย์หลักของฐานข้อมูลไม่ใช่แค่ฟิลด์ใดก็ได้ที่ดูสำคัญ

    จุดสำคัญ:

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

    ลายเส้นที่ดำเนินการได้และขอบเขต

    tp, fn, fp, tn = 4, 1, 10, 85
    total = tp + fn + fp + tn
    accuracy = (tp + tn) / total
    recall = tp / (tp + fn) if tp + fn else None
    print(accuracy, recall)
    positives = 0
    print(0 / positives if positives else "UNDEFINED")
    

    ผลลัพธ์ที่คาดหวัง:

    0.89 0.8
    UNDEFINED
    

    ความแม่นยำหารด้วยคำทำนายที่ถูกต้องด้วยทุกกรณี; การเรียกคืนเชิงบวกหารด้วยจริงบวกด้วยบวกจริง. ไม่มีกรณีบวก การเรียกคืนเป็นค่าไม่กำหนดแทนที่จะเป็นศูนย์. ชุดข้อมูลนี้เป็นเรื่องสมมติ ไม่มีโมเดลที่ฝึกฝนหรือข้อมูลส่วนบุคคล

    คำศัพท์ ฝึกฝน
    English ไทย
    primary key/ˈpraɪməri kiː/ คีย์หลัก
    data leakage/ˈdeɪtə ˈliːkɪdʒ/ การรั่วไหลของข้อมูล
  • 5

    B.1 · การคิดเชิงคำนวณ

    5.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    5.2

    อัลกอริทึม การติดตาม และหลักฐานความถูกต้อง

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • อัลกอริทึมอาจทำงานได้สำหรับตัวอย่างหนึ่งแต่ล้มเหลวที่ขอบเขต การทดสอบควรออกแบบจากสเปก ไม่ใช่แค่ทางเดินที่เป็นสุข (happy path) เท่านั้น
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • อัลกอริทึมคือขั้นตอนที่จำกัดและชัดเจนสำหรับงานหนึ่งๆ การติดตาม (trace) บันทึกการเปลี่ยนแปลงสถานะ ความคงสภาพของลูป (loop invariant) อธิบายคุณสมบัติที่ถูกรักษาไว้ในการวนซ้ำแต่ละรอบและช่วยในการพิสูจน์ความถูกต้อง
    • algorithm: กระบวนการจำกัดจำนวนขั้นตอนในการแก้ปัญหาที่กำหนด; boundary test: การทดสอบที่ขอบเขตของช่วงค่าเข้าที่ยอมรับได้
    อัลกอริทึม การติดตาม และหลักฐานความถูกต้อง: แผนภาพกรณีศึกษาต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

    • กำหนดเงื่อนไขอินพุตและผลลัพธ์ที่คาดหวัง ใช้กรณีขอบเขต ชุดข้อมูลว่างเมื่ออนุญาต ข้อมูลซ้ำ และค่าที่ไม่ถูกต้อง แยกอัลกอริทึมที่ผิด ออกจากการนำไปใช้ที่ผิด หรือข้อกำหนดที่ไม่สมบูรณ์
    • ติดตามการค้นหาในรายการเรียงลำดับสมมติขนาดเล็ก ระบุ().'มาตรฐานการอ้างอิงดัชนี' สำหรับการค้นหาแบบเบี่ยง二分 (binary search) อัปเดตขอบเขตเพื่อให้ช่วงที่เหลือเล็กลง Reject อินพุตที่ไม่เรียงลำดับเว้นแต่การจัดเรียงจะเป็นส่วนหนึ่งของงาน

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • ที่ทราบ: การค้นหาเชิงเส้นของรายการ 8 รายการ อาจต้องการ 8 ครั้งเปรียบเทียบเมื่อ itemCount ที่หาอยู่เป็นรายการสุดท้ายหรือไม่มีอยู่ การเพิ่มขนาดรายการสองเท่าจะเพิ่มจำนวนครั้งเปรียบเทียบในกรณี worst-case สองเท่าภายใต้โมเดลนี้ การค้นหาแบบเบี่ยง二分 ลดช่วงลงประมาณครึ่งหนึ่งในแต่ละขั้นตอนแต่ต้องใช้โครงสร้างที่จัดลำดับเหมาะสม

    ตัวอย่าง:

    การค้นหาเชิงเส้นสแกน 14 รายการทั้งหมดโดยไม่พบ-match เกิดการเปรียบเทียบ itemCount กี่ครั้ง? ใช้ลำดับเดียวกัน: ปริมาณที่ทราบ → โมเดล → ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

    • การทดสอบตัวอย่างสำเร็จไม่ได้พิสูจน์ความถูกต้องสำหรับอินพุตที่ถูกต้องทั้งหมด อย่านำไวยากรณ์伪โค้ดเฉพาะ Cambridge มาใช้ในหลักสูตร IB โดยไม่มีแหล่งที่มาของหลักสูตร
    • กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน

    เตือน:

    การทดสอบตัวอย่างสำเร็จหนึ่งครั้งพิสูจน์อัลกอริทึมว่าถูกต้องสำหรับอินพุตที่ถูกต้องทั้งหมด ข้อความนี้ไม่จริง: การทดสอบตัวอย่างสำเร็จไม่ได้พิสูจน์ความถูกต้องสำหรับอินพุตที่ถูกต้องทั้งหมด อย่านำไวยากรณ์伪โค้ดเฉพาะ Cambridge มาใช้ในหลักสูตร IB โดยไม่มีแหล่งที่มาของหลักสูตร

    จุดสำคัญ:

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

    ลายเส้นที่ดำเนินการได้และขอบเขต

    def first_index(values, target):
        for index, value in enumerate(values):
            if value == target:
                return index
        return -1
    print(first_index([4, 7, 4], 4))
    print(first_index([4, 7, 4], 9))
    print(first_index([], 4))
    

    ผลลัพธ์ที่คาดหวัง:

    0
    -1
    -1
    

    ลูปจะทดสอบค่าดัชนี 0 ก่อน จะหยุดเมื่อพบการจับคู่ และจะคืนค่า −1 ก็ต่อเมื่อตรวจสอบรายการจนหมด ดังนั้นหากมีข้อมูลซ้ำกันจะได้ค่าดัชนีตัวแรก หากเป็นรายการว่างจะไม่มีการทำงานภายในลูป

    คำศัพท์ ฝึกฝน
    English ไทย
    algorithm/ˈælɡərɪθəm/ อัลกอริทึม
    boundary test/ˈbaʊndəri test/ การทดสอบขอบเขต
  • 6

    B.2 · การเขียนโปรแกรม

    โปรแกรมการเรียนรู้มาเร็วๆ นี้

  • 7

    B.3 · การเขียนโปรแกรมแบบ面向对象 (Object-oriented programming)

    7.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    7.2

    วัตถุ: สถานะ พฤติกรรม และอินเทอร์เฟซ

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • วัตถุจำลองบัญชีธนาคารสองตัวสามารถตอบสนองต่อการฝากเงินที่เหมือนกันได้ ในขณะที่มียอดคงเหลือต่างกัน
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • คลาสกำหนดชนิดที่มีสถานะและพฤติกรรม วัตถุคือ อินสแตนซ์ การห่อหุ้ม (Encapsulation) ควบคุมการเข้าถึงผ่านอินเทอร์เฟซเพื่อให้การดำเนินการรักษา invariant ไว้ได้ การสืบทอด (Inheritance) สร้างความสัมพันธ์ของชนิดที่เหมาะสม ส่วนการประกอบ (Composition) สร้างวัตถุที่ประกอบด้วยหรือใช้อีกวัตถุหนึ่ง
    • encapsulation: การควบคุมการเข้าถึงสถานะผ่านอินเทอร์เฟซ; instance: วัตถุเฉพาะของคลาสหนึ่ง
    วัตถุ: สถานะ พฤติกรรม และอินเทอร์เฟซ: แผนภาพกรณีตัวอย่างต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

    • การเรียกเมทόδทำงานกับอินสแตนซ์เฉพาะ ตัวแปรสถานะควรเป็นไปตามเงื่อนไขก่อน (preconditions) และเงื่อนไขหลัง (postconditions) Polymorphism ทำให้โค้ดสามารถใช้อินเทอร์เฟซร่วมกันพร้อมกับการนำไปใช้ที่แตกต่างกัน เมื่อสัญญา (contract) ถูกเคารพ
    • สร้างโมเดลบัญชีหรือสินค้าคงคลังสังเคราะห์ขนาดเล็ก ทดสอบอินสแตนซ์อิสระสองตัว ปฏิเสธการดำเนินการที่ไม่ถูกต้องและค่าขอบเขต เก็บโมเดลห่างจากบัญชีการเงินจริงและข้อมูลการเข้าสู่ระบบ

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • Known: Object A เริ่มต้นที่ 40 หน่วยและได้รับ 15; Object B เริ่มต้นที่ 20 และได้รับ 5. ยอดคงเหลือสุดท้ายคือ 55 และ 25. ผลรวมของทั้งสองคือ 80 แต่ยอดคงเหลือของแต่ละ object ไม่เท่ากับ 80

    ตัวอย่าง:

    อินสแตนซ์เริ่มต้นที่ 12 หน่วย เพิ่ม 8 และลบออก 3. หาค่าสุดท้าย用它 ใช้ลำดับเดียวกัน: จำนวน Known → โมเดล → ความสัมพันธ์ → การแทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

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

    เตือน:

    อินสแตนซ์สองตัวของคลาสต้องแบ่งปันยอดคงเหลือเดียวกันเสมอ ข้ออ้างนี้ผิด: คลาสไม่เหมือนอินสแตนซ์ใดอินสแตนซ์หนึ่ง การสืบทอดไม่ได้ดีกว่า composition เสมอ การซ่อนฟิลด์เพียงอย่างเดียวไม่ได้พิสูจน์ว่าทุกการรักษาสถานะที่ถูกต้อง

    จุดสำคัญ:

    วัตถุ: สถานะ พฤติกรรม และอินเทอร์เฟซ: การเรียกเมท็อดทำงานกับอินสแตนซ์เฉพาะ ตัวแปรสถานะควรเป็นไปตามเงื่อนไขก่อน (preconditions) และเงื่อนไขหลัง (postconditions) Polymorphism ทำให้โค้ดสามารถใช้อินเทอร์เฟซร่วมกันพร้อมกับการนำไปใช้ที่แตกต่างกัน เมื่อสัญญา (contract) ถูกเคารพ

    ลายเส้นที่ดำเนินการได้และขอบเขต

    class Account:
        def __init__(self, balance):
            self.balance = balance
        def withdraw(self, amount):
            if amount < 0 or amount > self.balance:
                return False
            self.balance -= amount
            return True
    a, b = Account(15), Account(20)
    print(a.withdraw(30), a.balance, b.balance)
    print(a.withdraw(15), a.balance, b.balance)
    

    ผลลัพธ์ที่คาดหวัง:

    False 15 20
    True 0 20
    

    การปฏิเสธจะเกิดขึ้นก่อนการเปลี่ยนแปลงสถานะ ด้วยยอดเงินเริ่มต้นที่ไม่ติดลบ การถอนเงินที่ได้รับการตรวจสอบแล้วจะรักษายอดเงินให้ ≥ 0 ชั้นเรียนการสอนขนาดเล็กนี้เปิดให้เห็นคุณสมบัติ (attributes) การออกแบบสำหรับใช้งานจริงต้องควบคุมทุกเส้นทางของการเปลี่ยนแปลงสถานะ ไม่ควรสันนิษฐานว่าเมทโธดเพียงอย่างเดียวจะรักษาการห่อหุ้มข้อมูลได้

    คำศัพท์ ฝึกฝน
    English ไทย
    instance/ˈɪnstəns/ ตัวอย่าง
    encapsulation/ɪnˌkæpsjʊˈleɪʃn/ การห่อหุ้ม
  • 8

    B.4 · ประเภทข้อมูลนามธรรม (HL เท่านั้น)

    8.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    8.2

    ประเภทข้อมูลนามธรรม: สัญญาการดำเนินการ

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • การจำลองแถวรอต้องการรายการที่ยังค้างไว้นานที่สุดก่อน Stack ให้รายการล่าสุดก่อน ดังนั้นสัญญาการดำเนินการจึงสำคัญ
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • Abstract data type ระบุค่าและการดำเนินการโดยไม่ขึ้นอยู่กับ Implementation เฉพาะ Stack เป็น Last in First Out Queue เป็น First in First Out Collection interface ต้องการพฤติกรรมที่กำหนดสำหรับ Operation ที่ว่างและ Operation ที่ไม่ถูกต้อง
    • stack: ประเภทข้อมูลนามธรรมแบบเข้า-last-ออก-first; queue: ประเภทข้อมูลนามธรรมแบบเข้า-first-ออก-first
    Abstract data types: สัญญาการดำเนินการ: แผนภาพกรณีตัวอย่างต้นฉบับ

    เลือกหลักฐานที่นำมาทดสอบได้

    • เลือกโครงสร้างตามรูปแบบการเข้าถึงที่ต้องการ ความซับซ้อนขึ้นอยู่กับ Implementation และสมมติฐาน: การลบรายการแรกออกจาก Shift array แตกต่างจากการเลื่อน head pointer ใน queue
    • Trace ลำดับการดำเนินการด้วยมือ แล้วเปรียบเทียบโปรแกรมกับสถานะที่คาดหวัง ทดสอบ Operation ที่ว่างvisions singleton และซ้ำซ้อน State溢出พฤติกรรมหากความจุถูกกำหนดไว้

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • Known: เควอ A, B และ C แล้วดีควอสองครั้ง A และ B ออก; C คงอยู่ หลังจากเควอ D จะมีรายการรอสองรายการ คือ C แล้ว D การกด push เดียวกันบน stack จะเอา C ออกก่อนแล้วจึงเอา B ออก

    ตัวอย่าง:

    Queue เริ่มว่าง รับ 7 รายการ และเอาออก 4. หาจำนวนที่เหลือ ใช้ลำดับเดียวกัน: จำนวน Known → โมเดล → ความสัมพันธ์ → การแทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

    • ADT ไม่ใช่การจัดวางหน่วยความจำเฉพาะ Queue ไม่เรียงลำดับตามความสำคัญเว้นแต่สัญญาจะกำหนด priority queue
    • กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน

    เตือน:

    คิวจะจัดลำดับรายการโดยอัตโนมัติตามระดับความสำคัญ ข้ออ้างนี้ไม่ถูกต้อง: ADT ไม่ใช่การจัดเก็บข้อมูลจำเพาะ คิวจะไม่จัดลำดับตามระดับความสำคัญเว้นแต่สัญญาของคิวจะกำหนดว่าเป็นคิวน้ำหนัก

    จุดสำคัญ:

    ประเภทข้อมูลเชิงนามธรรม: สัญญาการดำเนินการ: เลือกโครงสร้างสำหรับการเข้าถึงรูปแบบที่ต้องการ ความซับซ้อนขึ้นอยู่กับวิธีนำไปใช้และสมมติฐาน: การลบรายการแรกออกจากอาร์เรย์ที่เลื่อนตำแหน่ง differs from การเคลื่อนหัวชี้ชี้ในคิว

    ลายเส้นที่ดำเนินการได้และขอบเขต

    from collections import deque
    queue = deque()
    queue.extend(["A", "B"])
    print(queue.popleft())
    queue.append("C")
    print(queue.popleft())
    print(list(queue))
    queue.clear()
    print(queue.popleft() if queue else "EMPTY")
    

    ผลลัพธ์ที่คาดหวัง:

    A
    B
    ['C']
    EMPTY
    

    การลบจากด้านซ้ายใช้หลัก FIFO การตรวจสอบความว่างอย่างชัดเจนกำหนดผลลัพธ์ที่ขอบเขต; การใช้ deque.popleft โดยไม่มีเงื่อนไขนี้จะทำให้เกิด IndexError ในทางกลับกัน Stack จะลบข้อมูลจากด้านขวา

    คำศัพท์ ฝึกฝน
    English ไทย
    stack/stæk/ สตैก
    queue/kjuː/ คิว
  • 9

    กรณีศึกษา · กรณีศึกษา

    9.1

    ขอบเขตและเงื่อนไขก่อนเข้าเรียน

    จุดเน้น HL ที่ได้รับการสนับสนุน. เป้าหมายการประเมินผล 2027 ครั้งแรก; PDFทางการส่งกลับ 403; บทสรุปที่เก็บรวบรวมแล้วเก่าเป็นผลการประเมินสุดท้าย 2026. คู่มือที่เหลือ มาตรฐานการประเมิน และข้อกำหนดเชิงปฏิบัติยังคงมีค่าบันทึกไว้เดิม

    สิ่งจำเป็น: อ่านปริมาณและหน่วยที่กำหนด ใช้เลขคณิตและเงื่อนไขโมเดลด้านล่าง บทเรียนแต่ละบทพัฒนาวิธีการของตนเองก่อนการถ่ายโอนแบบอิสระ

    นี่คือตัวอย่างการสอนดั้งเดิมหรือที่ระบุว่าเป็นเรื่องfictional อย่างชัดเจน ไม่ใช่การวัดค่าจริงหรือการสืบสวนผู้เรียนที่ได้รับการประเมินเสร็จสมบูรณ์

    9.2

    การวิเคราะห์กรณีศึกษาด้านคอมพิวเตอร์: ประเมินระบบที่เสนอ

    อะไรจะเป็นคำอธิบายสำหรับการสังเกตนี้?

    • ระบบจองโรงเรียนที่เสนอมาดูมีประสิทธิภาพ แต่คำแนะนำขึ้นอยู่กับผู้ใช้ ข้อจำกัด และหลักฐาน คำศัพท์ทางเทคนิคที่สมเหตุสมผลเพียงอย่างเดียวไม่ใช่การตัดสินใจที่มีเหตุผลรองรับ
    • เริ่มต้นด้วยการทำนาย ระบุปริมาณหรือลักษณะที่คุณจะเปรียบเทียบ แล้วตัดสินใจว่าหลักฐานอะไรที่จะแยกแยะคำอธิบายสองแบบได้

    สร้างโมเดล

    • กรณีศึกษาตั้งทางเลือกทางคอมพิวเตอร์ไว้ในสถานการณ์ที่กำหนด ระบุผู้มีส่วนได้ส่วนเสีย ความต้องการ หลักฐานที่มีอยู่ และข้อจำกัดก่อนแนะนำสถาปัตยกรรมหรืออัลกอริทึม แยกแยะข้อเท็จจริงของสถานการณ์ออกจากสมมติฐานและการคาดการณ์ การแลกเปลี่ยนอาจเกี่ยวข้องกับประสิทธิภาพ ความน่าเชื่อถือ การเข้าถึง ความเป็นส่วนตัว การบำรุงรักษา และค่าใช้จ่าย
    • throughput: งานที่เสร็จสิ้นต่อหน่วยเวลาภายใต้ภาระงานที่กำหนด; acceptance test: การทดสอบว่าความต้องการของผู้ใช้ที่กำหนดไว้ได้รับการตอบสนองหรือไม่
    เคสวิเคราะห์ด้านคอมพิวเตอร์: ประเมินระบบที่เสนอ: แผนภาพเคสทำงานเดิม

    เลือกหลักฐานที่นำมาทดสอบได้

    • คำแนะนำควรเชื่อมโยงความต้องการกับกลไกและการทดสอบที่สังเกตได้ ตัวอย่างเช่น ปัญหาความพร้อมใช้งานต้องการกลยุทธ์ที่ป้องกันการอัปเดตที่ขัดแย้งกัน plus การทดสอบที่แสดง invariant ข้ออ้างเกี่ยวกับความเร็วที่เพิ่มขึ้นต้องการการวัดภาระงานที่เทียบเคียงกันได้แทนที่จะใช้ฉลากความซับซ้อนเท่านั้น ประเมินทางเลือกภายใต้เงื่อนไขที่กำหนดเดียวกัน
    • ใช้สถานการณ์ที่รับรองโดยโรงเรียนและข้อมูลสังเคราะห์ สร้างเมทริกซ์ของข้ออ้าง หลักฐานสถานการณ์สนับสนุน คำอธิบายทางเทคนิค ข้อจำกัด และการทดสอบที่ยอมรับ ระบุข้อเท็จจริงที่ขาดหายไปอย่างชัดเจนและแสดงว่าคำแนะนำจะเปลี่ยนไปอย่างไรหากสมมติฐานล้มเหลว สิ่งนี้เตรียมความพร้อมสำหรับการให้เหตุผลจากกรณีโดยไม่คัดลอกกรณีศึกษาการประเมิน IB ที่ไม่สามารถเข้าถึงได้หรือสร้างเกณฑ์การสอบขึ้นมาเอง

    เริ่มจากปริมาณที่ทราบแล้ว

    • ระบุค่าที่ทราบและหน่วยของมัน เลือกความสัมพันธ์โดยพิจารณาว่าข้อสมมติฐานสอดคล้องกับเคสนี้ แล้วจัดรูปสมการก่อนแทนค่า
    • Known: โปรโตไทป์สมมติประมวลผล 120 คำขอสำเร็จในช่วงสังเกต 30 วินาที Throughput คือ 120/30=4 คำขอสำเร็จ/วินาที โปรโตไทป์ที่สองประมวลผล 150 ในช่วง 30 วินาที หรือ 5/วินาที โปรโตไทป์ที่สองมี recorded throughput สูงขึ้น 25% แต่ไม่สามารถสรุปเรื่อง latency, อัตราความล้มเหลว หรือประสิทธิภาพภายใต้ภาระงานที่ใหญ่กว่านี้ได้หากไม่มีข้อมูลวัดเหล่านั้น

    ตัวอย่าง:

    ระบบสมมติประมวลผลสำเร็จ 210 คำขอใน 30 วินาที. คำนวณ throughput. ใช้ลำดับเดียวกัน: ปริมาณที่ทราบ → โมเดล → ความสัมพันธ์ → แทนค่า → หน่วยและการตีความ


    ตรวจสอบข้อสรุปและขอบเขต

    • Throughput ไม่ใช่เวลาตอบสนอง คำแนะนำที่แข็งแกร่งต้องระบุเงื่อนไขที่คาดว่าจะทำงานได้และหลักฐานที่อาจปฏิเสธได้ ตรวจสอบข้อกำหนดกรณีศึกษา CS ของทางการปัจจุบันเทียบกับเวอร์ชันการประเมินที่เกี่ยวข้อง
    • กลับไปที่การสังเกตเดิม อธิบายว่าผลลัพธ์นี้สนับสนุนสิ่งใด มีเงื่อนไขใดบ้าง และเป็นอย่างไรในการทดสอบคำอธิบายอื่นที่ขัดแย้งกัน

    เตือน:

    การที่พบปริมาณงานผ่านสูงโดยอัตโนมัติไม่พิสูจน์ได้ว่าเวลาตอบสนองจะต่ำกว่าสำหรับทุกคำขอ ข้อความนี้ผิด: ปริมาณงานผ่านไม่ใช่เวลาตอบสนอง คำแนะนำที่เข้มงวดควรระบุเงื่อนไขที่คาดว่าจะทำงานได้และหลักฐานที่อาจ反驳ได้ (disconfirm) ความต้องการกรณีศึกษา CS แบบทางการปัจจุบันต้องตรวจสอบกับเวอร์ชันการประเมินที่เกี่ยวข้อง

    จุดสำคัญ:

    การวิเคราะห์กรณีของคอมพิวเตอร์: ประเมินระบบที่เสนอ: คำแนะนำควรเชื่อมโยงความต้องการกับกลไกและการทดสอบที่สังเกตได้ ตัวอย่างเช่น ปัญหาความพร้อมใช้งาน (concurrency) ต้องใช้กลยุทธ์ที่ป้องกันการอัปเดตที่ขัดแย้งกัน plus การทดสอบที่แสดงถึง invariant ข้อกล่าวอ้างว่ามีความเร็วในการตอบสนองมากขึ้นต้องใช้การวัดภาระงานที่เทียบกันได้แทนที่จะเป็นเพียงฉลากความซับซ้อน ประเมินทางเลือกภายใต้เงื่อนไขที่ระบุไว้เดียวกัน

    ลายเส้นที่ดำเนินการได้และขอบเขต

    for successful, attempted, seconds in [(240, 300, 30), (270, 300, 30)]:
        if seconds <= 0 or attempted <= 0:
            raise ValueError("Positive exposure required")
        throughput = successful / seconds
        failure_fraction = (attempted - successful) / attempted
        print(throughput, failure_fraction)
    

    ผลลัพธ์ที่คาดหวัง:

    8.0 0.2
    9.0 0.1
    

    อัตราการสำเร็จและอัตราความล้มเหลวใช้ตัวส่วนที่แตกต่างกัน เวลาเป็นศูนย์หรือจำนวนครั้งเป็นศูนย์ไม่สามารถรองรับอัตราเหล่านี้ได้ สรุปผลสมมติเหล่านี้ไม่ได้ให้หลักฐานเกี่ยวกับเวลาตอบสนอง ค่าใช้จ่าย หรือภาระงานที่เป็นตัวแทน

    คำศัพท์ ฝึกฝน
    English ไทย
    throughput/ˈθruːpʊt/ ปริมาณงานที่ส่งผ่านได้
    acceptance test/əkˈseptəns test/ การทดสอบการยอมรับ
  • 10

    IA · วิธีแก้ปัญหาด้านการคำนวณ

    โปรแกรมการเรียนรู้มาเร็วๆ นี้

เข้าสู่ระบบหรือสร้างบัญชี

IGCSE, A-Level & AP