สำหรับนักเรียนที่เรียนกับเราที่ EPT ก่อนถามคำถามกรุณาอ่านข้อความต่อไปนี้อย่างละเอียดก่อนทุกบรรทัด
1. เนื่องจากเทคโนโลยีมีการเปลี่ยนแปลงอยู่ตลอดเวลาทำให้ผู้เรียนเขียนโปรแกรมจะต้องมีการเรียนรู้อย่างสม่ำเสมอ การมาเรียนเขียนโปรแกรมจึงไม่ใช่เพียงการมาเรียนข้อเท็จจริงหรือสิ่งที่คุณครูสอนเพียงอย่างเดียว แต่ทัศนะคติที่ถูกต้องคือผู้เรียนจะต้องสร้างความเข้าใจต่อ “กระบวนการ” เรียนรู้ด้วยตนเอง ซึ่งทาง EPT จะช่วยสร้างเสริมกระบวนการดังกล่าว ทำให้ผู้เรียนไม่ต้องเริ่มจากการลองผิดลองถูกเอง อีกทั้ง EPT จะทำการสอนอย่างเป็นขั้นตอน ขอให้ตั้งใจเรียนอย่างค่อยเป็นค่อยไป อย่ารีบร้อน เพราะพื้นฐานที่แน่นจะทำให้เราไปต่อยอดได้ง่ายขึ้น ขอเน้นย้ำว่าพื้นฐานเป็นเรื่องสำคัญอย่างยิ่ง ผู้เรียนควรใจเย็นต่อการสร้างกระบวนการเรียนรู้เพื่อผลลัพธ์ที่ยิ่งใหญ่ในอนาคตครับ
2. คุณครูไม่ได้อยู่ด้วยตลอดแต่ Google อยู่ด้วยตลอดเพราะฉะนั้นผู้เรียนต้องฝึกค้นหาคำตอบปัญหาที่เกิดขึ้นจาก Google ให้คล่อง
3. งานทางด้านซอฟต์แวร์ และงานทางด้านเทคโนโลยีมีลักษณะเป็นงานกึ่งงานวิจัย จึงไม่อาจมีผู้ใดในโลกรู้คำตอบที่แน่ชัดของปัญหาที่เรากำลังจะแก้ (ถ้ามีคนรู้เขาก็ไม่ต้องจ้างเราทำสิ จริงไหม?) โดยเฉพาะถ้าเป็นงานสร้างสรรค์เทคโนโลยีใหม่ที่ไม่มีอยู่เดิม เพราะฉะนั้นการทำอะไรผิดไม่ใช่เรื่องเสียหาย เรื่องเสียหายคือการที่ไม่กล้าคิดไม่กล้าลอง จงลองเยอะ ๆ คอมพิวเตอร์ไม่เสียง่าย ๆ (ถ้าไม่เอาน้ำราด) ไม่มีใครว่าเราเมื่อทำผิด ให้ลองดูว่าทำแบบนี้แล้วได้อะไร จะเป็นส่วนช่วยสร้างกระบวนการเรียนรู้ของผู้เรียนเอง
4. ให้เผื่อเวลาสองเท่าของที่ประมาณไว้เสมอ ผู้เรียนควรเผื่อเวลาสำหรับการเรียนเขียนโปรแกรม เช่น ถ้าผู้เรียนคิดว่าจะทำเสร็จใน 2 ชั่วโมง ให้เผื่อเวลาไว้ 4 ชั่วโมง
5. การนอนหลับสำคัญต่อการเรียนรู้เนื่องจากระหว่างการนอนหลับสมองจะทำการจัดเรียงพื้นที่ในสมอง การอดหลับอดนอนเพื่อจะเรียนรู้เพิ่มเติมไม่ใช่สิ่งที่ถูกต้อง ผู้เรียนควรแบ่งเวลาทำการบ้านโดยไม่อ้างว่านอนน้อยเพราะต้องทำการบ้าน (หากสนใจเกี่ยวกับการนอนสามารถอ่านเกี่ยวกับเรื่องนี้ได้ที่ https://en.wikipedia.org/wiki/Sleep_and_memory)
6. ลดการใช้ Facebook / LINE ระหว่างการเรียน
7. Algorithm ในการเรียนเขียนโปรแกรมไม่ใช่ Algorithm เดียวกับการเรียนกฏหมาย หรือภาษา Information ถึงแม้ว่าเป็นส่วนสำคัญที่ต้องรู้ต้องจำแต่ไม่ใช่สิ่งที่สำคัญที่สุด สิ่งที่สำคัญกว่า Information คือกระบวนการ และเหตุผลที่อยู่เบื้องหลัง การเรียนเขียนโปรแกรม คำถามที่ควรจะถามตัวเองอยู่ตลอดเวลาคือ
"How does it works?" - มันทำงานอย่างไร (ถามกระบวนการ)
"Why does it works?" - ทำไมมันทำงานแบบนั้น (ถามเหตุผล)
ซึ่งสำคัญกว่า
จะทำ .......... มีขั้นตอนอย่างไร
8. ทัศนคติแบบ Record-Replay คือ ทัศนคติที่ต้องการจำทุกอย่างที่ครูสอน(record ไว้ในหัว) แล้วเอามาเขียนตามพิมพ์ตาม กดตาม โดยขาดความเข้าใจ (replay the step) โดยไม่คิดเลยว่า ทำไมมันเป็นแบบนั้น ไม่ใช่ทัศนคติที่ถูกต้องของการเรียนเขียนโปรแกรมคอมพิวเตอร์ อันนั้นคือหน้าที่ของหุนยนต์ (ซึ่งเราไม่ใช่) เพราะว่า
- เทคโนโลยีเปลี่ยนตลอดเวลา ยกตัวอย่างเช่น lib ที่ใช้บางตัวมีการ update ทุก 2 อาทิตย์ ถ้าเราจำอย่างเดียวอีก 2 สัปดาห์ข้างหน้าสิ่งที่เราจำไว้ไม่มีประโยชน์แล้ว แต่ถ้าเราเข้าใจ แม้ Lib. จะเปลี่ยนไปเท่าไร แต่ Concept พื้นฐาน ยังคงเหมือนเดิม ซึ่งความรู้ที่เรียนจะประยุกติ์ใช้ได้เรื่อยๆ ไม่มีเก่าไม่มีหมดอายุ
คุณ COCO พูดว่า "Fashion changes but style remains".
แต่ EPT จะพูดว่า "Technology/lib changes but algorithm remains".
- การเรียนเขียนโปรแกรมคอมพิวเตอร์เป็นการสร้างสิ่งใหม่ สิ่งที่ยังไม่เคยมีมาก่อนเป็น นวัตกรรม เป็นการเปลี่ยนแปลงโลก คนที่จะเปลี่ยนแปลงโลก คนที่จะสร้างนวัตกรรมได้คือคนที่เข้าใจ ทุกอย่างแบบพื้นฐาน
1. ใช้คำถามที่ชัดเจน ไม่คลุมเครือ
ทั้งนี้ผู้เรียนควรให้ข้อมูลสำหรับการตอบคำถามอย่างครบถ้วน และควรให้ลักษณะของคำถามเป็นคำถามที่เฉพาะเจาะจง และแสดงให้เห็นสิ่งที่ผู้เรียนไปหาความรู้มาเพิ่มเติมมาแล้วแต่ยังแก้ไขปัญหาไม่ได้ รวมทั้งผู้เรียนควรให้ข้อมูลเบื้องต้น ดังนี้
ตัวอย่างคำถามที่พึงประสงค์ |
---|
ขอโทษนะคะ หนูเรียน course JAVA ตอนนี้กำลังเรียนหน้า 27 ข้อ 7 อยู่ อะค่ะ ได้ลองทำตามที่ครูสอนใน VDO แล้วแต่ว่าผลลัพธ์ มันขึ้นไม่ตรงที่ % 3 เหลือ เศษ 0 อะค่ะ Compiler แจ้งว่า "} expected" ตอนนี้ได้ลอง ไป GOOGLE ดูแล้ว เขาบอกว่า เป็นเพราะเปิดปิดวงเล็บไม่ถูกต้องอยากจะทราบว่า แก้ยังอย่างไรคะ (เมื่อผู้เรียนเรียนตั้งแต่ครั้งที่ 3 เป็นต้นไป ขอความกรุณาผู้เรียนไม่ถามเรื่องปีกกาอีก) |
ตัวอย่างคำถามที่ไม่พึงประสงค์ |
---|
มันรันไม่ได้อะครับ |
มันแดงๆ |
มันไม่ถูก |
ทำไมมันได้ 17 |
โปรแกรมตรวจการบ้านค้างครับ |
มันไม่ขึ้นอ่ะครับ |
ผมเขียนตามใน video แล้วมันไม่ได้ |
ผมทำถูกแบ้วแต่โปรแกรมตรวจการบ้านบอกว่าผิด - มันจะไปถูกได้อย่างไรล่ะครับ |
2. ไม่ถามสิ่งที่สามารถหาคำตอบได้เอง
การเรียนเขียนโปรแกรมถึงระดับหนึ่ง ผู้เรียนจะต้องสามารถค้นคว้าจากเว็บ google เพื่อแก้ปัญหาอย่างง่ายได้ ดังนั้นจึงควรเรียนรู้วิธีการค้นหาจาก google ตัวอย่างของคำถามที่ผู้เรียนเขียนโปรแกรมควรจะทำได้ เช่น
- วิธีการลงโปรแกรม ต้องกดปุ่ม NEXT เลยไหมคะ (ทางเราถือว่าผู้เรียนควรมีความรู้การใช้คอมพิวเตอร์พื้นฐานมาบ้างแล้ว)
- จะโหลดโปรแกรม ... ได้อย่างไรครับ (ผู้เรียนควรค้นหาจาก google ได้เอง)
3. แตกปัญหาออกเป็นส่วนย่อย ๆ แล้วพิจารณาทีละส่วนเองก่อน
ตัวอย่างเช่นหากรันโปรแกรมไม่ผ่าน --> คำแนะนำคือผู้เรียนต้องสังเกตว่าโปรแกรมรันไม่ผ่านเพราะเหตุใด เช่น เป็นกรณีของการขึ้นตัวสีแดงที่โค้ดหรือคำตอบไม่ตรงกับที่ควรจะเป็น จากนั้นผู้เรียนควรตรวจสอบ code ของตัวเองอีกครั้งหนึ่งก่อนถาม เพราะส่วนใหญ่แล้วปัญหานี้มักเกิดจากผู้เรียนพิมพ์ผิดเอง
4. วิธีตรวจสอบข้อผิดพลาดเพื่อแก้ปัญหา (Problem Solving Process)
ในขั้นต้น ผู้เรียนกรุณาตรวจสอบว่าโปรแกรมสามารถคอมไพล์ได้หรือไม่
File f = new File("path/to/your/file");
Scanner sc = new Scanner (f, "UTF-8");
1. คณิตศาสตร์ม.ต้น-ม.ปลาย คณิตศาสตร์จำเป็นอย่างยิ่งต่อการเรียนเขียนโปรแกรม รบกวนผู้เรียนช่วยทบทวนคณิตศาสตร์ ม.ต้น และ ม.ปลาย ดังนั้นคำถามที่เกี่ยวข้องคณิตศาสตร์พื้นฐาน เช่น
ทาง EPT คาดหวังว่าผู้เรียนจะทราบความหมายของ ± ในสมการว่าคืออะไรก่อนเริ่มเรียน
2. การใช้คอมพิวเตอร์พื้นฐาน ทาง EPT คาดหวังว่าผู้เรียนจะทราบเกี่ยวกับการใช้คอมพิวเตอร์เบื้องต้นเช่นเดียวกัน เช่น
3. คำถามประเภทที่ทาง EPT คาดว่านักเรียนควรจะทราบแล้วว่าเกิดความผิดพลาดอย่าไร เนื่องจากผู้เรียนเรียนมาหลายครั้งแล้ว เช่น การใช้ปีกกาไม่ครบ
4. หรือในกรณีที่ผู้เรียนเรียนไป 10 ครั้งแล้ว ยังเปิดปิดวงเล็บไม่ถูกหรือตั้งใจจะใช้ตัวแปรเดิมแต่สะกดตัวอักษรเล็กใหญ่ไม่เหมือนเดิม
5. ไม่ตอบคำถามที่เกิดจากกรณีที่ผู้เรียนเรียนไม่มีความละเอียดรอบคอบ เช่นตั้งชื่อ Folder ในคอมของตัวเองไว้แบบหนึ่งแต่เวลาเขียนโปรแกรมหรือพิมพ์คำสั่ง Command Line กลับเขียนเป็นอีกแบบหนึ่ง ยกเว้นผู้เรียนจะเป็นนร. ที่อายุ น้อยกว่า 10 ปีลงไป จะตอบให้ 3 ครั้ง
6. ไม่ตอบคำถามที่เกิดจากกรณีที่ผู้เรียนเรียนไม่มีความละเอียดรอบคอบ เช่น ใน video มีเขียน CODE ให้ดูแล้วแบบชัดเจน แต่ผู้เรียนกลับเขียนเป็นอีกแบบหนึ่ง ยกเว้นผู้เรียนจะเป็นนร. ที่อายุ น้อยกว่า 10 ปีลงไป จะตอบให้ 3 ครั้ง (การเรียนของเราไม่ได้พูดถึง Code แค่ 10-20 บรรทัดแต่เรากำลังพูดถึงระบบที่มี CODE 500-50,000 บรรทัด ความละเอียดรอบคอบเป็นพื้นฐานที่สำคัญมากของการทำงานด้านวิทยาศาสตร์/คอมพิวเตอร์ทุกสาขา)
7. คำถามข้ามขั้น เช่นกรณีที่เรียนเรื่อง ที่ 1 อยู่ต้องการกระโดดไปรู้เรื่องที่ 10 ไม่เป็นไปตามลำดับ
8. คำถามประเภทที่ง่ายๆ หรือเห็นชัดเจนอยู่แล้ว ระบบจะไม่ถือว่าเป็นคำถามจะถือว่าเป็นการบ่นเฉยๆ จะไม่ได้รับการตอบ
เพื่อให้การถามและตอบเป็นไปอย่างรวดเร็วกรุณาทำตามกฏการถามคำถามอย่างเคร่งครัด นร.ที่ไม่ทำตามกฏอย่าคาดหวังว่าจะได้คำตอบ
เพื่อความรวดเร็วในการตอบคำถาม กรุณาไปถามใน web QandA จะตอบเร็วที่สุด
สำหรับการถามคำถาม กรุณา
เหตุผลที่รูปนี้ไม่ดี
Tag ที่น่าสนใจ: การเขียนโปรแกรม การศึกษา การเรียนรู้ การสอน การถามคำถาม วิทยาศาสตร์คอมพิวเตอร์ เทคโนโลยีสารสนเทศ ศาสตร์แห่งการถาม คอมพิวเตอร์ การเรียน ข้อมูล การนอนหลับ สร้างความเข้าใจ algorithm วิธีการเรียนรู้
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com