<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rawitat.com &#124; Rawitat Pulam &#187; Education</title>
	<atom:link href="http://www.rawitat.com/category/education/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rawitat.com</link>
	<description>Simplicity within Complexity, and Vice-Versa</description>
	<lastBuildDate>Fri, 06 Jan 2012 07:48:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>หัดเขียนโปรแกรมยังไงให้เก่ง?</title>
		<link>http://www.rawitat.com/2012/01/06/746/</link>
		<comments>http://www.rawitat.com/2012/01/06/746/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 07:44:11 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Programming Languages]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2012/01/06/746/</guid>
		<description><![CDATA[ถ้าจะมีคำถามที่ผมถูกถามมากที่สุดในฐานะ &#8220;โปรแกรมเมอร์&#8221; หรือ &#8220;โค้ดเดอร์&#8221; ก็คงเป็นคำถามนี้ (ไม่เกี่ยวกับคำถามที่ถามผมในฐานะอื่น) ซึ่งผมขอตอบยาวๆ ทีเดียวในนี้เลยก็แล้วกันนะครับ หวังว่าจะเป็นประโยชน์กันในระยะยาว ก่อนอื่น ต้องทำความเข้าใจพื้นฐานก่อน ว่า &#8220;การเขียนโปรแกรม&#8221;​ มันเป็นเรื่อง &#8220;Skill การสื่อสาร&#8221; ครับ ซึ่งหลายคนอาจจะงงว่ามันเป็นแบบนี้ได้ยังไง ทำไมมันเป็นแบบนี้ ซึ่งผมขออธิบายสั้นๆ ว่า เพราะว่าเราจะต้องสื่อสารสิ่งที่เราคิด อย่างเป็นระบบเบียบเป็นขั้นเป็นตอน ให้คนที่โง่ที่สุด ที่บังเอิญขยันและคำนวนเร็ว อย่าง &#8220;คอมพิวเตอร์&#8221; สามารถนำไปปฏิบัติได้ ปัญหาอันดับแรกๆ ที่ผมพบก็คือ &#8220;คิดเป็นขั้นตอนไม่เป็น&#8221; ถึงขนาดไม่สามารถคิดได้เลยว่าตั้งแต่ต้นทาง (ปัจจัยตั้งต้นที่มี) จะมีเส้นทางไปหาปลายทาง (ผลลัพธ์ที่ต้องการ) ได้อย่างไร โดยละเอียด ซึ่งอาจจะเกิดจากการไม่เคยคิดเป็นขั้นตอนมาเลย ทุกอย่างจะมีทางลัดไปหาขั้นตอนสุดท้ายเสมอๆ (สมัยเรียนจะเรียกว่า &#8220;สูตรลัด&#8221;) ดังนั้นจำรูปแบบให้ได้ และใช้สูตรลัดให้เป็น ก็เอาตัวรอดไปได้เรื่อยๆ แล้ว ซึ่งพอมาถึงเรื่องการเขียนโปรแกรม มันทำแบบนั้นไม่ได้ จะได้แต่โจทย์ง่ายๆ ซึ่งใช้งานอะไรจริงจังไม่ได้เลยเท่านั้น ซึ่งก็เหมือนกับสูตรลัดทั้งหลายแหล่ในฟิสิกส์หรือคณิตศาสตร์ ที่ใช้ได้แต่กับโจทย์ง่ายๆ เอามาใช้จริงจังอะไรไม่ได้เลย เหมือนกัน ยกตัวอย่างง่ายๆ ในชีวิตประจำวัน [...]]]></description>
			<content:encoded><![CDATA[<p>ถ้าจะมีคำถามที่ผมถูกถามมากที่สุดในฐานะ &#8220;โปรแกรมเมอร์&#8221; หรือ &#8220;โค้ดเดอร์&#8221; ก็คงเป็นคำถามนี้ (ไม่เกี่ยวกับคำถามที่ถามผมในฐานะอื่น) ซึ่งผมขอตอบยาวๆ ทีเดียวในนี้เลยก็แล้วกันนะครับ หวังว่าจะเป็นประโยชน์กันในระยะยาว</p>
<p>ก่อนอื่น ต้องทำความเข้าใจพื้นฐานก่อน ว่า </p>
<blockquote><p>&#8220;การเขียนโปรแกรม&#8221;​ มันเป็นเรื่อง &#8220;Skill การสื่อสาร&#8221;</p></blockquote>
<p>ครับ ซึ่งหลายคนอาจจะงงว่ามันเป็นแบบนี้ได้ยังไง ทำไมมันเป็นแบบนี้ ซึ่งผมขออธิบายสั้นๆ ว่า เพราะว่าเราจะต้องสื่อสารสิ่งที่เราคิด อย่างเป็นระบบเบียบเป็นขั้นเป็นตอน ให้คนที่โง่ที่สุด ที่บังเอิญขยันและคำนวนเร็ว อย่าง &#8220;คอมพิวเตอร์&#8221; สามารถนำไปปฏิบัติได้</p>
<p>ปัญหาอันดับแรกๆ ที่ผมพบก็คือ &#8220;คิดเป็นขั้นตอนไม่เป็น&#8221;</p>
<p>ถึงขนาดไม่สามารถคิดได้เลยว่าตั้งแต่ต้นทาง (ปัจจัยตั้งต้นที่มี) จะมีเส้นทางไปหาปลายทาง (ผลลัพธ์ที่ต้องการ) ได้อย่างไร โดยละเอียด ซึ่งอาจจะเกิดจากการไม่เคยคิดเป็นขั้นตอนมาเลย ทุกอย่างจะมีทางลัดไปหาขั้นตอนสุดท้ายเสมอๆ (สมัยเรียนจะเรียกว่า &#8220;สูตรลัด&#8221;) ดังนั้นจำรูปแบบให้ได้ และใช้สูตรลัดให้เป็น ก็เอาตัวรอดไปได้เรื่อยๆ แล้ว ซึ่งพอมาถึงเรื่องการเขียนโปรแกรม มันทำแบบนั้นไม่ได้ จะได้แต่โจทย์ง่ายๆ ซึ่งใช้งานอะไรจริงจังไม่ได้เลยเท่านั้น ซึ่งก็เหมือนกับสูตรลัดทั้งหลายแหล่ในฟิสิกส์หรือคณิตศาสตร์ ที่ใช้ได้แต่กับโจทย์ง่ายๆ เอามาใช้จริงจังอะไรไม่ได้เลย เหมือนกัน</p>
<p>ยกตัวอย่างง่ายๆ ในชีวิตประจำวัน เช่น &#8220;ถ่ายเอกสารชีทนี้มาแจกทุกคนในกลุ่ม&#8221; ซึ่งดูเหมือนจะง่ายนะ ทำกันประจำ แต่จะสื่อสารออกมาอย่างไร? เพียงแค่นี้พอหรือไม่? คำตอบคือ &#8220;ไม่พอ&#8221; เพราะถ้าเราไปพูดคำนี้กับคนที่ไม่รู้จักกลุ่มเรา จะรู้มั้ยว่ามีกี่คน? แม้แต่คนในกลุ่มเอง บางทียังต้อง &#8220;นับ&#8221; เลย</p>
<p>ดังนั้นในการสื่อสาร เราจะมีปัจจัยตั้งต้นคือ &#8220;ชีท&#8221; และ &#8220;กลุ่มคน&#8221;​ และปลายทางที่เราต้องการคือ &#8220;ทุกคนในกลุ่ม ได้รับชีทที่ถ่ายเอกสารแล้ว&#8221; ถ้าจะสื่อสารเป็นกระบวนการแบบโปรแกรม หรือฟังก์ชั่นทางคณิตศาสตร์ ก็จะได้ลักษณะนี้<br />
</p>
<p>
จำนวน = นับ(คนในกลุ่ม)<br />
ชีทที่ถ่ายเอกสารแล้ว = ถ่ายเอกสาร(ชีท, จำนวน)<br />
คนที่ได้รับชีท = แจกจ่าย(ชีทที่ถ่ายเอกสารแล้ว, คนในกลุ่ม)
</p>
<p>
เป็นต้น</p>
<p>ปัญหาอันดับต่อไปที่ผมพบก็คือ การให้ความสำคัญกับตัวภาษาโปรแกรมมากไปในตอนแรก (แต่น้อยไปในระยะหลังจากนั้น)</p>
<p>จริงอยู่ การเขียนโปรแกรมจำเป็นต้องใช้ภาษาโปรแกรม แต่มันก็เหมือนกับการสื่อสารของคน ที่ต้องใช้ภาษาคนน่ะแหละ สิ่งที่สำคัญที่สุดที่ผู้เริ่มต้นจะต้องสนใจ คือ การนำไปใช้สื่อสารให้เร็วที่สุดที่จะเร็วได้ ไม่ต้องสนใจว่าจะรู้ภาษามากแค่ไหน ผมเคยเจอคนท่องดิกชันนารีได้เยอะมาก แต่สื่อสารไม่ได้ เวลาเจอคนต่างชาติก็ทำอะไรไม่ถูกเยอะแยะไป</p>
<p>ผมนึกถึงตอนที่ตัวเองไปเรียนที่ญี่ปุ่น ที่ผมอ่านอะไรจากการ์ตูนได้ (ผมเรียนภาษาญี่ปุ่นจากการอ่านการ์ตูนแทบจะล้วนๆ) ก็จะหาเรื่องทดลองใช้เลย ไม่ว่าจะเป็นการลองถามทางคนในรถไฟฟ้า การแกล้งหลงทางแล้วถามตำรวจ ฯลฯ ซึ่งมันได้ผลโคตรดี ถึงได้มีคนบอกว่า เวลาไปเรียนต่างประเทศ อยากจะเป็นภาษาเร็วๆ ต้องปิ๊งสาว (หรือเพศที่สนใจ อะไรก็ได้) สักคน เพราะเราจะต้องหาเรื่องใช้ภาษา ไม่ว่ารู้น้อยรู้มากแค่ไหนก็จะหาเรื่องสื่อสารตลอดเวลา แล้วมันจะเป็นเร็ว</p>
<p>ทีนี้เมื่อเริ่มสื่อสารเบื้องต้นได้แล้ว ความเข้าใจในภาษาที่ดีขึ้น ก็จะมีประโยชน์ที่ทำให้เราสื่อสารได้ดีขึ้น กระชับขึ้น สวยขึ้น กินใจขึ้น ฯลฯ หลายคำที่เคยใช้อย่างเวิ่นเว้อ ก็อาจจะใช้คำเฉพาะไปเลย อย่างเช่น ลองพยายามสื่อสารคำว่า &#8220;หึง&#8221; โดยที่เราไม่รู้จักคำนี้สิ จะพบว่ามันยากมาก แต่พอรู้แล้วการสื่อสารจะกระชับขึ้น ง่ายขึ้น และผิดพลาดน้อยลง</p>
<p>ซึ่งก็เหมือนกับการเขียนโปรแกรมน่ะแหละ ที่ตอนแรกไม่จำเป็นต้องรู้ตื้นลึกหนาบางอะไรของภาษาโปรแกรมที่ใช้มากมายนัก รู้แค่งูๆ ปลาๆ ก็เพียงพอแล้ว แต่จะต้อง &#8220;หัดสื่อสาร&#8221; ให้เร็วที่สุดและเยอะที่สุดเท่าที่จะเยอะได้</p>
<p>ตัวอย่างง่ายๆ ผมเชื่อว่าแทบทุกคนรู้จัก</p>
<pre>
printf("Hello, world\n");
</pre>
<p></p>
<p>(หรืออะไรก็ได้ที่เทียบเท่ากัน ซึ่งแตกต่างกันไปตามภาษา) ซึ่งมักจะได้เรียนกันในคลาสแรก ไม่ก็หนังสือบทแรก แต่จะมีกี่คนเชียวที่ &#8220;เล่น&#8221; กับมันต่อ เอาไปหัดสื่อสารมันต่อ ลองหาดูว่าจะประยุกต์หรือพลิกแพลงมันอย่างไรได้บ้าง เช่น จะลองให้แสดง</p>
<pre>
Name            Lastname        Sword
Byakuya         Kuchiki         Senbonsakura
Sousuke         Aizen           Kyokazuigetsu
</pre>
<p></p>
<p>โดยช่องว่างให้เว้นว่างทั้งหมด 2 Tab และให้ได้โดยใช้ printf เพียงตัวเดียว ทำได้หรือไม่ อย่างไร อะไรทำนองนี้</p>
<p>======================================</p>
<p>สรุปสั้นๆ การเขียนโปรแกรมก็เหมือนกับการสื่อสาร คิดว่าทำอย่างไรให้สื่อสารเก่ง ก็ทำแบบนั้นกับการเขียนโปรแกรม หลายคนอยากจะพูดภาษาอังกฤษเก่ง แต่เจอฝรั่งทีไรวิ่งหนีทุกที ให้พูดก็ไม่ยอมพูด แล้วมันจะเก่งได้อย่างไร ต่อให้วันๆ นั่งท่องไวยากรณ์ นั่งท่องศัพท์ ก็ไม่เคยมีประโยชน์ … พูดในฐานะคนที่พูดได้ 3 ภาษา ฟังออก 4 อ่านออก 6 ภาษา (แต่เป็นงูๆ ปลาๆ ไม่ค่อยแข็งแรงเท่าไหร่ซะ 3) นะครับ</p>
<p>บางครั้งเพื่อให้เก่งขึ้น เราอย่าเลือกพูดเฉพาะเรื่องที่เราอยากจะพูด เพราะบางทีมันจะยากเกินไป เช่น ถ้าเราเพิ่งจะเริ่มเรียนภาษาญี่ปุ่น จะไปคุยกับพวกบ้าการ์ตูนแถว Akihabara เลย ก็คงจะยากเกินไป(มาก)หน่อย แค่หัดถามทางเล็กๆ น้อยๆ สนุกๆ ให้ได้ก่อนจะดีกว่ามาก ประเด็นคือ ให้พูดๆ มันไปซะ อย่าคิดมาก อย่ากลัวผิดด้วย คนหัดภาษา พยายามพูด ผิดๆ ถูกๆ มีแต่คนเอ็นดู และจะช่วยเราทั้งนั้น</p>
<p>สุดท้ายคือ ให้ &#8220;ลงมือทำ&#8221; เพราะความ &#8220;อยากได้&#8221; มันไม่เคยมีประโยชน์เลย ถ้าไม่ &#8220;ลงมือทำ&#8221;</p>
<p>======================================</p>
<p>เรื่องสุดท้าย &#8230; แต่ก่อนอื่นต้องขอเล่าเรื่องตัวเองให้ฟังสักหน่อย ผมมีวิธีการเรียนเขียนโปรแกรมอยู่อย่างหนึ่ง ซึ่งโดยส่วนตัวแล้วมันเวิร์กสำหรับผม คือ</p>
<blockquote><p>
หัดให้ &#8220;มือ&#8221; เขียนโค้ด อย่า copy &#038; paste เด็ดขาด และอย่าใช้สมองคิดโค้ดโดยไม่จำเป็น
</p></blockquote>
<p>เวลาผมจะหัดเขียนโปรแกรมในภาษาใหม่ และหัดจากหนังสือ ไม่ว่าจะเป็นหนังสือใครเขียน (และแน่นอน ว่าผมลองทำแบบนี้กับหนังสือตัวเองด้วย) ผมจะ &#8220;อ่านเนื้อหาผ่านๆ&#8221; ก่อน 1 เที่ยว จากนั้น &#8220;พิมพ์&#8221; โค้ดเหล่านั้นเองด้วย &#8220;มือตัวเอง&#8221; ผมจะไม่เคย copy &#038; paste โค้ดในช่วงของการเรียนรู้เลย เพราะว่าสิ่งที่สำคัญที่สุดคือ มือผมต้องโค้ดเป็น</p>
<p>จากนั้น โค้ดมันจะใช้งานได้หรือไม่ได้ ไม่ต้องกังวล (ถ้าเป็นหนังสือผมเอง มักจะ &#8220;ใช้งานไม่ได้&#8221; ซะเป็นส่วนมาก เพราะหลายอย่างต้องเขียนเพิ่มเอง จากความรู้เก่า) ก็ถึงเวลาที่เราจะย้อนกลับไป &#8220;อ่านเนื้อหาอย่างละเอียด&#8221; อีก 1 เที่ยว พยายามทำความเข้าใจกับสิ่งที่มือมันเพิ่งจะโค้ดไป พยายามปรับปรุงแก้ไขจนมันใช้งานได้</p>
<p>ผลที่ได้จากการทำกระบวนการนี้ซ้ำแล้วซ้ำอีก ก็คือ มือผมจะโค้ดเองได้เสมอ เวลาต้องการอะไร มันแทบจะขยับเองอัตโนมัติ และสมองผมจะเป็นอิสระในการคิดกระบวนการ คิดลอจิก คิดท่าต่างๆ ที่จะใช้ในโปรแกรม</p>
<p>ซึ่งนี่คืออีกปัญหาที่ผมพบ ซึ่งเป็นปัญหา &#8220;ใหญ่ที่สุด&#8221; คือ ผู้ฝึกเขียนโปรแกรม ต้องการได้ผลลัพธ์สำเร็จรูปเร็วเกินไป ฉาบฉวยเกินไป ต้องการโค้ดที่เอาไป copy &#038; paste ได้ กด compile &#038; run เห็นผลลัพธ์ แล้วคนขยันหน่อย ก็อาจจะกลับมานั่งอ่านโค้ดบ้าง นอกนั้นก็ปล่อยๆ มันไป เพราะได้ผลแล้ว</p>
<p>ปัญหาที่ว่าน้ีก็คือ &#8220;โค้ดไม่เคยผ่านมือ&#8221; และ &#8220;ไม่ได้เป็นคนเริ่มเอง&#8221; (แต่เริ่มจากโปรเจคที่เสร็จแล้ว ที่คนอื่นเริ่มไว้ให้แล้ว) ซึ่งทำให้เวลาต้องทำงานจริงๆ จะเริ่มต้นอะไรเองไม่เป็นเลย และโค้ดเองไม่เป็นเลย มือมันจะไม่ขยับ และต้องไปเปลืองแรงสมองคิดโดยใช่เหตุถึงเรื่องโค้ด แล้วหลายคนก็จะ Blank .. ตายตรงนี้</p>
<p>ผมมีข้อสังเกต ว่าถึงระบบการศึกษาบ้านเรามันจะไม่ได้แย่ลงกว่าเดิมเท่าไหร่ แต่ทำไมคนเดี๋ยวนี้เขียนโปรแกรมแย่ลงกว่าเมื่อก่อนมาก ก็เพราะมันเริ่มต้น &#8220;ง่ายเกินไป&#8221; และ &#8220;ฉาบฉวยเกินไป&#8221; มีโค้ดอยู่แล้ว copy &#038; paste ง่าย แค่ Ctrl+C, Ctrl+V ก็จบแล้ว หรือไม่ก็ download งานที่เสร็จแล้วมา unzip แล้วใช้งานได้เลย ดังนั้นโค้ดจะไม่ผ่านมือเลย ซึ่งนี่คือเรื่องที่หลายคนอาจมองว่ามัน &#8220;เล็กน้อย&#8221; แต่จริงๆ แล้วนี่คือเรื่องที่ &#8220;ใหญ่ที่สุด&#8221; เรื่องหนึ่ง</p>
<p>สมัยผมหัดเขียน C++ 98 (ที่เป็น Standard แรกที่มี STL) ผมซื้อหนังสือ <a href="http://www.amazon.com/Standard-Library-Tutorial-Reference/dp/0201379260/ref=sr_1_1?ie=UTF8&#038;qid=1325835252&#038;sr=8-1">The C++ Standard Template Library ของ Nicolai Josuttis</a> มานั่งอ่านผ่านๆ ทั้งเล่มก่อน 1 เที่ยว และ &#8220;นั่งลอก&#8221; โค้ดทุกบรรทัดด้วยมือตัวเอง ทั้งเล่ม จากนั้นค่อยพยายามศึกษารายละเอียดอีกครั้งในเบื้องลึก</p>
<p>ซึ่งนี่เป็นวิธีเดียวกับที่ผมศึกษา Perl, Ruby, Objective-C, Mathametica, Haskell, OCaml, Scheme และภาษาอื่นๆ ที่ผมเขียนเป็น และเขียนพอเป็น</p>
<p>และนี่แหละ เป็นสาเหตุที่ผม &#8220;ไม่อยากให้โค้ด&#8221; สำหรับโปรแกรมจากหนังสือคู่มือเขียน iPhone App ของผม ซึ่งพิมพ์โดยสำนักพิมพ์ Provision</p>
<p>สรุปสั้นๆ: อยากเขียนโปรแกรมเก่ง ต้องหัด &#8220;เขียน&#8221; โปรแกรมครับ อย่าหัดแต่รันโปรแกรมที่คนอื่นเขียนแล้ว</p>
<p>======================================</p>
<p>หวังว่าคงจะเป็นประโยชน์บ้าง …​ จริงๆ แล้วเนื้อหาบทความนี้ คัดมาจาก &#8220;บทแรก&#8221; ของหนังสือเล่มใหม่ที่ผมกำลังเขียนอยู่ (ยังไม่มีชื่ออย่างเป็นทางการ แต่ประมาณ &#8220;คิดและโค้ด ผ่านภาษา  Objective-C&#8221;) โดยดัดแปลงให้เหมาะกับการเป็นบทความบนเว็บ</p>
<p>รออ่านนะครับ ผมหวังว่าจะเป็นหนังสือที่ดี(นะ)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2012/01/06/746/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>พฤติกรรมฝังราก จากการศึกษา</title>
		<link>http://www.rawitat.com/2011/12/28/734/</link>
		<comments>http://www.rawitat.com/2011/12/28/734/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 02:52:58 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/12/28/734/</guid>
		<description><![CDATA[ย้อนกลับไปเมื่อเดือนธันวาคม 2009 ผมเคยเขียนบทความไว้ที่นี่เรื่อง ลอกกุญแจ ได้คะแนนเต็ม และมีข้อความสำคัญว่า ตราบใดก็ตามที่คนทำการบ้านได้ทุกข้อ ถูกทุกข้อ แต่ทำด้วยการลอกกุญแจ ลอกคีย์ ได้คะแนนมากกว่าคนที่ตั้งใจทำเอง เดินชนกับการบ้านเอง พยายามแก้ปัญหาเอง ถูกบ้างผิดบ้าง ทำเสร็จบ้างไม่เสร็จบ้าง … ตราบนั้น ประเทศไทยก็ไม่มีวันเจริญ (ไม่ก็ ตราบนั้นประเทศไทยก็ได้แค่นี้) วันนี้จะขอพูดเรื่อง &#8220;การศึกษา&#8221; เพียงเรื่องเดียวเท่านั้น แต่แก่นแท้ที่สำคัญ มันขยายผลไปเป็นอะไรก็ได้ที่คุณผู้อ่านจะเปรียบเทียบและตีความได้ และเราต้องไม่ลืมว่าการศึกษา คือสิ่งที่สร้างพฤติกรรมฝังรากได้มากที่สุด รองจากพฤติกรรมของคนในครอบครัว ไม่นานมานี้ ผมมีโอกาสได้ฟังผู้ปกครองบังคับเด็กทำการบ้าน ซึ่งจริงๆ แล้วผมไม่มีปัญหาอะไรมากมายเท่าไหร่กับการบังคับให้ทำการบ้าน เพราะมันก็เป็นส่วนหนึ่งของความรับผิดชอบที่ต้องปลูกฝัง ถึงลึกๆ ในใจจะคิดค้านว่า &#8220;ไม่เห็นต้องทำให้มันเป็นเรื่องที่ทำลายความรู้สึกเด็กขนาดนั้นเลย ให้เขาทำด้วยทัศนคติที่ดีหน่อยก็ไม่ได้&#8221; ก็เถอะ แต่ที่มันกัดความรู้สึกของผม ก็คือการเห็นภาพที่เด็กกำลังจะเขียนอะไรสักอย่างลงในสมุด ยังเขียนไม่ทันเสร็จเลย ก็โดนตวาดด้วยเสียงดังว่า &#8220;ผิด&#8221; &#8220;บอกแล้วไม่ฟัง&#8221; &#8220;นี่ เขียนนี่ๆๆๆ ลงไป&#8221; &#8220;แน๊ะ ยังจะเขียนแบบเดิมอีก&#8221; และอีกหลายอย่าง ผมไม่รู้หรอก ว่าต้องเอาความถูกต้องอะไรหนักหนา ทั้งๆ ที่การบ้านไม่ได้มีไว้ให้ทำให้ได้ &#8220;ผล&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>ย้อนกลับไปเมื่อเดือนธันวาคม 2009 ผมเคยเขียนบทความไว้ที่นี่เรื่อง <a href="http://www.rawitat.com/2009/12/13/292/">ลอกกุญแจ ได้คะแนนเต็ม</a> และมีข้อความสำคัญว่า</p>
<blockquote><p>
ตราบใดก็ตามที่คนทำการบ้านได้ทุกข้อ ถูกทุกข้อ แต่ทำด้วยการลอกกุญแจ ลอกคีย์ ได้คะแนนมากกว่าคนที่ตั้งใจทำเอง เดินชนกับการบ้านเอง พยายามแก้ปัญหาเอง ถูกบ้างผิดบ้าง ทำเสร็จบ้างไม่เสร็จบ้าง … ตราบนั้น ประเทศไทยก็ไม่มีวันเจริญ (ไม่ก็ ตราบนั้นประเทศไทยก็ได้แค่นี้)
</p></blockquote>
<p>วันนี้จะขอพูดเรื่อง &#8220;การศึกษา&#8221; เพียงเรื่องเดียวเท่านั้น แต่แก่นแท้ที่สำคัญ มันขยายผลไปเป็นอะไรก็ได้ที่คุณผู้อ่านจะเปรียบเทียบและตีความได้ และเราต้องไม่ลืมว่าการศึกษา คือสิ่งที่สร้างพฤติกรรมฝังรากได้มากที่สุด รองจากพฤติกรรมของคนในครอบครัว</p>
<p>ไม่นานมานี้ ผมมีโอกาสได้ฟังผู้ปกครองบังคับเด็กทำการบ้าน ซึ่งจริงๆ แล้วผมไม่มีปัญหาอะไรมากมายเท่าไหร่กับการบังคับให้ทำการบ้าน เพราะมันก็เป็นส่วนหนึ่งของความรับผิดชอบที่ต้องปลูกฝัง ถึงลึกๆ ในใจจะคิดค้านว่า &#8220;ไม่เห็นต้องทำให้มันเป็นเรื่องที่ทำลายความรู้สึกเด็กขนาดนั้นเลย ให้เขาทำด้วยทัศนคติที่ดีหน่อยก็ไม่ได้&#8221; ก็เถอะ</p>
<p>แต่ที่มันกัดความรู้สึกของผม ก็คือการเห็นภาพที่เด็กกำลังจะเขียนอะไรสักอย่างลงในสมุด ยังเขียนไม่ทันเสร็จเลย ก็โดนตวาดด้วยเสียงดังว่า &#8220;ผิด&#8221; &#8220;บอกแล้วไม่ฟัง&#8221; &#8220;นี่ เขียนนี่ๆๆๆ ลงไป&#8221; &#8220;แน๊ะ ยังจะเขียนแบบเดิมอีก&#8221; และอีกหลายอย่าง</p>
<p>ผมไม่รู้หรอก ว่าต้องเอาความถูกต้องอะไรหนักหนา ทั้งๆ ที่การบ้านไม่ได้มีไว้ให้ทำให้ได้ &#8220;ผล&#8221; ที่ถูกต้อง แต่ต้องทำให้ได้มี &#8220;กระบวนการทำการบ้าน&#8221; ที่ถูกต้อง มากกว่า เด็กอาจจะถูกสอนมาผิดจากโรงเรียน ทำให้สิ่งที่เด็กเขียน กับผู้ปกครองคิดว่าถูก ไม่ตรงกันก็ได้ นั่นก็คือ เด็กก็ไม่รู้หรอกว่าที่ทำลงไปน่ะ อะไรมันถูกอะไรมันไม่ถูก แต่ถ้าทำด้วยเหตุผลอะไรบางอย่าง ไม่ใช่ทำด้วยความไม่มีเหตุผล ก็น่าจะเพียงพอแล้ว ผู้ปกครองน่าจะคุยกับเด็กมากกว่า ว่าทำไมถึงตอบแบบนี้ ทำไมถึงคิดแบบนี้ ฯลฯ ไม่ใช่จะชี้นิ้วเอาสิ่งที่ตัวเองคิดว่าถูกต้องอย่างเดียว</p>
<p>ทำไมน่ะหรือ ลองดูพวกเราๆ สิ หลายอย่างที่เราทำๆ อยู่ทุกวันนี้ ที่เราคิดว่าเราทำถูก จริงๆ แล้วมันจะถูกหรือเปล่าเราก็ไม่รู้หรอก เพียงแต่เราทำด้วยเหตุผลบางอย่างเราถึงเชื่อว่าถูก ก็เหมือนกันกับเด็กน่ะแหละ ถ้าผู้ปกครองคนนั้นยังพูดไม่จบ แล้วผมไปยืนตวาดเค้าบ้างว่า &#8220;ผิด&#8221; &#8220;บอกแล้วไม่ฟัง&#8221; &#8220;นี่ คุยกับลูกแบบนี้ๆๆๆๆ&#8221; นี่จะเป็นยังไงนะ เพราะจากสายตาผม เค้าก็ทำสิ่งที่ไม่ถูกต้องเหมือนกัน … ก็เหมือนกับสิ่งที่เค้าทำกับเด็กคนนั้นน่ะแหละ</p>
<p>…………………………..</p>
<p>ทั้งบ้าน ทั้งโรงเรียน มีแต่ความคิดความคาดหวังและดูที่ผลลัพธ์อย่างเดียว จะคาดคั้นเอาผลลัพธ์ที่ &#8220;ถูก&#8221; โดยไม่สนใจวิธีการ ไม่สนใจทัศนคติ ไม่สนใจเหตุอันเป็นที่มา … ผมเชื่อว่าสำหรับพ่อแม่หลายคน ถ้าลูกลอกข้อสอบ/การบ้านเพื่อน/หนังสือกุญแจแล้วได้คะแนนดี ก็ดีใจด้วยซ้ำไป เอาไปอวดเพื่อนอวดฝูงด้วยซ้ำไป</p>
<p>สิ่งที่เกิดขึ้นตลอด &#8220;กระบวนการสร้างคน ผ่านการศึกษา&#8221; ตั้งแต่อนุบาล ประถม มัธยม ถึงมหาวิทยาลัย เป็นเวลาเกือบ 20 ปี มันหล่อหลอมให้ &#8220;ผลลัพธ์&#8221; ซึ่งก็คือ &#8220;คน&#8221; ที่ถูกสร้างขึ้นมานั้น มีความฉาบฉวย เน้นไปที่การได้ผลอย่างเร่งด่วน คิดอะไรแค่เฉพาะหน้า ลงมือทำไม่เป็น และไม่ยินดีลงมือทำ รับความเสี่ยงในการลงมือทำและจะไม่ได้ผลที่ต้องการไม่ได้ หาความช่วยเหลือมากกว่าให้ความช่วยเหลือ เห็นแก่ตัว คิดเอาแต่ได้ คิดแต่สบาย อยากได้อะไรต้องมีคนทำไว้ให้อยู่ก่อนแล้ว แค่หาแล้วเอามาเป็นของตัวเอง</p>
<p>…………………………………………………</p>
<p>ผมพูดเสมอว่า &#8220;ผมไม่โทษนักศึกษาหรอก คนเหล่านี้เป็นผลผลิตที่สมบูรณ์ ของสังคมการศึกษาที่ล้มเหลว&#8221;</p>
<p>การสอบโปรเจคจบของนักศึกษาปีสี่ ที่เพิ่งจะผ่านไปเมื่อไม่นานนี้ สะท้อนภาพนี้ได้ชัดเจนพอสมควร</p>
<p>น้องๆ ปีนี้ คือนักศึกษาที่ผมสอนวิชา Programming Platforms and Environment ไปเมื่อสองปีก่อน ซึ่งในปีนั้นเมื่อไหร่ก็ตามที่ผมให้โจทย์ที่ต้องเขียนโปรแกรมบ้าง น้องๆ ส่วนมากจะ &#8220;รอเพื่อน&#8221; จนกระทั่งมีใครสักคนทำได้ แล้วลอกมันส่งกันเกือบยกชั้น .. น้องๆ ส่วนมากจะ &#8220;ไม่สามารถอธิบาย&#8221; แต่ละบรรทัด/แต่ละส่วนของโปรแกรมได้ ว่ามันคืออะไร มันมีไปทำไม ถ้าถามผลการทำงานของโปรแกรมอย่างฉาบฉวย จะตอบได้ แต่อย่าถามนะ ว่าไอ้บรรทัดนี้ มันมีไว้ทำไม มันทำงานเมื่อไหร่ อย่างไร มันทำแบบอื่นได้มั้ย มันเอาไปใช้ทำอะไรได้บ้าง จะเงียบ ตาย ทันที … น้องๆ แทบทุกคนจะ &#8220;ทำการบ้านเฉพาะข้อง่ายๆ&#8221; ที่คำตอบมันชัดหรือหาได้ง่าย</p>
<p>สอนก็แล้ว ให้ตกก็แล้ว ว่าก็แล้ว ฯลฯ</p>
<p>สองปีผ่านไป หลายคนก็ทำโปรเจคจบ เกิดอะไรขึ้นหรือ? ก็เหมือนกับข้อความข้างบนนี้น่ะแหละครับ เพียงแต่เปลี่ยนจาก &#8220;การบ้าน&#8221; เป็น &#8220;โปรเจค&#8221; เท่านั้นเอง อะไรที่เคยหยิบจากเน็ตได้อย่างฉาบฉวย เอามารันแล้วได้ผลที่ต้องการ มาส่งเป็นการบ้าน ไม่ได้คิด ไม่ได้เขียน ไม่ได้ทำความเข้าใจอะไรเลย เมื่อก่อนเป็นยังไง เดี๋ยวนี้ก็เป็นอย่างนั้น เลือกทำแต่เฉพาะงานส่วนง่ายๆ ที่คำตอบมันหาได้ง่ายๆ ฉันใดก็ฉันนั้น ถ้ามีอะไรที่คล้ายเพื่อน ก็จะลอกเพื่อน โดยตัวเองไม่เข้าใจอะไรเลย ฉันใด ก็ฉันนั้น</p>
<p>……………………………………..……………………………</p>
<p>ถ้านักศึกษากลุ่มนี้ยังจำได้ ผมเคยเขียน &#8220;บทเรียนสุดท้าย ที่ผมไม่มีโอกาสสอนคุณในห้องเรียน&#8221; ลงใน &#8220;ข้อสอบปลายภาค&#8221; และ ณ วันนี้ ผมขอเขียนมันอีกครั้งหนึ่งที่นี่</p>
<blockquote>
<p>____ บทเรียนสุดท้าย ที่ผมไม่มีโอกาสสอนคุณในห้องเรียน ______</p>
<p>อาจารย์ที่ผมเคารพมากท่านหนึ่ง (Prof. Brian Harvey; University of California at Berkeley) เคยพูดเอาไว้ว่า เหตุผลที่ นักศึกษาควรศึกษาทุกอย่างเอง หัดทําอะไรเอง ชนกับปัญหาเอง วิเคราะห์การแก้ปัญหาเอง ไม่ลอก ไม่ถามหาความช่วยเหลือ ก่อนเวลาอันควร ไม่ควรเขียนโปรแกรมให้กัน หรือคิดวิธีการแก้ปัญหาให้กัน ไม่ใช่เพราะเรื่องจรรยาบรรณ เรื่องชื่อเสียง ไม่ว่า จะของตัวเองหรือสถาบัน เรื่องฝีมือการทํางาน ฯลฯ หรือเรื่องอะไรก็ตามที่มันอุดมคติ แต่เพราะ <u>“พฤติกรรมอะไรก็ตาม ที่คุณสร้างให้ตัวเอง สมัยเรียน มันจะเป็นพฤติกรรมที่ฝังรากลึก แก้ไม่ได้ ตอนที่คุณไปทํางาน”</u></p>
<p>มันเหมือนกับการเขียนโปรแกรมให้ตัวเอง คอมไพล์ … แล้วไปเห็นผลการรันในตอนทํางานจริง</p>
<p>ผมไม่อยากเห็น พนักงานที่อ้างว่า ไปเที่ยว กิจกรรม ฯลฯ ในคืนวันอาทิตย์ จนไม่สามารถมาทํางานได้ในวันจันทร์ เพราะนั่น เป็นวันทํางาน คุณก็ต้องรับผิดชอบมันในฐานะวันทํางาน</p>
<p>ผมไม่อยากเห็น พนักงานที่ไม่คิดอะไรเลย รอแต่ให้หัวหน้างานป้อน/สั่ง พนักงานที่ไม่สนใจคิดวิเคราะห์ถึงปัญหา หรือ พนักงานที่ไม่สนใจงานตัวเอง ทํางานให้มันผ่านๆ ไป และไม่คิดรีวิวงานตัวเองจากสัปดาห์ก่อน หรือพนักงานที่มีสมุดจดงาน เอาไว้แค่เปิดดูเวลาที่โดนเจ้านายถาม</p>
<p>ผมไม่อยากเห็น พนักงานที่ไม่คิดเอาสิ่งที่ตัวเองเห็น จากเรื่องรอบๆ ตัว ไม่ว่าจะเป็นนิยาย ภาพยนต์ การเมือง สิ่งแวดล้อม ฯลฯมาเป็นข้อคิดที่ดีในการทํางานพนักงานที่มองไม่เห็นว่าทุกอย่างมันเป็นกระจกสะท้อนซึ่งกันและกันอยา่งไรมันเกี่ยวขอ้ง เกี่ยวพันกันอย่างไร</p>
<p><u>ไม่ว่าคุณจะทํางานไอทีหรือไม่กต็ามพฤติกรรมเหล่าน้ีจะติดตัวคุณไป</u></p>
<p>ดังน้ันผมหวังว่าจะไม่ได้ยินคําพูดของคุณที่ว่า“จบแล้วผม/หนูจะไม่ทํางานด้านนี้ดังนั้นให้ผม/หนูผ่านเถอะครับ/ค่ะ” อีก</p>
<p>ผมอยากเคารพคุณทุกคน ในฐานะ “นักศึกษา” ในวันนี้ และ “เพื่อนร่วมวงการ” ในอนาคต</p>
<p>ขอบคุณครับ</p>
</blockquote>
<p>… และคุณคงเข้าใจแล้วว่า วิชานั้น ที่ผมบอกว่า มหาวิทยาลัย การศึกษา และครอบครัว มันก็เป็น Programming Platform และ Environment ที่มันโปรแกรมพฤติกรรมฝังรากให้กับพวกคุณ ที่มันแก้ไม่ได้ ถ้าพวกคุณไม่พยายามคิดจะทำอะไรบางอย่างกับมันบ้าง มันแปลว่าอะไร … เพราะสิ่งไหนที่มันเป็นในวันนั้น วันนี้ก็เป็นอย่างนั้น</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/12/28/734/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>หนังสือ iPhone App: 3 บทใหม่ (ที่เคยคิดจะเอาใส่หนังสือเล่ม 2)</title>
		<link>http://www.rawitat.com/2011/12/15/727/</link>
		<comments>http://www.rawitat.com/2011/12/15/727/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 03:45:46 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/12/15/727/</guid>
		<description><![CDATA[เนื่องจากก่อนหน้านี้ผมได้เขียนหนังสือ &#8220;คู่มือเขียน iPhone App&#8221; ซึ่งออกมาในช่วงคาบลูกคาบดอก ระหว่างรอการเปลี่ยนแปลง จาก iOS 4 เป็น iOS 5 และ Xcode 4 เป็น Xcode 4.2 ซึ่งเป็นการเปลี่ยนแปลงระดับ &#8220;Major Change&#8221; ใจจริงผมอยากจะเขียนให้อิงกับ iOS 5 และ Xcode 4.2 เป็นหลักตั้งแต่ต้น แต่ในขณะนั้นไม่มีใครบอกได้ว่าทั้งสองตัวนี้จะออกมาเมื่อไหร่ และด้วยเหตุผลหลายๆ อย่าง รวมถึงความต้องการของสำนักพิมพ์ ที่อยากจะออกสู่ตลาดเร็วๆ ในขณะที่ยังไม่มีเจ้าอื่นออกมา (ซึ่งผมเข้าใจเหตุผลนี้ และไม่มีปัญหาใดๆ ทั้งสิ้น) ทำให้เราตัดสินใจทำมันออกมาเป็น &#8220;iOS 4 และ Xcode 4&#8243; เพื่อให้ออกมาได้ก่อน และหลายคนได้เริ่มก่อน และด้วยเหตุผลของ NDA ทำให้ผมไม่สามารถที่จะเขียนถึงรายละเอียดอะไรของ iOS 5 และ Xcode 4.2 ได้เลย ทีนี้ปัญหาก็เลยเกิดขึ้น [...]]]></description>
			<content:encoded><![CDATA[<p>เนื่องจากก่อนหน้านี้ผมได้เขียนหนังสือ &#8220;คู่มือเขียน iPhone App&#8221; ซึ่งออกมาในช่วงคาบลูกคาบดอก ระหว่างรอการเปลี่ยนแปลง จาก iOS 4 เป็น iOS 5 และ Xcode 4 เป็น Xcode 4.2 ซึ่งเป็นการเปลี่ยนแปลงระดับ &#8220;Major Change&#8221;</p>
<p>ใจจริงผมอยากจะเขียนให้อิงกับ iOS 5 และ Xcode 4.2 เป็นหลักตั้งแต่ต้น แต่ในขณะนั้นไม่มีใครบอกได้ว่าทั้งสองตัวนี้จะออกมาเมื่อไหร่ และด้วยเหตุผลหลายๆ อย่าง รวมถึงความต้องการของสำนักพิมพ์ ที่อยากจะออกสู่ตลาดเร็วๆ ในขณะที่ยังไม่มีเจ้าอื่นออกมา (ซึ่งผมเข้าใจเหตุผลนี้ และไม่มีปัญหาใดๆ ทั้งสิ้น) ทำให้เราตัดสินใจทำมันออกมาเป็น &#8220;iOS 4 และ Xcode 4&#8243; เพื่อให้ออกมาได้ก่อน และหลายคนได้เริ่มก่อน</p>
<p>และด้วยเหตุผลของ NDA ทำให้ผมไม่สามารถที่จะเขียนถึงรายละเอียดอะไรของ iOS 5 และ Xcode 4.2 ได้เลย</p>
<p>ทีนี้ปัญหาก็เลยเกิดขึ้น เมื่อ iOS 5 ออกมาแล้ว และ Xcode 4.2 ออกมาแล้ว (และไม่สามารถหา Xcode 4.0, 4.1 ได้ง่ายๆ อีกต่อไปแล้ว เพราะ Xcode ที่อยู่บน Mac App Store มันเป็น 4.2) ปัญหาง่ายๆ มันก็เลยเกิดขึ้น เพราะว่ามันมีการเปลี่ยนแปลงมากมาย อย่างที่ผมบอกไว้ ทั้งในระดับตัวภาษา Objective-C, iOS SDK และตัว Xcode เอง โดยเฉพาะอย่างยิ่งเมื่อ Default Settings ทุกอย่างนั้นกำหนดให้ใช้ความสามารถใหม่โดยปริยาย</p>
<p>ผมได้เริ่มเขียนหนังสือ &#8220;เล่ม 2&#8243; ซึ่งวางเอาไว้เป็นเล่มต่อจากเล่มที่พิมพ์ไปแล้ว มาพักหนึ่ง และมีเนื้อหาที่เกี่ยวข้องกับสิ่งที่เปลี่ยนไปเหล่านี้ แต่ผมขอตัดสินใจแสดงความรับผิดชอบที่ออกหนังสือมาเร็วไปหน่อย ทำให้หลายคนที่เริ่มต้นเขียน iOS แล้วเจอเครื่องมือใหม่มีปัญหา โดยเอาออกมาให้อ่านก่อนแบบฟรีๆ ทุกคน ไม่ว่าจะเป็นผู้อ่านเล่มแรกของผมหรือไม่ก็ตาม ดังนี้</p>
<ul>
<li><a href="http://code-app.com/book_tmp/book2_ch3.pdf">บทที่ 3: การโปรแกรมที่เปลี่ยนไปของ Objective-C จากอดีตถึงปัจจุบัน</a> ซึ่งจะเน้นหนักไปที่เรื่อง Automatic Reference Counting (ARC) ซึ่งทำให้หลายต่อหลายคนงง ในเรื่องการเขียนโค้ด
<li><a href="http://code-app.com/book_tmp/book2_ch4_sfinal.pdf">บทที่ 4: ปฏิวัติการออกแบบและสร้างโปรแกรมด้วย Storyboard</a> เป็นการใช้เครื่องมือในการออกแบบโปรแกรมตัวใหม่ คือ Storyboard ซึ่งมาช่วย/มาแทน Interface Builder ของดั้งเดิม
<li><a href="http://code-app.com/book_tmp/book2_ch5_sfinal.pdf">บทที่ 5: ลูกเล่น &#038; แม่ไม้ ในการสร้าง Table View</a> เป็นการใช้ Storyboard ในการสร้าง Table View และ Navigation-based Application พร้อมเครื่องใหม่ในการทำ Cell Prototyping และ Static Cell
</ul>
</p>
<p>สำหรับท่านที่ไม่สนใจจะศึกษาเพิ่มเติม หรืออยากจะทำตามหนังสือเล่มแรกอย่างเดียว ผมมีคำแนะนำว่า เวลาสร้างโปรเจคใหม่ ให้เลือก &#8220;ไม่ใช้ Storyboard&#8221; และ &#8220;ไม่ใช้ Automatic Reference Counting&#8221; เสมอครับ</p>
<p>ตอนนี้ผม &#8220;พับ&#8221; โครงการที่จะเขียนหนังสือเล่ม 2 ออกตีพิมพ์เรียบร้อยแล้วครับ แต่จะ &#8220;เขียนใหม่ทั้งหมด&#8221; เป็น iOS Development Series โดยไม่เหลือเยื่อใยกับของเดิม เป็นการเขียนใหม่ 100% ทั้งตัวอย่าง เนื้อหา เรียบเรียง โดยจะทำเป็น e-Book only และขายผ่านเว็บไซต์ของ <a href="http://www.code-app.com">Code App</a> และอาจจะผ่าน App ซึ่งออกแบบมาเฉพาะสำหรับหนังสือเล่มนี้ เท่านั้น โดยมีเนื้อหาแบ่งเป็นหลายเล่ม ตั้งแต่เริ่มต้นเขียนโปรแกรมด้วย Objective-C เต็มๆ เล่มเลยทีเดียว</p>
<p>อดใจรอกันสักหน่อยนะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/12/15/727/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[ประกาศ] iOS SDK 5 &amp; Xcode 4.2 Training</title>
		<link>http://www.rawitat.com/2011/12/09/671/</link>
		<comments>http://www.rawitat.com/2011/12/09/671/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 05:54:46 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[ประกาศ]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/12/09/671/</guid>
		<description><![CDATA[ทีมงาน Code App จัด Training สำหรับ iOS 5 SDK &#038; Xcode 4.2 ครับ จัดเต็ม 4 วัน 17, 18, 24, 25 ธันวาคม รายละเอียดดูได้จากเว็บไซต์ของ Code App ครับ พัฒนา iOS Application ด้วย iOS 5 SDK &#038; Xcode 4.2 หลังจากนี้จะมี Training ระดับ intermediate และ advanced แบบเจาะเฉพาะเรื่องมาเรื่อยๆ ครับ เช่น Data Persistent &#038; Core Data, Web Services, Core Image, Social Network [...]]]></description>
			<content:encoded><![CDATA[<p>ทีมงาน Code App จัด Training สำหรับ iOS 5 SDK &#038; Xcode 4.2 ครับ จัดเต็ม 4 วัน 17, 18, 24, 25 ธันวาคม รายละเอียดดูได้จากเว็บไซต์ของ Code App ครับ</p>
<p><a href="http://www.code-app.com/content/พัฒนา-ios-application-ด้วย-ios-5-sdk-xcode-42">พัฒนา iOS Application ด้วย iOS 5 SDK &#038; Xcode 4.2</a></p>
<p>หลังจากนี้จะมี Training ระดับ intermediate และ advanced แบบเจาะเฉพาะเรื่องมาเรื่อยๆ ครับ เช่น Data Persistent &#038; Core Data, Web Services, Core Image, Social Network Applications เรื่องละ 1-2 วัน คอยติดตามนะครับ แต่สำหรับแต่ละเรื่องพวกนี้จะไม่ลงพื้นฐานแล้ว จะเจาะเข้าเรื่องเลย เพราะว่าผมไม่อยากทำ Training แบบกว้างๆ เรื่อยๆ แต่ไม่ได้อะไรแบบลงลึกเท่าไหร่</p>
<p>สำหรับคอร์สนี้ ลงทะเบียนได้ในลิงค์ข้างบนครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/12/09/671/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ลูกค้าคือพระเจ้า (จากมุมมองของ​ &#8220;การศึกษา&#8221;)</title>
		<link>http://www.rawitat.com/2011/08/30/651/</link>
		<comments>http://www.rawitat.com/2011/08/30/651/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 04:39:53 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Just-a-Thought]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/08/30/651/</guid>
		<description><![CDATA[ได้ยินกันมานาน ได้ยินกันมากมาย ใครๆ ก็พูดกันว่า &#8220;ลูกค้าคือพระเจ้า&#8221; (ถึงบางคนจะพูดเพี้ยนนิดๆ ว่าลูกข้าคือพระเจ้าก็เถอะนะ) หลายต่อหลายคนชอบนำคำนี้มาอ้างและใช้เป็นประกาศิตเวลาต้องการอะไร ว่าลูกค้าถูกเสมอ ต้องการอะไรต้องทำให้เสมอ ยิ่งในยุคของอินเทอร์เน็ตและเครือข่ายสังคมออนไลน์เช่นปัจจุบัน เรื่องนี้รู้กันดีอยู่แล้ว แล้วผมจะเขียนทำไม? ผมอยากจะมองเรื่องนี้ในด้าน &#8220;การศึกษา&#8221; เท่านั้นครับ ด้านอื่น เรื่องอื่น ที่ไม่ใช่เรื่องที่ตัวเองมี authority อะไรด้วยเลย ผมขอไม่มองก็แล้วกัน ผมถามคำถามนี้มานาน ว่า &#8220;ถ้า&#8221; ข้อความว่า &#8220;ลูกค้าคือพระเจ้า&#8221; ไม่ผิด และใช้ได้กับวงการศึกษา &#8220;แล้ว&#8221; ลูกค้าของสถาบันการศึกษา เช่น มหาวิทยาลัย &#8220;คือใคร&#8221;? คำตอบที่ต่างกันในจุดนี้ จะทำให้ทุกอย่างต่างกันราวฟ้ากับเหวแน่นอน และผมมีคำตอบให้เลือก 2 คำตอบ คือ ผู้เข้ามาเรียน หรือผู้ที่กำลังจะเข้ามาเรียน สังคมที่อยู่รอบตัวสถาบันการศึกษา หรือสังคมที่ใหญ่กว่านั้น เช่น อุตสาหกรรมที่เกี่ยวข้อง หรือแม้แต่ประเทศชาติ แน่นอนว่า ในความเป็นจริง เราต้องคำนึงถึงตัวเลือก 2 ตัวนี้ควบคู่กัน แต่ว่าอะไรล่ะ ที่เป็น &#8220;ตัวเลือกหลัก&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>ได้ยินกันมานาน ได้ยินกันมากมาย ใครๆ ก็พูดกันว่า &#8220;ลูกค้าคือพระเจ้า&#8221; (ถึงบางคนจะพูดเพี้ยนนิดๆ ว่าลูกข้าคือพระเจ้าก็เถอะนะ) หลายต่อหลายคนชอบนำคำนี้มาอ้างและใช้เป็นประกาศิตเวลาต้องการอะไร ว่าลูกค้าถูกเสมอ ต้องการอะไรต้องทำให้เสมอ ยิ่งในยุคของอินเทอร์เน็ตและเครือข่ายสังคมออนไลน์เช่นปัจจุบัน</p>
<p>เรื่องนี้รู้กันดีอยู่แล้ว แล้วผมจะเขียนทำไม?</p>
<p>ผมอยากจะมองเรื่องนี้ในด้าน &#8220;การศึกษา&#8221; เท่านั้นครับ ด้านอื่น เรื่องอื่น ที่ไม่ใช่เรื่องที่ตัวเองมี authority อะไรด้วยเลย ผมขอไม่มองก็แล้วกัน</p>
<p>ผมถามคำถามนี้มานาน ว่า <u>&#8220;ถ้า&#8221;</u> ข้อความว่า &#8220;ลูกค้าคือพระเจ้า&#8221; ไม่ผิด และใช้ได้กับวงการศึกษา <u>&#8220;แล้ว&#8221;</u> ลูกค้าของสถาบันการศึกษา เช่น มหาวิทยาลัย <u>&#8220;คือใคร&#8221;</u>?</p>
<p>คำตอบที่ต่างกันในจุดนี้ จะทำให้ทุกอย่างต่างกันราวฟ้ากับเหวแน่นอน และผมมีคำตอบให้เลือก 2 คำตอบ คือ</p>
<ol>
<li>ผู้เข้ามาเรียน หรือผู้ที่กำลังจะเข้ามาเรียน
<li>สังคมที่อยู่รอบตัวสถาบันการศึกษา หรือสังคมที่ใหญ่กว่านั้น เช่น อุตสาหกรรมที่เกี่ยวข้อง หรือแม้แต่ประเทศชาติ
</ol>
</p>
<p>แน่นอนว่า ในความเป็นจริง เราต้องคำนึงถึงตัวเลือก 2 ตัวนี้ควบคู่กัน แต่ว่าอะไรล่ะ ที่เป็น &#8220;ตัวเลือกหลัก&#8221; ที่สำคัญกว่าอีกตัวหนึ่ง?</p>
<p>ถ้าเราเลือกข้อ 1. ซึ่งเป็นมุมมองที่เรียกได้ว่า &#8220;มุมมองสาธารณะ&#8221; ที่มาจากแนวคิดง่ายๆ ที่เป็นปลายเหตุว่า &#8220;ใครจ่ายเงิน คนนั้นคือลูกค้า&#8221; แล้วล่ะก็ เราจะมองเห็น &#8220;หลักสูตร&#8221; (รวมถึงโครงการอบรม หลักสูตรระยะสั้นต่างๆ) เป็นโปรดักท์ และบรรดาผู้เข้าเรียนก็จะจ่ายเงินมาเพื่อซื้อโปรดักท์นั้นๆ และทางผู้สร้างโปรดักท์ (สถาบันการศึกษา) ก็จะ PR โปรดักท์ตัวนี้แบบขายฝันกันไป มีวิชาเป็นสิบเป็นร้อย ที่ใส่ในหลักสูตรเพื่อให้ดูน่าเรียน แต่ไม่มีการเรียนการสอน รวมถึงการสร้างภาพขายฝันว่าเมื่อเข้ามาเรียนแล้ว ผ่านหลักสูตรไปแล้ว จะทำงานอะไรได้บ้าง ฯลฯ</p>
<p>ถ้าเราเลือกข้อ 2. จากมุมมองที่ว่า &#8220;ใครได้รับประโยชน์/บริการ คนนั้นคือลูกค้า&#8221; จะต่างกันมาก เพราะถ้าลูกค้าของสถาบันการศึกษาคือ &#8220;สังคม&#8221; โดยที่สังคมเป็นผู้จ่ายสิ่งที่แพงกว่าเงิน นั่นคือ ศักยภาพในการพัฒนาโดยรวมของสังคมและสังคมที่ใหญ่ขึ้นไปอีก แล้วล่ะก็โปรดักท์ของสถาบันการศึกษาก็คือ คนที่สร้างขึ้นมา งานวิชาการ งานต้นแบบ งานวิจัย งานให้คำปรึกษา ต่างๆ ที่สร้างขึ้นมา และมีการนำไปใช้ประโยชน์ในสังคม (ไม่ใช่แค่ทำเอาผลงานตีพิมพ์ในวารสารนานาชาติ ที่ชอบมีการวัดผล) ซึ่งในปัจจุบันแม้ว่าจะการพูดถึงแนวคิดลักษณะนี้อยู่บ้าง แต่ก็ไม่ได้ถูกสื่อสารอย่างชัดเจน และไม่ใช่มุมมองที่แชร์ร่วมกันในหลายสถาบันการศึกษา และผู้เข้ารับการศึกษาแน่นอน</p>
<p>แต่ถ้าเราเลือกข้อ 2. แล้ว &#8220;ผู้ที่จ่ายเงินเข้ามาเรียน&#8221; ล่ะ? ไม่ใช่ลูกค้ากระนั้นหรือ?</p>
<p>อันที่จริงแล้ว มันมีคนอีกจำพวกหนึ่งครับ ที่ต้องจ่ายเงินเหมือนกัน นั่นคือ &#8220;ผู้สร้าง&#8221; หรือ &#8220;ผู้ประกอบการ&#8221; ที่ต้องจ่ายเงินให้กับต้นทุนในการสร้างโปรดักท์ เท่านั้นยังไม่พอ นอกจากลงทุนแล้ว ยังต้องลงแรง ทางแรงกายแรงใจแรงสมอง ในการสร้างโปรดักท์จริงๆ อีกด้วย (ลงทุนอย่างเดียว สร้างไม่ได้) แล้วในกรณีนี้ ผมอยากมองว่า ผู้เข้ารับการศึกษานั้น &#8220;จ่ายเงิน&#8221; เพื่อ &#8220;ลงทุน&#8221; และต้องลงแรงทั้งหลายทั้งปวง อัดหลับอดนอนศึกษา ทดลองทำงานทดลองสร้างสารพัด ในการ &#8220;สร้างตัวเอง ให้เป็นโปรดักท์&#8221; ครับ เป็นโปรดักท์เพื่ออะไร เพื่อช่วยกันตอบโจทย์ข้อ 2. น่ะแหละ เพื่อสังคมรอบตัว เพื่ออุตสาหกรรมต่างๆ เพื่อที่จะให้สังคมเล็กๆ รอบตัวนั้นๆ หรืออุตสาหกรรมนั้นๆ ช่วยกันสร้างประเทศชาติต่อไป</p>
<p>ทุกวันนี้ ในวันที่การศึกษากลายเป็นธุรกิจอย่างเต็มตัว ผู้เข้ามาเรียน (สังเกตว่าตั้งแต่ต้น ผมใช้คำนี้ แทนคำว่า &#8220;นักเรียน&#8221; หรือ &#8220;นักศึกษา&#8221;) มีทัศนคติว่าตัวเองเป็น &#8220;ลูกค้า&#8221; มากขึ้นทุกวัน เพราะว่าพวกเขาคือผู้จ่ายเงิน จ่ายแล้วต้องได้อย่างที่ตัวเองอยากจะได้ จ่ายแล้วจะเรียกร้องเอาอะไรก็ได้ ด้วยความที่ว่า &#8220;ลูกค้าคือพระเจ้า&#8221;</p>
<p>แต่น้อยคนนักที่จะมองว่าตัวเองเป็นผู้สร้าง เป็นนักลงทุน เป็นผู้ประกอบการ และต้องลงแรงอีกมากมาย สร้างตัวเองให้เป็นโปรดักท์ เพื่อให้ผู้รับประโยชน์ หรือ &#8220;ลูกค้า&#8221; ของตัวเอง ซึ่งก็คือ &#8220;สังคม&#8221; ได้อะไรบ้าง ว่าเขาต้องการอะไรบ้าง ….. ครับ &#8220;ลูกค้าคือพระเจ้า&#8221; เช่นเดียวกัน แต่สำหรับผม อะไรก็ตามที่เป็น &#8220;การศึกษา&#8221; ลูกค้า ไม่ใช่ผู้เข้าเรียน ผู้เข้ารับการอบรม คนซื้อหนังสือ ฯลฯ ที่จ่ายเงินผมครับ</p>
<p>ไม่ผิดครับ &#8220;ลูกค้าคือพระเจ้า&#8221;</p>
<p>ป.ล. คงได้มีโอกาสเขียนเรื่อง Consumer &#038; Creator หรือ &#8220;ผู้เสพ &#038; ผู้สร้าง&#8221; ที่ผมพูดถึงบ่อยๆ ในทุกการบรรยาย ไม่ว่าจะในห้องเรียนหรือบรรยายสาธารณะ และเขียนถึงในบางส่วนใน Facebook ในโอกาสถัดไป</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/08/30/651/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ชี้แจง: &#8220;คู่มือเขียน iPhone App&#8221;</title>
		<link>http://www.rawitat.com/2011/08/16/648/</link>
		<comments>http://www.rawitat.com/2011/08/16/648/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 14:44:56 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/08/16/648/</guid>
		<description><![CDATA[หนังสือเล่มแรกของผม &#8220;คู่มือเขียน iPhone App&#8221; ก็ได้ออกวางตลาดเรียบร้อยแล้ว ก็หวังว่าจะช่วยเป็นจุดเริ่มต้นเล็กๆ น้อยๆ สำหรับหลายๆ คนที่อยากจะหัดเขียนโปรแกรม หรือแอพ เพื่อใช้งาน iPhone, iPad, iPod touch กันได้บ้าง หลังจากหนังสือเล่มนี้วางตลาดไปได้ไม่นาน ก็มี e-mail เข้ามาหาผม เพื่อขอ Code จากหนังสือเล่มนี้พอสมควร ซึ่งสิ่งที่ผมทำก็คือ ไม่ให้ Code ทันที แต่จะพยายามจะถามว่าติดปัญหาตรงไหน เพื่อจะได้ช่วยแก้ปัญหา พร้อมอธิบายเพิ่มเติมเท่าที่ทำได้ เพราะว่าแต่ละคนอาจต้องการคำอธิบายที่แตกต่างกันตามธรรมชาติ ดังนั้นหากผมได้รู้ถึงปัญหาของแต่ละคน ว่าติดตรงไหน หรือว่าอ่านหนังสือตรงไหนไม่ละเอียด ก็จะช่วยอธิบายให้ตรงจุดได้ บางครั้งที่ผู้อ่านหลายท่าน พิมพ์โค้ดตามหนังสือ และเกิด Error หรือ Warning ขึ้นมา ทั้งๆ ที่พิมพ์ตามตรงเป๊ะทุกตัวอักษรแล้ว และเมื่อเกิดเรื่องเช่นนั้นขึ้น บางครั้งผู้อ่านบางท่าน อาจจะเริ่มทึกทักว่าหนังสือผมผิด หรือหนังสือผมลืมโน่นลืมนี่ ฯลฯ ผมขอชี้แจงอะไรบางอย่างตรงนี้ครับ โดยอ้างอิงตัวอย่างจาก e-mail ที่ผมตอบผู้อ่านผมบางท่าน (ขอสงวนชื่อผู้อ่านนะครับ ว่าผมตอบใคร) [...]]]></description>
			<content:encoded><![CDATA[<p>หนังสือเล่มแรกของผม &#8220;คู่มือเขียน iPhone App&#8221; ก็ได้ออกวางตลาดเรียบร้อยแล้ว ก็หวังว่าจะช่วยเป็นจุดเริ่มต้นเล็กๆ น้อยๆ สำหรับหลายๆ คนที่อยากจะหัดเขียนโปรแกรม หรือแอพ เพื่อใช้งาน iPhone, iPad, iPod touch กันได้บ้าง</p>
<p><center><br />
<img src="http://www.rawitat.com/wp-content/uploads/2011/08/iphoneapps.gif" width="240" height="309" alt="iphoneapps.gif" /><br />
</center></p>
<p>หลังจากหนังสือเล่มนี้วางตลาดไปได้ไม่นาน ก็มี e-mail เข้ามาหาผม เพื่อขอ Code จากหนังสือเล่มนี้พอสมควร ซึ่งสิ่งที่ผมทำก็คือ ไม่ให้ Code ทันที แต่จะพยายามจะถามว่าติดปัญหาตรงไหน เพื่อจะได้ช่วยแก้ปัญหา พร้อมอธิบายเพิ่มเติมเท่าที่ทำได้ เพราะว่าแต่ละคนอาจต้องการคำอธิบายที่แตกต่างกันตามธรรมชาติ ดังนั้นหากผมได้รู้ถึงปัญหาของแต่ละคน ว่าติดตรงไหน หรือว่าอ่านหนังสือตรงไหนไม่ละเอียด ก็จะช่วยอธิบายให้ตรงจุดได้</p>
<p>บางครั้งที่ผู้อ่านหลายท่าน พิมพ์โค้ดตามหนังสือ และเกิด Error หรือ Warning ขึ้นมา ทั้งๆ ที่พิมพ์ตามตรงเป๊ะทุกตัวอักษรแล้ว และเมื่อเกิดเรื่องเช่นนั้นขึ้น บางครั้งผู้อ่านบางท่าน อาจจะเริ่มทึกทักว่าหนังสือผมผิด หรือหนังสือผมลืมโน่นลืมนี่ ฯลฯ</p>
<p>ผมขอชี้แจงอะไรบางอย่างตรงนี้ครับ โดยอ้างอิงตัวอย่างจาก e-mail ที่ผมตอบผู้อ่านผมบางท่าน (ขอสงวนชื่อผู้อ่านนะครับ ว่าผมตอบใคร)</p>
<p>กรณีแรก ผู้อ่านประสพปัญหาจากโค้ดในหน้า 157</p>
<blockquote><p>
การวางตำแหน่งต่างๆ ต้องประมวลความรู้เองจากหน้า 121 ครับ ผมเขียนว่า</p>
<p>&#8220;ก่อนจะใช้งานสิ่งใดๆ ต้องประกาศสิ่งนั้นก่อน&#8221; ดังนั้น …. (พร้อมกับบอกวิธี)</p>
<p>เป็นความตั้งใจของผู้เขียน ที่ต้องการให้ผู้อ่านประมวลความรู้เอง จากสิ่งที่ทำไปแล้วในบทก่อนๆ</p>
<p>ลำดับ Code ที่ปรากฏในหนังสือ สะท้อนลำดับความคิดของผมครับ ไม่ได้สะท้อนลำดับของโค้ดในไฟล์<br />
การที่ผมเขียน Code หนึ่งๆ ทีหลัง ไม่ได้แปลว่าจะต้องปรากฏภายหลังในไฟล์ครับ เราอาจต้อง<br />
ใส่ Interface ของมันไปก่อนใน .h หรือว่าอาจจะต้องเขียน private interface เสียก่อน หรือว่าอาจจะใช้<br />
วิธีการประกาศไว้ก่อน ก็ได้
</p></blockquote>
<p>กรณีที่สอง ผู้อ่านประสพปัญหาจากโค้ดในหน้า 78</p>
<blockquote><p>
Code ที่คุณเขียน และบอกว่ามีปัญหา อยู่ในหนังสือหน้า 78 นะครับ</p>
<p>ลองย้อนไปอ่านดูในหน้า 64 ครับ ตั้งแต่บรรทัดแรกเลย ว่าผมเขียนว่าอะไร และผมมีตัวอย่างให้ดูแล้วด้วย (เรื่อง @synthesize)<br />
ซึ่งจะว่าไป ก็สืบมาตั้งแต่ขั้นตอนการเขียนที่บอกไว้ตั้งแต่หน้า 59 :-)</p>
<p>เป็นความตั้งใจของผมครับ ที่ผู้อ่านจะต้อง &#8220;นำความรู้ที่อ่านผ่านไปแล้ว และเห็นตัวอย่างไปแล้ว มาประมวลใช้เอง&#8221;</p>
<p>ทีนี้คงจะไม่มีทางลืม @synthesize สิ่งที่กำหนด @property เลยสินะครับ ดีกว่าให้พิมพ์ตามๆ ไปอย่างไม่รู้เรื่องอะไร<br />
เพราะว่ามีหลายคนที่เคยเจอมา อ่านหนังสือไม่ละเอียด ไม่คิด จะดูแต่ code อย่างเดียว และพิมพ์ตามอย่างเดียว<br />
ถ้า code ทำงานได้หมด ไม่เจอปัญหาจากการอ่านไม่ละเอียดและไม่คิดเลย ก็จะ take everything for a grant<br />
(ขออภัย นึกภาษาไทยไม่ออก … ประมาณว่า มองข้ามโน่นนี่ นึกว่าเป็นเรื่องเล็กๆ) ทำให้แก้ปัญหาต่างๆ ไม่ได้ในที่สุด</p>
<p>สิ่งที่คุณเจอ และการแก้ปัญหาของคุณ เป็นเจตนาของผมทีี่อยากให้เกิดขึ้นครับ</p>
<p>มาถูกทางแล้วครับ ยินดีด้วย
</p></blockquote>
<p>ดังนั้น เพื่อ Make Statement ให้ชัดเจนตรงนี้ ผมขอบอกอีกครั้งนะครับ (ซึ่งเป็นการเขียนซ้ำข้อความที่ผมเขียนไว้ในหน้า 14 ของหนังสือ ซึ่งหลายท่านอาจจะอ่านข้ามไปแบบไม่สนใจเท่าไหร่)</p>
<blockquote><p>
หนังสือเล่มนี้จะไม่มี &#8220;การรวมโค้ด&#8221; ของโปรแกรมเอาไว้ที่หน้าใดหน้าหนึ่ง ให้พิมพ์ตามหรือลอกเฉพาะส่วนของโค้ดได้ โดยไม่อ่านเนื้อหาและความคิดอันเป็นที่มาของโค้ด</p>
<p>นอกจากนี้ โค้ดหลายส่วนที่ซ้ำหรือคล้ายกับที่เคยผ่านมือกันมาแล้ว บางส่วนผู้อ่านจะต้องเขียนเพิ่มเติมเอง</p>
<p>ผมไม่ปฏิเสธครับ ว่าลักษณะการเขียนหนังสือของผมนั้น ได้รับอิทธิพลจากหนังสือต่างประเทศ ทั้งอเมริกาและญี่ปุ่น เป็นอย่างมาก
</p></blockquote>
<p>ผมเชื่อว่า นี่คือสิ่งที่ถูกต้อง ผมไม่ต้องการให้คนเขียนโปรแกรม หัดเขียนโปรแกรมอย่างฉาบฉวยและมักง่าย ไม่ใส่ใจรายละเอียดเล็กๆ น้อยๆ และที่สำคัญที่สุดคือ หัดเขียนโปรแกรมบนถนนที่ราบเรียบเกินไป ไม่พบปัญหาเล็กๆ น้อยๆ ที่ต้องประมวลความรู้พื้นฐานมาแก้เลย</p>
<p>หลายต่อหลายคน หัดเขียนโปรแกรมตามตัวอย่าง คอมไพล์ผ่าน ทำงานได้ ตามตัวอย่างเป๊ะๆ ก็หลงระเริง คิดว่าเข้าใจแล้ว ทำได้แล้ว พอเขียนจริง ต่อให้เป็นโปรแกรมง่ายๆ ไม่ต้องยาก (แค่เปิดไฟล์ นับคำในไฟล์ว่ามีกี่คำ ที่ผมชอบใช้เวลาสอนหนังสือที่ ม.ศิลปากร) ก็เริ่มต้นไม่ถูก พอเขียนแล้วเจอปัญหาเล็กน้อย ก็ไปต่อไม่เป็น เจอข้อความจาก Compiler ก็กลัว ฯลฯ</p>
<p>ขอให้ค่อยๆ พยายามๆ ครับ อ่านหนังสือให้ละเอียด ใช้เวลากับมันให้มากสักนิด เพื่อรากฐานที่มั่นคง</p>
<p>หนังสือผม ไม่เขียนหลอกผู้อ่านไปวันๆ ว่าใครก็สามารถเป็นนักพัฒนาโปรแกรมสำหรับ iPhone ได้ อย่างแน่นอน การที่จะให้ทำตามแบบ Copy &#038; Paste แบบไม่ต้องคิด และได้โปรแกรมที่เหมือนจะทำงานได้นั้น ไม่ใช่สิ่งที่ผมเห็นด้วย เป็นสิ่งที่ฉาบฉวยและไม่ยั่งยืน ผมเชื่อว่า ไม่มีความรู้แบบฉาบฉวยแม้แต่บรรทัดเดียวในหนังสือเล่มนี้</p>
<p>และ … คาดเข็มขัดนิรภัยให้แน่นนะครับ เพราะว่าเมื่อพื้นฐานของทุกคนแน่นแล้ว &#8220;เล่ม 2&#8243; จะเร็วกว่านี้ หนักกว่านี้ ยากกว่านี้ แน่นอน เพราะจะเป็นสิ่งที่ผมทิ้งท้ายไว้ในบทสุดท้าย (บทที่ 16) แต่ถ้าไม่มีสิ่งที่เป็นความรู้ &#8220;ระดับสูงขึ้นไป&#8221; เลยล่ะก็ การเขียน App หลายตัวสำหรับ AppStore ปัจจุบันนั้นทำไม่ได้แน่นอนครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/08/16/648/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>ปะผุ และ ฉาบฉวย</title>
		<link>http://www.rawitat.com/2011/02/12/600/</link>
		<comments>http://www.rawitat.com/2011/02/12/600/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 07:51:01 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/02/12/600/</guid>
		<description><![CDATA[ครั้งหนึ่งเคยเขียนเรื่องทำนองนี้มาแล้วหลายครั้ง เช่น ปัญหา ความเคยชิน &#8220;ก๊อปโค้ดมาแก้&#8221; (17/01/2009) ปัญหา ความเคยชิน &#8220;ก๊อปโค้ดมาแก้ #2&#8243; (02/02/2009) วันนี้ กว่า 2 ปีผ่านไปจาก entry เหล่านั้น คงจะได้เวลาที่ผมจะกลับมาเขียนถึงมันอีกสักครั้งหนึ่ง ด้วยวัยที่อาจจะเปลี่ยนไป ด้วยมุมอะไรบางอย่างที่อาจจะมองได้กว้างขึ้นหรืออาจจะแคบลง ซึ่งจริงๆ แล้วผมเองได้บ่นเรื่องพวกนี้ไว้เป็นระยะๆ ใน Twitter ที่สุดท้ายก็ไม่ได้กลายเป็นบทความอะไรที่ยั่งยืนหรือว่าอ้างอิงได้ในภายหลัง ถึงจะมีคนรวบรวมเอาไว้เป็นระยะๆ ก็ตาม ณ วันนี้ ผมกำลังจะลาออกจากงานบริหาร กลับมาเขียนโค้ดเต็มตัวอีกครั้ง และทุกวันนี้ ผมพยายามสอนโค้ดมากขึ้น จากการที่ไปสอน iOS SDK Development ตามที่ต่างๆ มากมาย ผมพบความจริงที่น่าเศร้าใจมากขึ้น และเป็นการย้ำหัวตะปูกับเรื่องเดิมๆ มากขึ้น น้องๆ ที่กำลังศึกษาในสาขาวิชาที่ต้องเขียนโปรแกรม ที่ต้องโค้ด คิดคอนเซปท์ของโปรแกรมน้อยลงมาก และ เขียนโปรแกรมน้อยลงมาก ซึ่งส่งผลให้เมื่อเจอปัญหาแล้วตั้งเป้าหมายและแก้ปัญหาไม่เป็น รวมถึงมือไม่ขยับในการเขียนโค้ดให้เลย ปัญหานี้ไม่ได้มีแต่สาขาที่ต้องเขียนโปรแกรมแน่นอน เนื่องจากอาจจะเป็นปัญหาฝังลึกในระบบการศึกษาของบ้านเรา ที่เน้นการได้คำตอบอย่างฉาบฉวยมาตั้งแต่ไหนแต่ไร และมากขึ้นๆ เวลามีการบ้าน [...]]]></description>
			<content:encoded><![CDATA[<p>ครั้งหนึ่งเคยเขียนเรื่องทำนองนี้มาแล้วหลายครั้ง เช่น</p>
<ul>
<li><a href="http://www.rawitat.com/2009/01/17/255/">ปัญหา ความเคยชิน &#8220;ก๊อปโค้ดมาแก้&#8221;</a> (17/01/2009)
<li><a href="http://www.rawitat.com/2009/02/02/258/">ปัญหา ความเคยชิน &#8220;ก๊อปโค้ดมาแก้ #2&#8243;</a> (02/02/2009)
</ul>
</p>
<p>วันนี้ กว่า 2 ปีผ่านไปจาก entry เหล่านั้น คงจะได้เวลาที่ผมจะกลับมาเขียนถึงมันอีกสักครั้งหนึ่ง ด้วยวัยที่อาจจะเปลี่ยนไป ด้วยมุมอะไรบางอย่างที่อาจจะมองได้กว้างขึ้นหรืออาจจะแคบลง ซึ่งจริงๆ แล้วผมเองได้บ่นเรื่องพวกนี้ไว้เป็นระยะๆ ใน Twitter ที่สุดท้ายก็ไม่ได้กลายเป็นบทความอะไรที่ยั่งยืนหรือว่าอ้างอิงได้ในภายหลัง ถึงจะมีคนรวบรวมเอาไว้เป็นระยะๆ ก็ตาม</p>
<p>ณ วันนี้ ผมกำลังจะลาออกจากงานบริหาร กลับมาเขียนโค้ดเต็มตัวอีกครั้ง และทุกวันนี้ ผมพยายามสอนโค้ดมากขึ้น จากการที่ไปสอน iOS SDK Development ตามที่ต่างๆ มากมาย ผมพบความจริงที่น่าเศร้าใจมากขึ้น และเป็นการย้ำหัวตะปูกับเรื่องเดิมๆ มากขึ้น</p>
<p>น้องๆ ที่กำลังศึกษาในสาขาวิชาที่ต้องเขียนโปรแกรม ที่ต้องโค้ด คิดคอนเซปท์ของโปรแกรมน้อยลงมาก และ เขียนโปรแกรมน้อยลงมาก ซึ่งส่งผลให้เมื่อเจอปัญหาแล้วตั้งเป้าหมายและแก้ปัญหาไม่เป็น รวมถึงมือไม่ขยับในการเขียนโค้ดให้เลย</p>
<p>ปัญหานี้ไม่ได้มีแต่สาขาที่ต้องเขียนโปรแกรมแน่นอน เนื่องจากอาจจะเป็นปัญหาฝังลึกในระบบการศึกษาของบ้านเรา ที่เน้นการได้คำตอบอย่างฉาบฉวยมาตั้งแต่ไหนแต่ไร และมากขึ้นๆ เวลามีการบ้าน ก็ไม่ได้ทำเอง แต่ต้องมี &#8220;คนสอนการบ้าน&#8221; ตลอดเวลา และมากขึ้นๆ รวมถึงหนังสือสารพัดกุญแจ ที่บรรจุคำตอบทุกอย่างที่อยากรู้เอาไว้</p>
<p>นักเรียน นิสิต นักศึกษา และคนจำนวนมากที่เป็น &#8220;ผลผลิตที่สมบูรณ์ ของระบบการศึกษาที่ล้มเหลว&#8221; นี้ จึงติดนิสัยฉาบฉวยนั้นมาอย่างฝังรากลึก ถอนตัวไม่ออก ดัดไม่ค่อยได้ ผลที่ตามมานั้นน่ากลัวนัก</p>
<ul>
<li>เวลาอยากได้อะไรก็จะอยากได้ผลนั้นๆ อย่างเร่งด่วน ไม่สนใจวิธีการที่จะได้ผลนั้น ค่อยๆ ทำอะไรทีละขั้นทีละตอนไม่เป็น
<li>วิธีการให้ได้มาซึ่งสิ่งที่ต้องการนั้น จะเป็นลักษณะ &#8220;สำเร็จรูป&#8221; มากขึ้นๆ นั่นคือ มันเหมือนเป็นความคิดในระดับจิตใต้สำนึกไปแล้ว ว่ามันจะต้องมีคนทำเอาไว้เราไปหามาใช้ได้อย่างใจเราเป๊ะๆ แบบสำเร็จรูป ไม่ต้องทำอะไรเลย ถ้าเป็นโค้ดก็ &#8220;copy-paste ปุ๊บ ต้องได้ปั๊บ&#8221; เป็นต้น
<li>สังเกตได้ไม่ยาก เวลาสั่งงานอะไรก็ตาม น้องๆ จะใช้เวลาส่วนมากหมดไปกับ &#8220;การพยายามหาสิ่งที่เหมือนที่ต้องการเปี๊ยบ ใน Google ถ้าไม่ใช่สิ่งที่ต้องการ ก็หาต่อไปเรื่อยๆ อย่างไม่มีจบสิ้น&#8221;
<li>ซึ่งนั่นเป็นปัญหา ทำให้เราทำอะไรที่ซับซ้อนมากขึ้นกว่าระดับพื้นฐานไม่ได้ เพราะว่าสิ่งที่ซับซ้อนมากขึ้นนั้น โอกาสที่จะมีคนทำเอาไว้ให้เราเอาไปใช้ได้แบบเป๊ะๆ นั้น น้อยมาก ต้องเอามาปรับปรุง ดัดแปลง หรือนำเข้ามาใช้ร่วมกับส่วนอื่นๆ ของคำตอบเราอยู่ดี
<li>ไม่สนใจพื้นฐาน คิดว่าเป็นสิ่งที่ไม่จำเป็น บางคนอยู่ในสภาวะ &#8220;ดูถูกพื้นฐาน​&#8221; เสียด้วยซ้ำไป สนใจแต่ &#8220;ขั้นตอนสุดท้าย&#8221; เท่านั้น หลักคิดอะไรก่อนหน้านั้นเป็นขั้นเป็นตอนอย่างไร ก็ช่างมัน จะเร่งรัดผ่านไปให้หมด
<li>ทีนี้เมื่อสร้างอะไรเองทีละขั้นทีละตอนไม่เป็น ก็เป็น &#8220;ผู้สร้าง&#8221;​ หรือ &#8220;ผู้สร้างสรรค์&#8221; ยาก
<li>แต่ว่าจะมีความเป็น &#8220;ผู้เสพ&#8221; หรือ &#8220;ผู้บริโภค&#8221; สูงขึ้นเรื่อยๆ มีความต้องการ มีอาการเหมือนผู้บริโภค นั่นคือ &#8220;ถ้าสิ่งที่อยากได้นั้น ไม่มีคนทำไว้ ก็เป็นความผิดผู้ผลิต/ผู้สร้าง&#8221; ดังจะเห็นได้ชัดจากคำพูดที่ว่า &#8220;ลองไปหาดูแล้ว ไม่มี&#8221; &#8220;หาใน google ไม่เจอ&#8221; ฯลฯ มากขึ้นทุกที
</ul>
</p>
<p>กี่ครั้งแล้วไม่ทราบ ที่ผมเห็นภาพที่น่าเศร้าใจเหล่านี้ เกิดขึ้นซ้ำแล้วซ้ำเล่า ความพยายามที่จะลองผิดลองถูก ความพยายามที่จะคิด หรือความสามารถในการแก้ปัญหาเบื้องต้นในลักษณะของ &#8220;ผู้สร้าง&#8221; นั้น หายไปสิ้นเชิงจากความระบบความคิดและระบบการศึกษาในปัจจุบันเสียแล้วหรือ</p>
<p>ระบบการศึกษาที่เน้นการลัดไปสู่คำตอบอย่างรวดเร็วเกินไป และการที่อยากได้อะไรต้องมีคนอื่นทำให้ แก้ให้ ไม่มีที่สิ้นสุด ได้สร้างคนที่มีภาวะต้องการที่พึ่งพาสูงขึ้นๆ และเป็นที่พึ่งพาได้น้อยลงเรื่อยๆ</p>
<p>กี่ครั้งกันเล่า ที่เราพบคนที่อยากได้ระบบอะไรก็แล้วแต่ โดยไม่สนใจว่าสร้างมันอย่างไร จะเอาแต่ผล กี่ครั้งกันเล่า ที่คนบ้านเราไปเห็นแต่ผลลัพธ์ที่สำเร็จแล้วในต่างประเทศ ที่ใช้เวลาสร้างนับสิบๆ ปี แต่เราจะก๊อปปีิ้เฉพาะขั้นตอนสุดท้าย และเราก็บอกว่าเรามีแล้วเหมือนกับเขา แต่ว่ามันขาดวิญญาณและความเข้าใจมาอย่างสิ้นเชิง</p>
<p>เราคงจะเป็น &#8220;ผู้สร้าง&#8221; หรือเป็น &#8220;นักแก้ปัญหา&#8221; ที่แท้จริงกันยากขึ้นทุกวัน และการ &#8220;สร้างสรรค์&#8221; หรือ &#8220;การแก้ปัญหา&#8221; ของเรานั้นอาจหมายถึง &#8220;การแสวงหา มาปะผุ&#8221; มากขึ้นทุกวัน โดยสิ่งที่เราแสวงหามาได้นั้น เราก็ไม่ได้เข้าใจที่มาที่ไปของมัน เราไม่ได้มีแนวคิดอะไรในหัวเลย ว่าอะไรมันทำงานอย่างไร อะไรได้มาอย่างไร ก็เป็นได้</p>
<p>ตราบใดที่ บ้านเรายังคงสร้างคนที่สนใจแต่ &#8220;ข้อนี้จะตอบอะไร&#8221; แทนที่จะสนใจว่า &#8220;ทำไมถึงมีคำถามนี้&#8221; หรือ &#8220;จะเริ่มต้นมองปัญหานี้อย่างไร&#8221; มันก็คงจะเป็นแบบนี้ไปมากขึ้นๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/02/12/600/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ครู</title>
		<link>http://www.rawitat.com/2011/01/16/593/</link>
		<comments>http://www.rawitat.com/2011/01/16/593/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 08:39:30 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Education]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2011/01/16/593/</guid>
		<description><![CDATA[หากจะมีอาชีพไหนที่ทำให้ผมเป็นผมในช่วงเวลา 25 ปีที่ผ่านมา คงไม่พ้น &#8220;ครู&#8221; ตั้งแต่เด็ก ผมจำความรู้สึกที่ว่า &#8220;ครู&#8221; เป็นเหมือนแม่คนที่สอง ในสมัยเรียนอนุบาล เป็นเหมือนพี่สาวที่น่ารัก ในสมัยเรียนประถม เป็น &#8220;คนแปลกหน้า&#8221; คนแรกๆ ที่รู้จักอย่างจริงจังในชีวิต และต้องใช้เวลาอยู่ด้วยวันหนึ่งๆ หลายชั่วโมง เพราะครูเหล่านี้เป็นครูประจำชั้น ในวันเวลาเหล่านั้น ไม่มีคำว่ากวดวิชา ไม่มีสอบแข่งขันอย่างเอาเป็นเอาตาย ผมจำไม่ได้ว่าได้เรียนวิชาการอะไรบ้างกับครูเหล่านั้น แต่ผมจำได้ว่า ครูสดศรี คุณแม่คนที่สอง นั่งคุยเล่นด้วย เวลาที่ผมไม่ยอมนอนกลางวันในชั้นอนุบาล ตอนที่คนอื่นหลับกันหมด (ด้วยความที่ตัวเองเป็นคน hyper พอสมควร นอนยาก &#8230; จนถึงทุกวันนี้) คอยเรียกเวลาที่คุณแม่มารับกลับบ้าน ในตอนที่ผมกำลังเล่นกับเพื่อนๆ อยู่ เข้าใจเราเวลาที่เราทำอะไรแปลกประหลาดกว่าเพื่อนๆ ครูสุกานดา บางทีก็เรียกครูหมวย เจ๊หมวย พี่สาวคนสวย ชอบมานั่งคุยกับแม่ที่บ้านบ่อยๆ มีอะไรก็เอามาฝากที่บ้านประจำ เป็นคนที่ปกป้องผมเสมอเวลาที่ผม &#8220;พูดเร็ว&#8221; และเป็นคนที่ให้ผม &#8220;present&#8221; บนเวทีครั้งแรกในชีวิต (เล่านิทานบนเวที คนฟังเยอะแยะ ในงานอะไรสักอย่าง) &#8230; ถ้าพี่หมวยไม่จับไปเล่านิทานวันนั้น [...]]]></description>
			<content:encoded><![CDATA[<p>หากจะมีอาชีพไหนที่ทำให้ผมเป็นผมในช่วงเวลา 25 ปีที่ผ่านมา คงไม่พ้น &#8220;ครู&#8221;</p>
<p>ตั้งแต่เด็ก ผมจำความรู้สึกที่ว่า &#8220;ครู&#8221; เป็นเหมือนแม่คนที่สอง ในสมัยเรียนอนุบาล เป็นเหมือนพี่สาวที่น่ารัก ในสมัยเรียนประถม เป็น &#8220;คนแปลกหน้า&#8221; คนแรกๆ ที่รู้จักอย่างจริงจังในชีวิต และต้องใช้เวลาอยู่ด้วยวันหนึ่งๆ หลายชั่วโมง เพราะครูเหล่านี้เป็นครูประจำชั้น</p>
<p>ในวันเวลาเหล่านั้น ไม่มีคำว่ากวดวิชา ไม่มีสอบแข่งขันอย่างเอาเป็นเอาตาย ผมจำไม่ได้ว่าได้เรียนวิชาการอะไรบ้างกับครูเหล่านั้น แต่ผมจำได้ว่า</p>
<ul>
<li>ครูสดศรี คุณแม่คนที่สอง นั่งคุยเล่นด้วย เวลาที่ผมไม่ยอมนอนกลางวันในชั้นอนุบาล ตอนที่คนอื่นหลับกันหมด (ด้วยความที่ตัวเองเป็นคน hyper พอสมควร นอนยาก &#8230; จนถึงทุกวันนี้) คอยเรียกเวลาที่คุณแม่มารับกลับบ้าน ในตอนที่ผมกำลังเล่นกับเพื่อนๆ อยู่ เข้าใจเราเวลาที่เราทำอะไรแปลกประหลาดกว่าเพื่อนๆ</li>
<li>ครูสุกานดา บางทีก็เรียกครูหมวย เจ๊หมวย พี่สาวคนสวย ชอบมานั่งคุยกับแม่ที่บ้านบ่อยๆ มีอะไรก็เอามาฝากที่บ้านประจำ เป็นคนที่ปกป้องผมเสมอเวลาที่ผม &#8220;พูดเร็ว&#8221; และเป็นคนที่ให้ผม &#8220;present&#8221; บนเวทีครั้งแรกในชีวิต (เล่านิทานบนเวที คนฟังเยอะแยะ ในงานอะไรสักอย่าง) &#8230; ถ้าพี่หมวยไม่จับไปเล่านิทานวันนั้น อาจไม่มี Petdo Talkshow, Ignite Thailand และการพูดสาธารณะนับครั้งไม่ถ้วนของผมในทุกวันนี้ก็ได้ (เออ ถึงแกจะชื่อเล่นชื่อหมวย แต่ว่าตาโต ผมน้ำตาล ยังกะลูกครึ่งฝรั่ง)</li>
<li>ครูกอบลาภ บางครั้งก็เรียกแกป้ากอบ ครูผู้ดูแลคณะสนามจันทร์ที่วชิราวุธ 4 ปีที่อยู่หอนั้น มีเรื่องราวเยอะแยะมากมาย สิ่งที่จำครูกอบได้ ไม่ใช่ว่าแกเป็นครูสอนภาษาอังกฤษ หรือว่าเป็นอาจารย์ภาษาอังกฤษ แต่ว่าจำแกได้ที่แกจับไปยืนทำโทษที่ระเบียงเพราะไม่ยอมหลับไม่ยอมนอน ชื่อเล่นปัจจุบัน (เดฟ) ก็ครูกอบเนี่ยแหละเป็นคนเริ่มเรียก (จากความเข้าใจผิด) ยังจำได้กับที่แกบอกว่า &#8220;หัดทำอะไรนอกหนังสือบ้างก็ดีนะ&#8221; ตอนที่สอบภาษาอังกฤษ</li>
<li>ครูกิตติพันธุ์ หรือครูหม่อม เพราะว่าแกเป็นหม่อมหลวง &#8230;.. ตอนที่เรียนกับแก คิดว่าครูอะไรวะ ดุฉิบหาย ใครพูดมากเกินไป แกเอาผงบรเพ็ดดีดใส่ลิ้นหมด แต่ว่าผมโดนผงบรเพ็ดเพราะว่า &#8220;พูดน้อยไป&#8221; น่ะ มีแบบนี้ซะอีก</li>
<li>ครูโฉมศรี &#8230; ป้าโฉมจอมโหด เคยต้องยืนเรียนหน้าชั้นทั้งเทอม เพราะว่าเขาเรียนวิชาแกสายไปห้านาที แกบอกว่า &#8220;ถ้าอยากมาสาย ก็ยืนเรียนหน้าห้องละกัน&#8221; ถือหนังสือเรียน 7 เล่มยืนเรียนหน้าชั้น (ห้ามวางบนพื้นด้วย ต้องถือไว้) เป็นชั่วโมงๆ ตั้งเป็นเทอม</li>
</ul>
<p>ช่วงสั้นๆ ที่ไปเรียนอเมริกา ก็จำได้ว่า</p>
<ul>
<li>Mrs. Leonard ที่ Francis C. Hammond Jr. High School คนที่สอน Algebra ตอนนั้น เชื่อมั้ยว่า ทุกวันนี้ถึงผมจะจบ Applied Math (Informatics) ผมก็ยังใช้ตัวอย่างการสอนเรื่อง &#8220;สมการ&#8221; ของแก เล่าให้เด็กทุกรุ่นทุกกลุ่มทุกชั้นปีที่ผมได้สอน อยู่เลย ยังจำได้เลยที่แกบอกว่า &#8220;ถึงจะคำนวนได้ แต่ไม่รู้ว่ามันคืออะไร เอาไปใช้อะไร มันไม่เคยมีประโยชน์&#8221;</li>
<li>Mrs. Smith ที่พาไปเรียนประวัติศาสตร์ Civil War ที่สนามรบ Manesses &#8230; บอกตรงๆ ว่าไม่เคยเรียนวิชาประวัติศาสตร์สนุกขนาดวันนั้นมาก่อน ปกติเรียนที่เมืองไทยเคยแต่ต้องจินตนาการเอาเองว่าไอ้โน่นไอ้นี่มันเป็นยังไง ไม่เคยเรียนแบบ on-site แบบตอนนั้นเลย สนุกมาก</li>
<li>Mr. Kent ที่สอนวิทยาศาสตร์ ด้วยการให้เล่น ให้เล่า และคิดโน่นคิดนี่อย่างสนุกสนาน จำได้ว่าเคยถาม-ตอบกับแกไฟแลบในห้องเรียน สนุกมาก สนุกมากๆ และเพื่อนชอบกัน เป็นคลาสวิทยาศาสตร์ที่สนุกที่สุดในชีวิต</li>
</ul>
<p>น่าแปลก ว่าในช่วงหลังจากผมกลับมาจากอเมริกา แล้วมาเรียนเมืองไทย ที่สาธิตวิทยาลัยครูเทพสตรี (ในขณะนั้น) ผมกลับจำใครไม่ได้เลย มันเป็นความทรงจำที่เลือนลางมาก มากกว่าครูสองคนสมัยเรียนอนุบาลกับประถมเสียอีก (มีความทรงจำในด้านลบกับอะไรหลายๆ อย่างบ้าง ที่ยังคงชัดเจนอยู่ ขอไม่นึกถึงมันดีกว่า)</p>
<p>ตอนที่ไปเรียนกวดวิชาตามที่โน่นที่นี่ ผมนึกออกอยู่ 2 คน</p>
<ul>
<li>อ.ธวัชชัย ชัยสวัสดิ์ แกเป็นคนที่สอน Physics ได้แปลกที่สุดในบรรดาพวกกวดวิชาด้วยกัน คือไม่สอนทำโจทย์ ไม่สอนสูตร ไม่เอาเรื่อง Ent&#8217; มาเป็นตัวตั้งเท่าไหร่ ถ้าจะไปเรียนเพื่อสอบอย่างเดียว จะงงว่าแกสอนอะไรของแก ไม่รู้เรื่อง สอนไม่ดี และด่าชาวบ้าน (กวดวิชาอื่นๆ) ที่สอนสูตรลัด หรือสอนความเข้าใจที่ผิดเป็นประจำ &#8230; แต่ว่าแกนี่แหละ เป็นต้นแบบของการสอนของผมทุกวันนี้ สอนไม่เน้นเอาไปสอบ แต่สอนเอาพื้นเอาฐานให้เข้าใจ ใช้งานได้ &#8230; ที่ไปเรียนเน้นด้าน Computational Physics ส่วนหนึ่งก็มีผลมาจากแกนี่แหละ</li>
<li>พี่เจี๋ย JIA &#8230;. ผมไม่รู้ว่าไปสนิทกับแกได้ยังไงว่ะ แต่แกเรียกผมว่า &#8220;หนุ่มหน้าไทย&#8221; ซึ่งไม่ใช่เรื่องแปลกอะไร เพราะว่าบรรดาเพื่อนๆ ที่สนิทกันตอนไปเรียน JIA นี่ตี๋ หมวย ทั้งนั้น สิ่งที่ผมได้จากพี่เจี๋ย ไม่ใช่เคล็ดวิชาการทำโจทย์สารพัดเหมือนที่หลายๆ คนได้นะ แต่เป็นบทเรียนสำคัญมากที่วันหนึ่งแกพูดขึ้นมาในคลาส คือ เรื่องการเป็นลูกจ้างและผู้ประกอบการ สมการเส้นตรง ที่เริ่มต้นด้วยจุดตัดแกน Y และมีความชันคงที่ ก็เหมือนลูกจ้าง และผู้ประกอบการที่เป็น parabola ที่เริ่มต้นจาก 0 และต้อง &#8220;ดิ่งลง&#8221; ก่อน นั่นคือ จุดยอดของกราฟที่อยู่ต่ำกว่าแกน Y คือมีพิกัดเป็น (+, -) ในกรณีที่ X เป็นเวลา และ Y เป็นเงิน &#8230; ผมยังคงเห็นภาพนั้น ตอนที่พี่แกสอนเรื่องนี้ อยู่ติดตาถึงทุกวันนี้ที่เป็นผู้ประกอบการเอง &#8230; ส่วนเรื่องอื่นๆ เทคนิคทั้งหลายที่พี่สอนน่ะเหรอ ขอโทษนะพี่ ผมจำไม่ได้ว่ะ และนึกไม่ออกด้วยว่าได้ใช้จริงๆ หรือเปล่า แต่นี่แหละ ที่ได้ใช้จริง และสำคัญมาก
<p>
  อ่อ พี่เจี๋ยไปส่งขึ้นเครื่องตอนไปญี่ปุ่นครั้งแรก (หลังจากได้ทุน) ด้วยนะ</li>
</ul>
<p>ส่วนตอนที่เรียนญี่ปุ่น ก็คงมีแค่สองคนน่ะแหละ</p>
<ul>
<li>Dong-Sheng Cai รู้จักกับแกตั้งแต่ตอนปีหนึ่ง แกสอน lecture หนึ่งในวิชา Information Literarcy วันนึงบังเอิญเจอกับแกบนรถบัสกลับจาก Tokyo ไป Tsukuba แกถามว่า &#8220;เขียนโปรแกรมเก่งหรือเปล่า&#8221; ไอ้เราก็ไม่รู้จะตอบยังไง (แกคงเห็นเราซื้อหนังสือ Programming เยอะ) ก็เลยแนะนำให้ไปสัมภาษณ์งานเป็นโปรแกรมเมอร์ผู้ช่วยวิจัยที่ RWCP &#8230; ถ้าไม่มีแกก็ไม่มีวันนี้เหมือนกัน (ยังจำการบ้านแกได้เลย ให้หา &#8220;ตอนสุดท้ายของโดราเอมอน&#8221; แล้วมา debate กันเรื่องความเชื่อถือได้ของข้อมูลบนเน็ต สนุกดี) &#8230; ไม่พอ แกเป็นคนที่ผม &#8220;เลียนแบบพฤติกรรม&#8221; มากที่สุดในเวลาถามนักศึกษาใน seminar หรือว่าเวลาที่ น.ศ. present งานต่างๆ .. เรียกได้ว่าแทบจะถอดแบบมาเลย
<p>
  ไม่พอ แกยังเป็นคนที่พูดประโยคที่ผมบอก น.ศ. ต่อตลอดเวลาว่า &#8220;คิดว่าอ่านหนังสือจนทำได้เหมือนหนังสือ หรือว่าท่องได้เหมือนหนังสือ แล้วคิดว่าเข้าใจงั้นเหรอ เข้าใจผิดแล้ว ต้องลงมือทำตามนั้น และต่างจากนั้น เล่นกับมันให้ได้ก่อน ถึงจะเรียกได้ว่าเริ่มจะเข้าใจ&#8221; และ &#8220;ถ้าแค่อาจารย์คนเดียว ยังไม่มีปัญญาเถียงหรือเอาชนะเพื่อสิ่งที่ถูกต้อง วันหนึ่งจะไปเถียงกับคนทั้งโลกได้ยังไง&#8221; และสำคัญที่สุด ที่แกสอนด้วยการกระทำตลอดเวลา &#8220;เรื่องที่ไม่รู้เรื่อง รู้จักแค่ผิวเผิน รู้จักแค่ชื่อ อย่าทำตัวเหมือนรู้ อย่าพูดให้หลุดออกจากปาก ทุกคำที่พูด ทุกคำบนสไลด์ ต้องอธิบายได้หมด&#8221;</li>
<li>James Bradford Cole ไม่พูดถึงคนนี้คงไม่ได้ lecture แกในวิชา Chaos and Complex System Theory เป็นสิ่งที่เปลี่ยนชีวิตผมที่สุด เรื่องวิชาความรู้น่ะเรื่องหนึ่ง แต่ว่าเรื่องความสนใจในวิชาการลึกๆ นี่มาจากแกนี่แหละ เป็นคนที่ใช้เวลา 3 ปีสุดท้ายในญี่ปุ่นด้วยเยอะที่สุด แทบจะทุกเช้า ทุกเย็น เป็นคนที่สอนให้ผมเข้าใจ (จากการกระทำ) ว่า &#8220;การเป็นผู้ไม่รู้&#8221; มันเป็นยังไง เพราะว่าเจมส์เป็นคนที่ &#8220;ไม่รู้&#8221; ตลอดเวลา และต้องการความช่วยเหลือจากเราในเรื่องที่แกไม่รู้ พอๆ กับคนอื่นอีกหลายคน (เนื่องจากแกเป็นนักฟิสิกส์ และเขียนโปรแกรมไม่เก่งมากนัก) และยินดีที่จะมีคนช่วยแก ไม่ใช่คนที่ &#8220;รู้ทุกเรื่อง แตะต้องไม่ได้&#8221;
<p>
  เจมส์เป็น &#8220;เพื่อนคุยและเพื่อนคิด&#8221; ที่ดีที่สุดของผมคนหนึ่ง (นอกจาก Peter และ Hirokawa) ในช่วงเวลา 3 ปีสุดท้ายในญี่ปุ่น</li>
</ul>
<p>ความทรงจำเหล่านี้ มันไม่ใช่ความทรงจำเรื่องวิชาการ หรือวิชาความรู้อะไรเลย ตรงกันข้าม มันเป็นสิ่งที่ทำให้ &#8220;ผมเป็นผม&#8221; ได้ถึงวันนี้ พวกคนที่สอนวิชาการ เน้นวิชาการ เอาไปสอบ เอาไป ฯลฯ น่ะเหรอ แปลกแฮะ ผมจำไม่ได้อ่ะ อาจเป็นเพราะว่าผมมีครูที่สอนให้ผมมีพฤติกรรมการศึกษาและหาประสบการณ์ที่ดี สอนให้ผมเป็นผม คนที่ศึกษาวิชาการต่างๆ และหาประสบการณ์ในเรื่องต่างๆ เอาเองได้ดีกว่ามีคนสอนเป็นไหนๆ ก็ได้มั้ง</p>
<p>น่าเสียดาย น่าเสียดาย น่าเสียดาย ที่ระบบการศึกษาบ้านเรามันพังพินาศ เราคิดแต่ว่าเด็กต้องรู้วิชาการ วิชาการ วิชาการ แข่งขันกันด้วยการสอบอย่างเอาเป็นเอาตาย คนคิดวิชาการทั้งหลายพยายามยัดเยียดความรู้ต่างๆ ให้เด็กตั้งแต่เด็กเกินไป พ่อแม่เห็นลูกเป็นถ้วยรางวัลมากขึ้น กวดวิชาเน้นผลลัพธ์ทางการสอบมีมากขึ้นและมากขึ้น</p>
<p>คำว่า &#8220;ครู&#8221; หายไป กลายเป็น &#8220;อาจารย์&#8221; &#8230; เป็นผู้รู้ (โดยตำแหน่งอาชีพ) ที่เถียงไม่ได้ ต้องเคารพเชื่อฟัง (เพียงเพราะตำแหน่งอาชีพ) มากขึ้น สอนแต่วิชาการ เอาแต่ความรู้ทางวิชาการ ถึงอาจารย์หลายคนจะเรียกตัวเองจนติดปากว่า &#8220;ครู&#8221; ก็เถอะ ด้วยความเคารพ ผมคิดเช่นนั้นไม่ได้เลย</p>
<p>&#8220;ครู&#8221; ที่เป็นแม่คนที่สอง เป็นพี่สาวแสนน่ารัก เป็นเพื่อนคุยเพื่อนคิด เป็นคนสอนและบ่มปรัชญาชีวิต &#8230;. กำลังเป็นสิ่งที่จางหายไปจากสังคม เลือนหายไปจากระบบการศึกษา และกำลังจะเป็นแค่ประวัติศาสตร์หน้าหนึ่งที่ผ่านไป</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2011/01/16/593/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Pencast วิชา​ Visual Simulation ครั้งที่ 4</title>
		<link>http://www.rawitat.com/2010/07/02/453/</link>
		<comments>http://www.rawitat.com/2010/07/02/453/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 10:52:04 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[การเรียนการสอน]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Lecture]]></category>
		<category><![CDATA[Pencast]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2010/07/02/453/</guid>
		<description><![CDATA[ก่อนอื่นต้องขอชมน้องๆ หลายคนก่อนว่า ทำการบ้านครั้งที่แล้วได้ดีมากเลยครับ เนื้อหาคราวนี้หลักๆ เป็นการเชื่อมโยงเนื้อหาคราวที่แล้ว (1D Dynamical System; Logistic Equation) กับเรื่องที่นักศึกษาสาขา animation คุ้นเคย นั่นก็คือ การกำหนดค่าการเคลื่อนไหวต่างๆ ให้กับ animation ก็หวังว่าจะทำให้หลายๆ คนเข้าใจบทบาทของ Dynamical system simulation กับการประยุกต์ใช้งานในเรื่อง animation มากขึ้นบ้าง ตอนที่ 1: Simple Dynamical System &#038; Animation Control ขนาด 7.8 MB 7.01 VS: Simple Dynamical Systembrought to you by Livescribe ตอนที่ 2: Simple Dynamical System &#038; Animation Control (ต่อ) ขนาด [...]]]></description>
			<content:encoded><![CDATA[<p>ก่อนอื่นต้องขอชมน้องๆ หลายคนก่อนว่า ทำการบ้านครั้งที่แล้วได้ดีมากเลยครับ</p>
<p>เนื้อหาคราวนี้หลักๆ เป็นการเชื่อมโยงเนื้อหาคราวที่แล้ว (1D Dynamical System; Logistic Equation) กับเรื่องที่นักศึกษาสาขา animation คุ้นเคย นั่นก็คือ การกำหนดค่าการเคลื่อนไหวต่างๆ ให้กับ animation ก็หวังว่าจะทำให้หลายๆ คนเข้าใจบทบาทของ Dynamical system simulation กับการประยุกต์ใช้งานในเรื่อง animation มากขึ้นบ้าง</p>
<ol>
<li>ตอนที่ 1: Simple Dynamical System &#038; Animation Control  ขนาด 7.8 MB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=7TnL1lgssDjX" target="_blank">7.01 VS: Simple Dynamical System</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A9B6830000001294F0AC38575491F77&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A9B6830000001294F0AC38575491F77&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p></p>
<li>ตอนที่ 2: Simple Dynamical System &#038; Animation Control (ต่อ) ขนาด 5.3 MB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=Qr9rr6dlsQFM" target="_blank">7.01 VS: Simple Dynamical System 2</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011500003A9AE6370000012944FDCDAD2298C210&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011500003A9AE6370000012944FDCDAD2298C210&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p></p>
<li>ตอนที่ 3: 2D Rule-based Dynamical System ขนาด 2.3 MB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=hv5Tc9XkHRX9" target="_blank">7.01 VS: 2D Rule-based Dynamical System</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011700003A9AA63500000129451DD5028D5EC01D&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011700003A9AA63500000129451DD5028D5EC01D&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p></p>
<li>ตอนที่ 4: การบ้าน (นิดๆ หน่อยๆ) ขนาด 639 KB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=gm5KJ1f06ZfM" target="_blank">7.01 VS: Homework</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011500003A99FA370000012944FDB62DEF114C92&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011500003A99FA370000012944FDB62DEF114C92&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p>
</ol>
<p>ไฟล์เอกสาร (PDF) : <a href="http://www.rawitat.com/wp-content/uploads/2010/07/VS_4_1.pdf" title="VS_4_1.pdf">VS_4_1.pdf</a>, <a href="http://www.rawitat.com/wp-content/uploads/2010/07/VS_4_2.pdf" title="VS_4_2.pdf">VS_4_2.pdf</a></p>
<p>หลังจากนั้น เนื่องจากน้องๆ หลายคนยังไม่เข้าใจการบ้านเท่าไหร่ ว่าจะต้องส่งอย่างไร ทำอะไร ต้องใส่อะไรบ้าง ฯลฯ (ถึงแม้ว่าผมจะให้ keyword &#8220;Cellular Automata&#8221; ในการ search google, wikipedia ซึ่งผมบอกว่า จะเอารูปจากเค้ามาเลยก็ได้ ไม่ผิด ก็ตาม) ซึ่งก็พอจะเข้าใจนักศึกษานะครับ ก็เลยต้องเปิด &#8220;เฉลย&#8221; การบ้านให้ดูก่อน ว่าให้น้องๆ ทำตามนี้แหละ เขียนส่งมาแค่นี้แหละ ซึ่งตรงนี้ไม่ได้บันทึกไว้ เพราะว่าเป็นการเปิดจากไฟล์ presentation ในเครื่อง (ผมไม่สามารถเขียนภาพผลการรัน Cellular Automata กฏ 110 ด้วยมือได้ครับ เกินความสามารถ) ก็เลยเอาภาพและ animation บางส่วน ที่สร้างจากการประยุกต์ใช้ Cellular Automata ดังๆ อย่าง Conway&#8217;s Game of Life ให้น้องๆ ดูไปด้วย</p>
<p>ก็ต้องขออภัยนะครับ ที่ในส่วนนั้นไม่ได้มีการบันทึกเอาไว้</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2010/07/02/453/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pencast วิชา Visual Simulation ครั้งที่ 3</title>
		<link>http://www.rawitat.com/2010/06/25/450/</link>
		<comments>http://www.rawitat.com/2010/06/25/450/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 09:01:57 +0000</pubDate>
		<dc:creator>rawitat</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Lecture]]></category>
		<category><![CDATA[Pencast]]></category>
		<category><![CDATA[Science]]></category>

		<guid isPermaLink="false">http://www.rawitat.com/2010/06/25/450/</guid>
		<description><![CDATA[เริ่มใช้ pencast กับวิชาอื่นที่สอน นอกจาก User Interface บ้าง วิชานี้เป็นวิชา Visual Simulation สอนให้กับคณะ ICT ซึ่งเนื้อหาหลักเป็น &#8220;การสร้างแบบจำลอง&#8221; ที่เหมือนจริง ซึ่งผมอยากจะโฟกัสแค่การสร้าง Texture ของลวดลายต่างๆ ทั้งที่เป็นลวดลายธรรมชาติและไม่ธรรมชาติ และการจำลองสถานการณ์ต่างๆ ที่บางทีอาจจะไม่ใช่ Direct simulation แต่แค่ให้ได้ความรู้สึกเหมือนจริง ซึ่งก่อนอื่นจะต้องศึกษาเรื่อง Procedural Texture Generation และ &#8220;ธรรมชาติของ Patterns&#8221; เสียก่อน ทำให้วิชานี้อาจจะมี nature แปลกๆ หน่อยสำหรับสาขา animation เนื่องจากจะมีคณิตศาสตร์ปนๆ อยู่บ้่าง (แต่ไม่ใช่เรื่องแปลก เพราะว่าการสร้าง texture หรือการศึกษา CGI; computer generated imaginary นี่ แทบจะเป็น math กันล้วนๆ ในเบื้องหลัง) ก่อนที่จะไปถึงเรื่อง Fractals ซึ่งเป็น [...]]]></description>
			<content:encoded><![CDATA[<p>เริ่มใช้ pencast กับวิชาอื่นที่สอน นอกจาก User Interface บ้าง วิชานี้เป็นวิชา Visual Simulation สอนให้กับคณะ ICT ซึ่งเนื้อหาหลักเป็น &#8220;การสร้างแบบจำลอง&#8221; ที่เหมือนจริง ซึ่งผมอยากจะโฟกัสแค่การสร้าง Texture ของลวดลายต่างๆ ทั้งที่เป็นลวดลายธรรมชาติและไม่ธรรมชาติ และการจำลองสถานการณ์ต่างๆ ที่บางทีอาจจะไม่ใช่ Direct simulation แต่แค่ให้ได้ความรู้สึกเหมือนจริง ซึ่งก่อนอื่นจะต้องศึกษาเรื่อง Procedural Texture Generation และ &#8220;ธรรมชาติของ Patterns&#8221; เสียก่อน ทำให้วิชานี้อาจจะมี nature แปลกๆ หน่อยสำหรับสาขา animation เนื่องจากจะมีคณิตศาสตร์ปนๆ อยู่บ้่าง (แต่ไม่ใช่เรื่องแปลก เพราะว่าการสร้าง texture หรือการศึกษา CGI; computer generated imaginary นี่ แทบจะเป็น math กันล้วนๆ ในเบื้องหลัง) ก่อนที่จะไปถึงเรื่อง Fractals ซึ่งเป็น &#8220;พระเอก&#8221; ของวิชา ต่อไป</p>
<p>สำหรับ Pencast ครั้งนี้จะ ตะกุกตะกักเล็กน้อย (เนื่องจากตัวเองก็ไม่ได้พูดเรื่องทำนองนี้มานานพอควร แล้วปกติจะพูดเรื่องทำนองนี้แต่กับพวกที่มี background เป็น math) และมีบางส่วนที่ไม่ได้ลงตรงนี้ เนื่องจากเปิดหน้าหนังสือลงใน visualizer และตัว pencast ไม่ได้บันทึกตรงนั้นไว้ให้ และการสนทนาต่างๆ ที่เกิดขึ้นระหว่างพักจะถูกตัดหมด และ 2 ครั้งก่อนหน้านี้ ไม่มีการบันทึกไว้ ดังนั้นหลายท่านที่มาฟัง อาจจะรู้สึกไม่ต่อเนื่อง หรือช่วงการ &#8220;Intro&#8221; มันหายไป ขออภัยด้วยครับ</p>
<p>ป.ล. สำหรับน้องคณะ ICT ที่ใช้งานครั้งแรกนะครับ ช่วย <font color="red">รอหน่อย</font> นะครับ เพราะว่ามันต้องทำการ download ไฟล์เสียงทั้งหมดก่อน ไม่งั้นเสียงไม่มา ก็ขนาดไฟล์ตามที่ผมระบุนะครับ</p>
<ol>
<li>ตอนที่ 1: Procedural Generation Introduction ขนาด 7.5 MB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=f1M4JXbpV0C5" target="_blank">6.24 VS: Procedural Textures 1</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A98DC1E000001294516CFC4B141E79F&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A98DC1E000001294516CFC4B141E79F&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p></p>
<li>ตอนที่ 2: Patterns &#038; Textures ขนาด 8.9 MB
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=Nt697vQNwCVn" target="_blank">6.24 VS: Procedural Textures 2</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A9A0E1E0000012945174D5BB284CC84&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A9A0E1E0000012945174D5BB284CC84&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p></p>
<li>ตอนที่ 3: 1D Texture generation with simple Dynamical Equation (&#038; Glimpse of Fractals) ขนาด 4.3 MB<br /> 
<div class="pencast"><a href="http://www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/MLSOverviewPage?sid=wXH4HhHJhm6Q" target="_blank">6.24 VS: Procedural Textures 3</a><br /><small>brought to you by <a href="http://www.livescribe.com/" target="_blank">Livescribe</a></small><br /><object width="228" height="316"><param name="movie" value="http://www.livescribe.com/media/swf/embedPlayer.swf"></param><param name="FlashVars" value="path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A98E01E000001294516CFC4B141E79F&amp;embedversion=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.livescribe.com/media/swf/embedPlayer.swf?path=http%3A//www.livescribe.com/cgi-bin/WebObjects/LDApp.woa/wa/flashXML%3Fxml%3D0000C0A8011600003A98E01E000001294516CFC4B141E79F&amp;embedversion=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="228" height="316"></embed></object></div>
<p>
</ol>
<p>ไฟล์เอกสาร (PDF) ครับ: <a href="http://www.rawitat.com/wp-content/uploads/2010/06/VS3_1.pdf" title="VS3_1.pdf">VS3_1.pdf</a>, <a href="http://www.rawitat.com/wp-content/uploads/2010/06/VS3_2.pdf" title="VS3_2.pdf">VS3_2.pdf</a>, <a href="http://www.rawitat.com/wp-content/uploads/2010/06/VS3_3.pdf" title="VS3_3.pdf">VS3_3.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rawitat.com/2010/06/25/450/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

