วันจันทร์ที่ 7 มิถุนายน พ.ศ. 2553

Computer Human Interfaces: แผนการสอน

วิชานี้ สอนที่ม.เกษตรศาสตร์ ด้วยรหัส ๒๐๔๔๘๒ โดยเป็นวิชาบังคับของหลักสูตร วิศวกรรมซอฟต์แวร์และความรู้ และเป็นวิชาเลือกของหลักสูตรวิศวกรรมคอมพิวเตอร์ เปิดสอนมาตั้งแต่ปี ๒๕๕๑ โดย ผมเป็นผู้สอนครับ

ประวัติของวิชานี้ ที่จำได้ก็คืออยู่ในหลักสูตรมาเกือบ ๒๐ ปี แต่ไม่เคยมีการเปิดสอน อันเนื่องเหตุผลต่างๆนาๆ ส่วนผมเองก็ไม่เคยสนใจจะสอนเลยครับจนมาวันนึงมีคนถามผมว่า Apple ทำไมถึงขาย iPod และ iPhone ได้ มันมีอะไรใหม่กว่า คนที่ทำ mp3 player หรือ cell phone มาก่อนหน้าตั้งหลายปีได้ มันเกี่ยวอะไรกับเทคโนโลยีหรือป่าว แม้คำตอบก็พอมีเกี่ยวกับเทคโนโลยีอยู่บ้าง แต่ถ้าถามคนโน้นคนนี้ คนที่สนใจ Apple มันเกี่ยวกับการออกแบบล้วนๆ ... ใครๆก็ว่างั้น

มันก็เป็นคำถาม ว่า ถ้านิสิตเกษตรของเราจะออกแบบได้ เราขาดความรู้อะไรเกี่ยวกับเทคโนโลยีเหล่านั้น คำตอบกว้างๆคือ เทคโนโลยีไม่ขาด แต่ขาดแนวคิดที่จะออกแบบคอมพิวเตอร์ให้ดี ... เท่านั้นแหละครับ

มันก็เป็๋นคำถามตรงประเด็นจากนิสิตว่า แล้ววิชานี้มีพื้นฐานอะไรยังไง คำถามอะไรก็ตาม sense หรือป่าว ผมก็มักมีคำตอบมาตรฐานก็คือ ... sense มีความสำคัญ แต่ถ้าไม่มีหลักการสนับสนุน

วิชานี้ เป็นเรื่องเกี่ยวกับ แนวทาง (guide line) เป็นส่วนใหญ่ ทฤษฎี (theory) กรอบปฏิบัติ (framework) ก็มีอยู่บ้าง นั่นก็แปลว่า สิ่งที่พูดไม่ใช่สิ่งที่ถึงกะต้องยึดเป็นสรณะ ไม่รู้ไม่ได้ตายแน่ หรืออะไรที่จำเป็นขนาดนั้น แต่ที่สำคัญที่สุดและเป็นเป้าหมายของวิชานี้ คือ การจินตนาการมุมมองของผู้ใช้โดยผู้ออกแบบเพื่อให้ได้ประโยชน์สูงสุดจากเทคโนโลยีที่เป็นไปได้ 

