ร่างหัวข้อวิชา 204111
รุ่นแก้ไขเมื่อ 07:46, 12 พฤษภาคม 2553 โดย Jittat (คุย | มีส่วนร่วม)
แนวทางการจัดหัวข้อวิชา 204111 สำหรับปีการศึกษา 2553
ทุก ๆ หัวข้อให้ใช้โจทย์นำเนื้อหาเสมอ
ส่วน Python
- แนะนำคอมพิวเตอร์และการโปรแกรม
- เนื้อหา:
- มโนทัศน์การแปลโปรแกรม (ภาษาตีความ และภาษาคอมไพล์)
- แนว:
- สาธิตเครื่องมือช่วยพัฒนาโปรแกรม Wing IDE
- สาธิตการเขียนกราฟ และเต่า
- แล็บ: ให้ผู้เรียนฝึกวาดรูปโดยใช้เต่าแบบโต้ตอบ (เต่าตัวเดียว)
- ปิดแล็บด้วยการสาธิตว่าเราสร้างคำสั่งใหม่ได้
- เนื้อหา:
- แนะนำภาษาไพธอน: คำสั่ง ตัวแปร ค่าคงที่ นิพจน์ ฟังก์ชันที่มีอยู่แล้ว
- แนว+แล็บ:
- การรับอินพุทและการแปลงชนิดข้อมูล
- แสดงการคำนวณทางคณิตศาสตร์/วิทยาศาสตร์ แบบโต้ตอบ การใช้งานมอดูล math
- เปลี่ยนหน่วยอุณหภูมิ
- แก้โจทย์ปัญหาแบบบัญญัติไตรยาง
- เปลี่ยนองศาเป็นเรเดียน โดยสร้างนิยามให้เด็กลอกตาม
- แตกแรงตามแกน x/y
- สมการการเคลื่อนที่ โปรเจ็คไตล์ ความเร่ง ความเร็ว
- แนว+แล็บ:
- การนิยามคำสั่งใหม่ด้วยโปรแกรมย่อยและฟังก์ชัน
- แนว: ชี้ให้ผู้เรียนเห็นถึงการคิดปัญหาเชิงมอดูล และการสอนให้คอมพิวเตอร์รู้จักคำสั่งใหม่
- เนื้อหาที่ต้องครอบคลุม
- การให้ฟังก์ชันคืนค่า
- การรับพารามิเตอร์เข้ามาในฟังก์ชัน
- ขอบเขตของตัวแปรในฟังก์ชัน และตัวแปรแบบโกลบอล
- คำสั่งเงื่อนไขและคำสั่งวนซ้ำ
- แนว:
- พิจารณาโจทย์ที่ต้องใช้คำสั่งเงื่อนไขและคำสั่งวนซ้ำ
- คำสั่งวนซ้ำครอบคลุมเพียงแค่ while loop
- ยังไม่ต้องมีลูปสองชั้น# คำสั่งวนซ้ำที่ใช้กับลิสต์
- แนว:
- การรวมข้อมูลเป็นกลุ่ม: ลิสต์/อาร์เรย์ และคำสั่ง for
- แนว:
- ชี้ให้เห็นถึงกลุ่มของข้อมูล รวมถึงชี้ให้เห็นว่าสตริงก็เป็นกลุ่มของข้อมูลเช่นกัน
- การสร้างลิสต์
- การเข้าถึงสมาชิก
- การดำเนินการกับลิสต์: การหาขนาด การเพิ่มสมาชิก
- การใช้ for เพื่อเข้าถึงข้อมูลในลิสต์
- แนว:
- ประมวลเนื้อหา
- ฝึกวิเคราะห์และเขียนโปรแกรมตามโจทย์ที่ให้
- โจทย์มีการผสมผสานหลายเนื้อหาเข้าด้วยกัน
ส่วน C#
- แนะนำภาษา C# และเครื่องมือพัฒนาโปรแกรม
- เนื้อหา
- ย้ำคอนเซ็ปต์การแปลภาษา
- อธิบายกลไกการคอมไพล์โปรแกรม
- แนว:
- สาธิตการใช้งานเครื่องมือ IDE (SharpDev/VS.NET)
- สาธิตความสามารถของ C#, Console Apps, Windows Apps
- สอดแทรกแนวคิดเรื่อง OO โดยอาศัย property ของ component
- แล็บ:
- ให้ทดลองทำทั้ง Console และ Windows App
- พัฒนาเกมง่าย ๆ ที่เปลี่ยน property ของ component
- เนื้อหา
- ชนิดของตัวแปร การประกาศตัวแปรและค่าคงที่ การควบคุมการไหลของโปรแกรม
- แนว:
- แสดงให้เห็นถึงความแตกต่างกับ Python
- ความสำคัญของ type
- โครงสร้างคำสั่งเงื่อนไขและวนซ้ำที่เปลี่ยนไปจาก Python
- เน้นแค่ if, while
- แนว:
- อินพุท เอาท์พุท และไฟล์
- แนว:
- เน้นเฉพาะไฟล์ชนิดเท็กซ์
- เนื้อหา:
- คำสั่ง WriteLine, ReadLine
- ความหมายของไฟล์
- การอ่านและเขียนไฟล์แบบเท็กซ์
- แนว:
- เมท็อด
- เนื้อหา:
- เมท็อดไม่คืนค่า คืนค่า และการส่งพารามิเตอร์
- การส่งพารามิเตอร์แบบ by value/reference (???)
- เนื้อหา:
- อาร์เรย์
- แนว:
- ให้ผู้เรียนอ่านข้อมูลจากไฟล์เพื่อให้ทดสอบโปรแกรมได้ง่าย
- แนะนำไฟล์ .csv และคำสั่ง string.Split
- เนื้อหา:
- อาร์เรย์มิติเดียว
- อาร์เรย์สองมิติ
- ขนาดของอาร์เรย์
- การอ้างถึงสมาชิกในอาร์เรย์
- แนว:
- การรวมข้อมูลเป็นกลุ่มโดยใช้ struct และ class และโปรแกรมเชิงวัตถุเบื้องต้น
- เนื้อหา:
- ความแตกต่างระหว่าง value-type กับ reference-type
- Constructor
- protection level: public, private
- ความหมายของ static modifier
- เนื้อหา:
- คอเล็คชันคลาส
- แนว:
- ชี้ให้เห็นถึงข้อจำกัดของโครงสร้างข้อมูลพื้นฐาน เช่นอาร์เรย์หรือ struct
- เนื้อหา:
- List และ Dictionary
- หมายเหตุ: นำไปเสริมในหัวข้ออาร์เรย์ (ถ้าไม่อัดแน่นเกินไป) จะเหมาะสมกว่าหรือไม่
- แนว: