Online Courses
ห้องเรียนออนไลน์


มหาวิทยาลัยระดับโลกหลายแห่ง เปิดสอน Coding แบบ Online ทุกคนสามารถเรียนได้โดยไม่ต้องเสียค่าใช้จ่าย วันนี้จะพาไปดูของ Harvard และ MIT กัน

ที่ Harvard มี Course ที่ได้รับการยอมรับว่าดีที่สุดในโลก นั่นคือ CS50 เปิดให้เรียน Online ได้ที่นี่ https://cs50.harvard.edu

Course นี้เริ่มต้นจากการเขียน Code ด้วยภาพหรือที่เรียกว่า Scratch ตามด้วยภาษา C เพื่อให้เข้าใจการเขียน Code แบบ Low Level อีก 5 ครั้ง ตามด้วยภาษา Python, Flask และ SQL อย่างละครั้ง HTML/CSS/JavaScript เรียนครั้งเดียว และ Ethics ปิดท้าย รวม 11 ครั้ง ครั้งละ 2 ชั่วโมงครึ่ง

หลักการสอนที่ CODESTAR คือ ต้องสอนดีกว่ามหาวิทยาลัยระดับโลก ไม่ว่าจะเป็น Harvard หรือ MIT หรือที่ไหนก็ตาม ลองเปรียบเทียบกันดูได้ว่าเป็นจริงหรือเปล่า

ที่ CODESTAR เปิดสอน Course ที่คล้ายกันคือ Java Software Engineer ตอนนี้เรียนครั้งละ 3 ชั่วโมง ทั้งหมด 20 ครั้ง เป็นการเรียนแบบ Low Level เหมือนกัน มีเนื้อหา Data Structures ที่ควรรู้จัก เช่น Binary Tree, Binary Search Tree, Array, Matrix, Hash Table เรียนโดยการพิมพ์ทีละตัวอักษร

ที่ CS50 สอน Binary Search Tree โดยไม่ได้สร้าง Node ให้ดู เขียน Function หาข้อมูลโดยใช้ Code แบบด้านซ้าย พิมพ์ Code ทั้งหมดไว้ก่อน แล้วเปิดขึ้นมาอธิบายทีละ Block

ที่ CODESTAR สอนเรื่องเดียวกันโดยเริ่มจาก Binary Tree ก่อน แล้วค่อยเขียน Binary Search Tree ใส่ข้อมูลทีละตัว พิมพ์ทีละตัวอักษร เขียน Function ค้นหาข้อมูลแบบด้านขวา แต่เขียนเป็นภาษา Java แถมด้วยการตอบคำถามสัมภาษณ์งานระดับโลกด้าน Binary Search Tree เช่น หาผลรวมจาก Root ถึง Leaf, หาค่าที่มากที่สุดแต่ละ Level หรือ หาผลรวมแต่ละ Level สมัครงานที่ไหนก็ไม่ต้องกลัวเรื่องนี้

ในส่วนของ Algorithms ปีนี้ CS50 เน้นสอนการเรียงข้อมูล หรือ Sorting อธิบายเรื่อง Selection Sort, Bubble Sort, Merge Sort แต่ไม่ได้เขียน Code ให้ดู แต่ที่ CODESTAR อธิบายให้เข้าใจหลักการแต่ละแบบ แถมยังมี Quick Sort และ Radix Sort เป็น Bonus ที่เหนือชั้น เขียนให้ดูครบทุกแบบ จะ Greedy Sort หรือ Divide & Conquer Sort ก็ใช้ได้ ต่างจาก Conquer & Divide Sort ยังไง มาเรียนด้วยกันได้ เขียนทีละตัวอักษร ให้เข้าใจที่มาที่ไป ลองมาเรียนด้วยกันจะได้เข้าใจหลักการทำงานอย่างแท้จริง