ผมเอาข้อสอบเทอมเก่าๆมาให้ดูเป็นตัวอย่างสักนิดแล้วกัน
  1. ในการโปรแกรมเพื่อพัฒนาซอฟต์แวร์ เราสามารถใช้ภาษาโปรแกรมได้หลากหลาย เช่น C C++ JAVA และ C# ฯลฯ และเรายังเห็นได้อีกว่า เรามีเครื่องมือที่ใช้กันอย่างหลากหลายเช่น ใช้ IDE ที่แตกต่างกัน เช่น eclipse netbeans, visual studio ฯลฯ หรือในบางครั้งพบว่าใช้เพียง editor พื้นฐานเท่านั้น เช่น vi หรือ notepad ฯลฯ หรือในบางครั้งเราอาจเห็นการเขียนโปรแกรมที่ใช้ภาพเป็นองค์ประกอบ (visual programming) ในการสร้างความเข้าใจ เช่น Logo, basic stamp หรือ UML ฯลฯ จงอธิบายว่าเหตุใดผู้คนจึงใช้เครื่องมือที่แตกต่างกันในการทำเรื่องๆเดียวกัน
  2. เมื่อหลายปีก่อน บ.ยักษ์ใหญ่ทางคอมพิวเตอร์แห่งหนึ่ง มีปัญหาทางกฎหมายกับประเทศในยุโรปในเรื่องของการผูกขาดและกีดกันทางการค้า เนื่องจาก ระบบ OS ของบริษัทนี้ ได้รวม web browser และ media player มาพร้อมการติดตั้ง OS นั้น ซึ่งข้อกล่าวหาคือทำให้บริษัทที่พัฒนา web browser และ media player เพียงอย่างเดียว ในเชิงเศรษฐศาสตร์ เป็นการกีดกันทางการค้าเพราะไม่มีใครสามารถขายผลิตภัณฑ์ของตนได้เลยเพราะแข่งขันกับของฟรีซึ่งถือว่าเป็นการทุ่มตลาด จงให้เหตุผลในเชิงของ HCI ว่ากรณีนี้การกีดกันทางค้าอย่างไร และในทำนองเดียวกัน บริษัทแห่งนี้ได้พ่วงโปรแกรม Instant messing มาด้วยแต่ไม่ถูกฟ้องว่ากีดกันทางการค้า และในทำนองเดียวกัน จงให้เหตุผลในเชิงของ HCI ว่ากรณีนี้ไม่เป็รการกีดกันทางค้าอย่างไร
  3. ในการควบคุมเครื่องจักรเช่น รถยนต์ หรือ เครื่องบิน จะมีอุปกรณ์เฉพาะในการควบคุม แต่เราพบว่าในการเล่นวีดีโอเกม ที่เกี่ยวข้องกับการแข่งรถ หรือ เครื่องบิน เราสามารถใช้ joystick ควบคุมได้ จงให้เหตุผลว่าเราสามารถ บังคับ รถยนต์ หรือ เครื่องบิน จริงๆ ด้วย joystick ได้หรือไม่
  4. อะไรคือปัญหาที่สำคัญอันเป็นที่มาของการศึกษาและวิจัยด้าน Human Computer Interaction
  5. มหาวิทยาลัยมีแนวคิดที่จะให้นิสิตใหม่ป้อนข้อมูลที่ถูกต้องด้วยตนเองก่อนเข้ามอบตัวกับทางมหาวิทยาลัย จึงต้องการออกแบบระบบเก็บข้อมูลที่จะทำให้เจ้าหน้าที่สามารถตรวจสอบที่กรอกมากับเอกสารต้นฉบับได้สะดวก จงออกแบบจอภาพเว็บ เพื่อเก็บประวัติส่วนตัวของนิสิต ซึ่งประกอบด้วยข้อมูล เลขประจำตัวประชาชน, ชื่อ, นามสกุล, อายุ, ที่อยู่ซึ่งประกอบด้วย บ้านเลขที่ ตำบล อำเภอ จังหวัด และ รหัสไปรษณีย์, วันเดือนปีเกิด, ชื่อ นามสกุล เลขประจำตัวประชาชน และที่อยู่ของผู้ปกครอง, ภาพหน้าตรงนิสิต, ภาพบัตรประชาชน, ภาพทะเบียนบ้าน และจงออกแบบหน้าจอเพื่อให้เจ้าหน้าที่ตรวจสอบความถูกต้อง คุณสามารถอธิบายกระบวนการเพิ่มเติมนอกจากนี้ได้ถ้าจำเป็น
  6. เนื่องจาก การใช้คอมพิวเตอร์ในปัจจุบันการใช้ interface แบบต่างๆอาจจะง่ายดีอยู่ แต่เนื่องจากเหตุผลมากมาย คุณเลยได้รับมอบหมายให้ออกแบบ ชุดคำสั่งพิเศษในลักษณะ command line เพื่อใช้ในการลงทะเบียน เพิ่มวิชา ถอนวิชา และ ดูคะแนนทั้งหมดหรือเฉพาะวิชาที่ต้องการ และแน่นอนว่าต้องเป็นคำสั่งภาษาไทย
  7. จงวิจารณ์เชิงเปรียบเทียบ เพื่อจำแนกประเภทการใช้งานออกจากกันได้อย่างชัดเจน ระหว่าง email, twitter, instant messaging, webboard และ blog

การเรียนการสอนในวิชานี้ เน้นการออกแบบ การบ้าน การนำเสนอ การวิจารณ์ จะเป็นจุดหลักของการเรียน ตำรามีผลในเรื่องการเพิ่มประสบการณ์และแนวทางที่เป็นทางการที่จำเป็นอย่างยิ่งในการใช้ประกอบการเรียน ผมใช้หนังสือชื่อ "Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th Edition)" เขียนโดย Ben Shneiderman, Catherine Plaisant, Maxine Cohen, Steven Jacobs

ปกเป็นอย่างนี้ครับ 

สไลด์: ใช้ของหนังสือ เป็นหลัก ผมจะแทรกบ้างตามโอกาส
การให้คะแนน: กลางภาค ๔๐ ปลายภาค ๔๐ การนำเสนอในชั้นเรียน ๒๐
เกรด: ๕๐ ผ่าน เกินกว่านั้น พิจารณาจากการกระจายของคะแนน
ห้องเรียน: ๕๐๗

FAQ
  • ทำไมรับแค่ ๔๐ คน : ก็อยากสอนหมดทุกคนนะครับ แต่วิชานี้เป็นวิชาเน้นการคุยกันในห้องครับ รับหมด คุณก็ไม่ได้อย่างที่ควรเป็นอยู่ดีครับ
  • ปี ๓ ลงได้ไม๊ : ก็เก้าอี้เต็มครับ ปีหน้าผมเปิดให้อยู่ดี

ไม่มีความคิดเห็น:

แสดงความคิดเห็น