บางคนถามว่า ถ้าสอนดีขนาดนี้แล้ว ทำไมไม่ไปสอนแทน Harvard หรือ MIT ไปเลย ด้วยความยินดีครับ พร้อมตลอดเวลา ใครเชิญมาก็พร้อมไปทุกที่

ส่วนของ MIT แนะนำให้เรียน 2 Courses เลย คือ Software Construction in Java กับ Advanced Software Construction in Java เรียน Online ได้เหมือนกัน ที่นี่ https://www.edx.org/course/software-construction-in-java และ https://www.edx.org/course/advanced-software-construction-in-java ใช้เวลาเรียน 12 และ 10 สัปดาห์ สัปดาห์ละ 2-3 ชั่วโมง

วิชานี้เริ่มต้นด้วยการอธิบายลักษณะของ Software ที่ดี 3 อย่าง ตามด้วยการทำ Code Review การ Partition Test Case การทดสอบแบบ Black Box และ Glass Box การทำ Test Automation

จากนั้นเป็นเรื่องของ Specification ตามด้วย Data Structures ของ Java อย่าง Equality, Immutable, Interface แบบฝึกหัดจะมี Code มาให้ส่วนนึง ให้แก้ไขให้ถูกต้อง เวลาเรียนรวม 12 สัปดาห์

ถัดไปเป็นวิชา Advanced Software Construction in Java เป็นขั้นสูงอีก Course นึงเรียนต่ออีก 10 สัปดาห์ เริ่มจาก Recursion และ Base Case รวมถึงเปรียบเทียบกับ Iteration ตามด้วยเรื่อง Data Structures ที่เป็น Recursive เช่น Binary Tree และการใช้ Regular Expression จากนั้นเป็นเรื่อง Concurrency Threading และ Socket และปิดท้ายด้วย Message Queue และ Deadlock

แบบฝึกหัดจะคล้ายเดิม คือมี Code มาให้แก้ไข หรือเขียน Unit Testing ให้ถูกต้องตาม Partition Test Case ที่กำหนดมา ต้องลองไปเรียนดู เป็น Course ที่ดีมาก สอนด้วย Java 8 รุ่น Classic ที่ควรรู้ ผมเรียนมาทั้งสองวิชา ได้ Certificate มา เอาไว้ไปสมัครงานได้

ที่ CODESTAR เปิดสอนที่คล้ายกันคือ Java Software Engineer เริ่มต้นด้วยการเรียนภาษา Java พื้นฐาน ตามด้วย Array และ String หลักการของ Greedy และ Two Pointers ซึ่งมีความสำคัญในการสัมภาษณ์งาน ถ้ามีคำถามเป็น Two Pointers แล้วเราไม่เคยเห็น หรือไปใช้วิธีอื่น แสดงว่าพื้นฐานยังไม่ดี

ตามมาด้วย Binary Tree และ Binary Search Tree เป็น Recursive Structures เหมือน Course ระดับโลกทั่วไป ที่สำคัญคือ จะมีการเขียนให้ดูทีละตัวอักษร สร้างทีละ Node เขียน Code จริง ไม่ใช่แค่วาดรูปให้ดู เรียนแล้วต้องรู้ข้อแตกต่างระหว่าง 3 เรื่องที่ชื่อคล้ายกันคือ Binary Search, Binary Tree และ Binary Search Tree ต่อให้จบปริญญาตรีมา ก็มีแค่ไม่กี่คนที่รู้เรื่องนี้ ลองทดสอบดูได้

เรื่อง Divide and Conquer ยังไม่จบแค่นั้น ต้องศึกษาให้ลึกซึ้งถึง Merge Sort ตามแนวทางของผู้คิดค้นจาก Princeton รวมถึงปัญหาของ Merge Sort อาจจะถูกแก้ได้ด้วย Quick Sort ซึ่งก็เป็นที่ Princeton ที่ช่วยแก้ไข Quick Sort ให้ทำงานได้ดี เรียนที่ CODESTAR จะได้เขียนทั้ง Merge Sort และ Quick Sort ทีละตัวอักษร มีการ Merge โดยใช้ Sentinel และไม่ใช้ Sentinel ส่วน Quick Sort มีการ Partition แบบ Two Pointers ที่นิยมใช้ การทำ Dual Pivot และ Median of Three รวมทั้งการ Partition แบบกระต่ายกับเต่าตามหนังสือของ MIT

ครึ่งเดือนหลังจะเป็นการศึกษา Framework ที่นิยมใช้ของ Java เริ่มตั้งแต่การใช้ Cloud ของ Google และ Unix Commands ที่ควรรู้ การติดตั้ง Java Development Kit รุ่น 17 ใหม่ล่าสุด ศึกษากลไกการทำงานของ Redirect และ Pipe ซึ่งจะช่วยให้เข้าใจระบบ Unix มากขึ้น

ส่วน Threading มีเรียนทั้งแบบ Subclass และ Interface เขียน Multicore ด้วย Lambda Expression ฝึกหัดใช้ Collections ทั้ง ArrayList, LinkedList, TreeSet, HashSet, TreeMap, HashMap ครบทุกตัว สมองคนเรามีข้อจำกัด จำอะไรมากไม่ได้ ก็อย่ากังวล เพราะใช้แค่ ArrayList ก็ทำงานได้แล้ว แต่ถ้าจะไปสัมภาษณ์งาน ต้องรู้ให้ครบ

Database จะใช้ MySQL ก่อน เพื่อให้เข้าใจหลักการของ JDBC หรือ Java Database Connectivity แล้วค่อยเขียน JPA หรือ Java Persistence API คราวนี้เขียนได้ทุก DBMS ไม่ต้องยึดติดกับระบบไหน ไม่ว่าจะเป็น Oracle, SQL Server, MySQL, DB2, PostgreSQL และอื่นๆ

จากนั้นศึกษาแนวคิดของ HTTP ตั้งแต่ยุคแรกที่ต้องใช้ HTML และ CGI หรือ Common Gateway Interface เพื่ออ่านเขียนฐานข้อมูล ตามด้วยยุคที่สองเขียน Code แทรกลงไปใน HTML แบบ PHP หรือ JSP (JavaServer Pages) และยุคใหม่คือแบบ Model-View-Controller ด้วย Spring MVC ซึ่งนิยมใช้อันดับ 1 ตามด้วย Spring Boot เรียนกันอย่างละวัน เขียนได้ทั้ง Web Service และ Web Application

ช่วงท้ายจะเป็น Software Validation หรือ Testing ซึ่งก็เริ่มตั้งแต่ Black Box และ White Box การใช้ Debugger การทำ User Acceptance Test หรือ UAT การเขียน Unit Testing กับระบบ Web Service รวมถึงการ Assert ค่า จบสุดท้ายด้วย Test Automation ใช้ Selenium เขียน Code ไปทดสอบ Ecommerce ชื่อดังอย่าง buddybuyer.com

Java Software Engineer เป็น Course แรกของโลกที่เรียน Keyword ของ Java ครบทั้ง 59 คำ เรียนด้วย Java 17 ใหม่ล่าสุด

เนื้อหาที่ CODESTAR ค่อนข้างยากมาก ต้องอาศัยความเข้าใจแบบละเอียดลึกซึ้ง มาเรียนแล้วเขียน Code ได้ลื่นไหลเหมือนเล่นดนตรี ไม่ต้องมีพื้นฐานอะไรก็มาเรียนได้ เพราะเริ่มต้นเรียนใหม่หมด เป็นทักษะที่ไม่ขึ้นอยู่กับกาลเวลา ทำได้แล้วทำได้ตลอดไป ไม่มีวันลืม ประสบการณ์สอน Java อันดับ 1 ของโลก 4,400 ชั่วโมง สอน Full Stack อีก 3,000 ชั่วโมง ไม่มีสอน Online เปิดสอนทุกเดือน มาเรียนซ้ำได้จนกว่าจะเข้าใจ และได้งานประจำทำเงินเดือนสูงตามที่ต้องการ ถ้ามีคะแนนสอบ TOEFL ตั้งแต่ 100 คะแนนขึ้นไป เงินเดือนเริ่มต้นที่ 50,000 บาท

บางคนสงสัยว่า เนื้อหาเยอะ จะเรียนเข้าใจเหรอ เนื้อหาต้องเยอะอยู่แล้ว เพราะการเรียนที่ CODESTAR เดือนเดียว ต้องมีความรู้เท่ากับคนจบปริญญาตรีที่เรียน 4 ปี ถ้ามีเนื้อหาส่วนไหนที่ยังไม่เข้าใจ หรือตามไม่ทัน ก็สามารถมาเรียนได้ในเดือนถัดไป หรือมาเรียนเดือนไหนก็ได้ที่สะดวก ทำแบบฝึกหัดได้แค่ 5% สมัครงานได้ทุกที่ในเมืองไทย ทำแบบฝึกหัดได้ 30% สมัครงานได้ทุกที่ทั่วโลก

บางคนถามต่ออีกว่า แล้วจะไปเรียนมหาวิทยาลัยทำไมให้เสียเวลา 4 ปี ผมก็สงสัยเหมือนกัน ลองเดินไปถามดูได้ คนเรียนจบปริญญาตรีมา เขียน Sorting ได้ซักอันหรือเปล่า? รู้ข้อแตกต่างระหว่าง Binary Search กับ Binary Search Tree หรือเปล่า? คนรู้ก็มี แต่แค่บางคน ครึ่งนึงยังไม่รู้เรื่อง หลายคนก็ตอบว่า "เคยเรียนมา แต่ลืมแล้ว" ได้ยินแค่นี้ก็ดีใจแล้ว บางคนก็บอก "Sorting ไม่สำคัญ" ก็แล้วแต่จะคิด แต่ Harvard สอนแบบนี้ Harvard สอน Sorting ที่ CODESTAR ก็ต้องสอนตาม

เนื้อหาที่มหาวิทยาลัยสอน แต่ที่ CODESTAR ไม่ได้สอนก็มีเหมือนกัน เช่น Binary Heap หรือ Fenwick Tree ที่ CODESTAR จะใช้ Binary Search Tree และ Segment Tree แทน ใช้ได้เหมือนกัน ประสิทธิภาพ O(log n) เท่ากัน แต่การเขียน Code จะไปแนวทางเดียวกันหมด จะเข้าใจได้ง่ายกว่า นั่นคือ Segment Tree เป็น Binary Search Tree แบบหนึ่ง และทั้งคู่ยังเป็น Binary Tree เหมือนกัน เรียนเข้าใจจำได้ตลอดกาล

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

เนื้อหาทั้งหมดของ CODESTAR และมหาวิทยาลัยชั้นนำอย่าง Harvard, MIT, Stanford, Princeton ไม่มีความลับ หรือเคล็ดลับอะไรทั้งสิ้น เนื้อหาทั้งหมด สามารถหาอ่านได้ตามหนังสือ หรือ Internet ทั่วไป ยิ่งอ่านมาก ก็ยิ่งรู้มาก ยิ่งดีต่อประเทศชาติ ยิ่งดีต่อโลกของเรา อ่านหนังสือจบแล้วอยากสมัครงานก็ส่งใบสมัครงานมาได้ตลอดเวลา ไม่ต้องมีประสบการณ์อะไร มีคะแนนสอบ TOEFL ตั้งแต่ 100 คะแนนขึ้นไป เงินเดือนเริ่มต้นที่ 50,000 บาท

ดูรายละเอียดและสมัครเรียนได้ที่นี่ https://codestar.work/register