Java คือหนึ่งในภาษาแบบ object-oriented ที่พัฒนาโดย Sun Microsystems แต่ในปัจจุบันเป็นของ Oracle ประโยชน์ของ Java นั้นมีมากมาย โดยเฉพาะการสร้าง Web Applications, Software และ Android Apps คุณภาพสูงเพื่อให้บุคคลทั่วไปนำไปใช้งานนั่นแหละครับ
จุดแข็งของ Java นั้นมีมากมายโดยเฉพาะคอนเซปต์ที่เรียกว่า WOVA หรือ Write Once, Run Anywhere หรือว่าโค้ด Java ที่ complied แล้วจะสามารถ run ได้อย่างง่ายดายในแพลตฟอร์มอื่นๆ โดยที่ไม่ต้อง complied ใหม่แต่อย่างใด
Java จึงมีประสิทธิภาพในการสร้างโปรแกรมที่สามารถ run ได้ทั้งใน Browser และ Web Services อื่นๆ ครับ
ดังนั้น Java จึงกลายเป็นหนึ่งใน programming language ที่ได้รับความนิยมมากที่สุดในปัจจุบัน ทั่วโลกมีนักพัฒนา Java ทั่วโลกไม่ต่ำกว่า 9 ล้านคนเลยทีเดียว ตลาดแรงงานเองก็ยังมีความต้องการ Java Developer อยู่เรื่อยๆ แม้ว่าจะไม่หวือหวามาก แต่ก็ก้าวไปอย่างมั่นคงครับ
การเรียนรู้ Java Programming จึงเป็นทางเลือกหนึ่งในน่าสนใจมากในการเข้าสู่สายงานในอุตสาหกรรม IT อย่างไรก็ดีคุณไม่จำเป็นต้องเรียนในมหาวิทยาลัย หรือว่าเดินทางไปอบรมที่สถาบันอีกต่อไป เพราะคุณสามารถเรียนกับคอร์สสอน Java Programming คุณภาพสูงบนโลกออนไลน์นั่นเองครับ
ในโพสนี้ผมจะมาแนะนำคอร์สสอน Java Programming คุณภาพสูงว่ามีคอร์สไหนที่เรียนแล้วนำไปใช้ได้จริงบ้าง เราไปเริ่มต้นกันเลยดีกว่าครับ
ข้อควรทราบ: ราคาและเงื่อนไขต่างๆ ของคอร์สอาจเปลี่ยนไปได้ ดังนั้นโปรดตรวจสอบกับทางเว็บไซต์ผู้ให้บริการอีกครั้งเพื่อความชัดเจนครับ
Udacity
Udacity เป็นแพลตฟอร์มที่ผมมองว่ายอดเยี่ยมที่สุดสำหรับใครที่ต้องการจะเรียนภาษา Java และการพัฒนาโปรแกรมต่างๆ ทั้งนี้ก็เพราะตัวคอร์สจะเป็นลักษณะเจาะลึก เข้มข้น มีทรัพยากรการเรียนระดับท็อป ผู้สอนเองก็จะเป็นผู้เชี่ยวชาญชั้นนำที่มีประสบการณ์ในฐานะ Java Developer หรือ Software Developer มานับสิบปีครับ
นอกจากนี้คุณจะได้รับการช่วยเหลือจากทางสถาบันที่ยอดเยี่ยมไม่ต่างอะไรกับการเรียนการเขียนโปรแกรมหรือ Web Development กับสถาบันระดับโลกเลยครับ โดยคุณจะได้รับการช่วยเหลือทั้งสามด้านนั่นก็คือ
- 24/7 Technical Mentor Support – สอบถามทีม Mentor ได้ตลอด 24 ชั่วโมงไม่ว่าจะมีคำถามเรื่องอะไรก็ตามเกี่ยวกับบทเรียน ซึ่งโดยเฉลี่ยแล้วทีมงานจะตอบกลับมาเร็วมากๆ โดยใช้เวลาไม่ถึง 1 ชั่วโมงเลยครับ
- Project Reviews – คุณสามารถขอให้ทีมผู้เชี่ยวชาญรีวิว ให้ feedback กับ Project ที่คุณทำในคอร์สได้ไม่จำกัดครั้ง ซึ่งเป็นประโยชน์มากๆ ต่อผู้เรียนหน้าใหม่ที่ไม่มีพื้นฐานภาษา Java มาก่อนเลยครับ นอกจากนี้พวกเขายังจะแนะนำเคล็ดลับดีๆ ตลอดจน Best Practices ที่คุณควรจะทราบอีกด้วย
- Career Services – Udacity จะตรวจสอบ Resume, Cover Letter, Github Portfolio รวมไปถึง LinkedIn ของคุณให้อย่างละเอียด เพื่อทำให้คุณเป็น Candidate ลำดับต้นๆ ในการสมัครงาน
ทั้งสามการช่วยเหลือนี้จะช่วยให้การเรียน Java ของคุณสมบูรณ์ คุณไม่ต้องพะวงว่าจะติดขัดตรงไหน หรือทำ Project ออกมาดีพอที่จะใส่ใน Portfolio หรือเปล่า เพราะผู้เชี่ยวชาญจะคอยช่วยเหลือคุณอยู่ทุกขั้นตอนครับ
เราไปดูกันดีกว่าครับ คอร์สเรียน Java ของ Udacity มีคอร์สไหนน่าเรียนบ้าง
1. Become a Java Programmer
คอร์สแรกของ Udacity ที่จะสอนบุคคลทั่วไปให้ใช้งานภาษา Java ได้อย่างเป็นระบบและเชี่ยวชาญเหมือนกับ Programmer ทั้งนี้คุณไม่จำเป็นต้องเคยใช้ Java มาก่อน แต่ควรจะมีพื้นฐานการเขียนโปรแกรมมาบ้าง อย่างเช่นเข้าใจเรื่อง Variables, Conditionals, Loops เป็นต้น
ภายในคอร์สจะแบ่งออกเป็น 3 ส่วนหลักๆได้แก่
1. Java Fundamentals – พาร์ทแรกจะแนะนำคอนเซปต์พื้นฐานของภาษา Java อย่าง Java Types, Collections และ Exceptions ต่อมาคุณจะได้เรียนในส่วนของ Object-Oriented Programming และคอนเซปต์ที่เกี่ยวข้องอย่าง Classes, Inheritance, Encapsulation และอื่นๆ อีกมากมาย ซึ่งจะช่วยให้คุณเขียน Reusable code ที่นำไปใช้พัฒนาโปรแกรมต่อไปครับ
2. Advanced Java Programming Techniques – สำหรับพาร์ทสอง คุณจะได้เรียนทักษะการเขียนโปรแกรมโดยใช้ภาษา Java ที่สูงขึ้น คุณจะได้เรียนเนื้อหาเกี่ยวกับ Functional Programming, I/O, Serialization และ Reflection
ถัดมาคุณจะได้เข้าใจถึงหลักการการออกแบบซอฟต์แวร์ที่ดีที่จะทำให้ระบบของคุณเข้าใจง่าย และสเกลให้ใหญ่ขึ้นได้อย่างง่ายดาย นอกจากนี้คุณจะได้เรียนหลักการของ Concurrent Programming เพื่อที่โปรแกรมของคุณจะได้ใช้ประโยชน์จาก Hardware ที่ทันสมัยขึ้นอีกด้วย
3. Java Application Deployment – พาร์ทสุดท้ายจะเป็นการแนะนำในส่วนของ Java Ecosystem ที่จำเป็นต้องการพัฒนาซอฟต์แวร์ขั้นตอนสุดท้ายอย่าง Deployment ยกตัวอย่างเช่นคุณจะได้ใช้ Maven ในการ automate และปรับแต่งในส่วนของ Build Process หรือใช้เครื่องมือของ JUnit5 ในการเขียน Unit Tests และประเมินประสิทธิผลของ Code ฯลฯ
คอร์สเรียนของ Udacity นั้นจะมีโปรเจคหลายตัวที่คุณจะได้ฝึกทักษะของคุณในรูปแบบต่างๆที่นำไปใช้ในชีวิตจริงได้ อย่างในคอร์สนี้ คุณจะได้สร้างแอพจองโรงแรม, สร้าง Unit Test Suite ฯลฯ และยังมีทรัพยากรการเรียนอื่นๆ อีกมากมาย เช่นแบบฝึกหัดการฝึก Coding ที่ช่วยให้คุณฝึกทักษะครับ
ทั้งนี้การเรียนกับ Udacity จะออกแนวเข้มข้น ดังนั้นทางสถาบันจึงแนะนำให้คุณใช้เวลากับคอร์ส 10 ชั่วโมงต่อสัปดาห์เป็นเวลา 3 เดือน (แต่จะเรียนเร็วหรือช้ากว่านั้นก็ได้ไม่มีใครว่า) ซึ่งถือว่ามาก ถ้าเทียบกับคอร์สออนไลน์ทั่วไปครับ
สำหรับค่าเรียนจะอยู่ที่ $399 หรือประมาณ 11,970 บาทต่อเดือน ถ้าจ่าย 3 เดือนในคราวเดียวจะเหลือ $339 หรือประมาณ 10,170 บาทต่อเดือน
อย่างไรก็ดี Udacity มีส่วนลดบ่อย และลด 50%-75% และมี Financial Support (เท่ากับส่วนลด 75% แต่ต้องลงทะเบียน account ฟรีก่อน) ให้ด้วย ทำให้ถ้าคุณสมัครในช่วงนั้น ค่าเรียนอาจจะเหลือแค่เดือนละ $100 หรือประมาณ 3,000 บาทเท่านั้นเอง สมมติถ้าคุณมีเวลา และเรียนเร็ว คุณสามารถเรียนจบได้ไวใน 2 เดือน ค่าเรียนจะเหลือแค่ประมาณ 6,000 บาทเองครับ ซึ่งถือว่าถูกมากเลยทีเดียวกับคอร์สชั้นเยี่ยมและได้รับการช่วยเหลือขนาดนี้
2. Become a Java Web Developer
คอร์สนี้จะเป็นคอร์สที่จัดว่าเป็นระดับสูงขึ้นมาถ้าเทียบกับคอร์สแรก โดยจะเน้นไปที่การพัฒนาโปรแกรมระดับ Enterprise (ฝั่ง Back-end) โดยใช้ Java ซึ่งแน่นอนว่าเป็นทักษะที่ต้องการอย่างสูงในบริษัทเทคโนโลยีใหญ่ๆ ถ้าใครมีความฝันจะเป็นสุดยอดของนักพัฒนา Java ผมมองว่าคอร์สนี้คือตัวเลือกที่น่าสนใจมากครับ
สำหรับการเรียนคอร์สนี้ คุณจะต้องมีทักษะการใช้ Java ได้เป็นอย่างดี่ในระดับ Intermediate ขึ้นไป และถ้ามีทักษะในส่วนของ Web Development หรือว่า SQL มาบ้างก็จะยิ่งดีครับ ซึ่งแน่นอนว่ามือใหม่เอี่ยมจะไม่เหมาะอย่างแน่นอน
ตัวคอร์สจะแบ่งเป็น 4 ส่วนได้แก่
1. Spring Boot Basics – แนะนำพื้นฐานของการใช้งาน Spring ฺBoot Framework รวมไปถึง Integrations และ Plugins ที่เกี่ยวข้อง
2. Web Services and APIs – สำหรับพาร์ทนี้จะอธิบายถึงความแตกต่างระหว่าง Web Services, API และ Microservices หลังจากนั้นคุณจะได้ลองพัฒนา REST และ GraphQL API รวมไปถึงวิธีการรักษาความปลอดภัย, ตรวจสอบ และใช้งาน API เหล่านี้
3. Data Stores & Persistence – ในพาร์ทนี้คุณจะได้ใช้ JPA (Java Persistence API) และ SQL ในการสร้าง App ที่ใช้กระบวนการ read/write ไปยัง Relational Databases นอกจากนี้คุณยังจะได้เรียนรู้วิธีทำให้ Persistence Layer ของคุณง่ายต่อการตรวจสอบ ฯลฯ
4. Security and DevOps – พาร์ทสุดท้ายคุณจะได้เรียนเกี่ยวกับ Git, Version Control และ Best Practices ในส่วนของ Authentication และ Authorization และท้ายที่สุด คุณจะได้ใช้ Jenkins ในการสร้าง CI/CD Pipeline ในการ deploy code ของคุณ
เช่นเดียวกับคอร์สที่แล้ว นั่นคือคอร์สนี้จะอัดแน่นไปด้วย Project เช่นเคย คุณจะได้ลองสร้าง Personal Storage Application และ Test ส่วนต่างๆ โดยใช้ Selenium, ระบบหลังบ้าน (Backend-System) ของเว็บไซต์ขายรถยนต์, ออกแบบ Data Model สำหรับซอฟต์แวร์ SaaS ฯลฯ ซึ่งคุณสามารถนำไปใส่ใน Portfolio ของคุณได้อย่างแน่นอน
ในการเรียน คุณควรจะใช้เวลาเรียน 5-10 ชั่วโมงต่อสัปดาห์เป็นเวลานาน 4 เดือนด้วยกัน ซึ่งจะช่วยยกระดับทักษะของคุณให้พร้อมสรรพสำหรับการเป็น Java Developer ครับ
สำหรับค่าเรียนจะเท่ากับคอร์สที่แล้ว นั่นคือ $399 หรือประมาณ 11,970 บาทต่อเดือน แต่ถ้าเหมาซื้อ 4 เดือนจะเหลือ $339 หรือประมาณ 10,170 บาท ซึ่งคอร์สนี้ก็จะมีส่วนลดดีๆ เช่นกัน ทำให้คุณได้คอร์สไปในราคาลด 50%-75% ครับ
Udemy
Udemy เป็นแพลตฟอร์มเรียนออนไลน์ที่หลายคนน่าจะรู้จักกันดีอยู่แล้ว ถ้ามีคำถามเกี่ยวกับแพลตฟอร์มนี้ อ่านได้ที่แพลตฟอร์มเรียนออนไลน์น่าเรียนครับ
การซื้อคอร์สกับ Udemy ควรซื้อในช่วงลดราคาเท่านั้น เพราะการลดราคาจะทำให้ราคาคอร์สลดไปถึง 90% จนเหลือแค่ไม่กี่ร้อยบาท ถ้าคุณเปิดลิงค์จากปุ่ม “สมัคร” เข้าไปแล้ว คอร์สอยู่ที่ราคาเต็ม ผมแนะนำให้รอ 2-5 วัน เพราะการลดราคามีแทบทุกสัปดาห์ครับ
การที่คอร์สลดราคามากเช่นนี้ ทำให้คุณสามารถเรียน Java Programming จากผู้สอนเก่งๆ ได้ในราคาที่ถูกมาก และน่าจะถูกที่สุดในโลกออนไลน์เลยก็ได้ครับ
เราไปดูกันดีกว่าครับ คอร์สสอน Java Programming ที่น่าสนใจบน Udemy มีคอร์สไหนบ้าง
3. Java Programming Masterclass for Software Developers
คอร์สนี้เป็นคอร์สสอน Java Programming ของ Tim Buchalka นักพัฒนาซอฟต์แวร์ที่มีประสบการณ์มากถึง 35 ปีด้วยกัน และมีประสบการณ์เคยทำงานในบริษัทใหญ่ๆ มาแล้วมากมาย เขาจะมาถ่ายทอดวิธีการเขียนโปรแกรมโดยใช้ Java ตั้งแต่เริ่มต้นให้กับทุกคนที่สนใจอยากเปิดโอกาสทางอาชีพในฐานะ Java Developer ครับ
ภายในคอร์สคุณจะได้เรียนเนื้อหาต่อไปนี้
- Set Up JDK 11
- สอน Java Programming เบื้องต้น อาทิเช่น Variables, Primitive Types, Expressions, Operators
- Java Tutorial – เรียนรู้เพิ่มเติมเกี่ยวกับ Expressions, Statements, Code Blocks, Methods ฯลฯ
- Object-Oriented Programming – เข้าใจ concept ของ Classes, Constructors, Inheritance, Composition, Encapsulation และ Polymorphism
- เจาะลึก Arrays, Autoboxing, Unboxing
- เรียนรู้เกี่ยวกับ Inner Classes และ Abstract Classes
- Naming Conventions, Packages, Scope
- Java FX และ Java Collections
- Input & Output
- Concurrency in Java
- Lambda Expressions/Regular Expressions
- Debugging in Java/Unit Testing
- Networking Programming
- Java 9
- และอื่นๆ อีกมากมาย
โครงสร้างของคอร์สนี้ถือว่าทำได้ดีเยี่ยม คุณจะได้เรียนเนื้อหาจากครูผู้สอนจากง่ายไปหายากในแต่ละหมวด เมื่อใกล้จะจบหมวด คุณจะได้ทำ coding challenge จำนวนมากมายเพื่อที่จะช่วยให้คุณไม่หลงลืมสิ่งที่เรียนไป
เมื่อคุณเรียนจบ คุณจะมีศักยภาพเพียงพอที่จะสร้าง apps ระดับสูงที่ใช้ Java ได้เลยครับ และยังได้ความรู้เพียงพอที่จะสอบผ่าน Oracle Java Certificate Exam อีกด้วย
ในการสอนคอร์สนี้ ผู้สอนจะสอน Java Programming อย่างช้าๆ ไม่รีบไม่ร้อน ถ้าคุณต้องการความละเอียดของเนื้อหา คอร์สนี้น่าจะละเอียดที่สุดแล้วใน Udemy อย่างที่เรียกว่ายากที่จะหาคอร์สใดๆ บนโลกออนไลน์มาเทียบได้เลยทีเดียว เพราะมีเนื้อหาแบบวีดิโอให้เรียนมากถึง 80 ชั่วโมงนั่นเอง
คอร์สนี้เป็นคอร์สสอน Java Programming ที่ขายดีที่สุดบน Udemy ในปัจจุบันมีนักเรียนมากกว่า 500,000 คนที่ได้ซื้อคอร์สนี้ไปเรียนแล้ว และได้คะแนนรีวิวสูงมากถึง 4.6/5.0 ด้วยกันครับ
4. Java in-Depth: Become a Complete Java Engineer
คอร์สนี้เป็นอีกคอร์สสอน Java Programming ที่น่าสนใจไม่แพ้คอร์สแรก ตัวคอร์สสอนโดย Dheeru Mundluru ผู้มีประสบการณ์ในฐานะ Software Engineer มานานกว่า 15 ปีในการพัฒนาซอฟต์แวร์ต่างๆ ให้กับสตาร์ทอัพใน Silicon Valley
ในปัจจุบันเขาเป็นผู้บริหารตำแหน่ง CTO ของบริษัท Semantic Square สตาร์ทอัพสาย Edtech ครับ
ภายในคอร์สนี้คุณจะได้เรียนฟีเจอร์ระดับเบื้องต้นไปจนถึงระดับสูงของ Java รวมไปถึง Java Internals อาทิเช่น
- พื้นฐานเบื้องต้นของ Java Programming + การ Install โปรแกรมที่ต้องใช้ในการเรียน
- Class & Objects – เรียนรู้เกี่ยวกับ Variables, Arrays, Methods, Constructors ฯลฯ
- Operators & Control-flow Statements
- Java API, Packages, Strings
- Static, Final, Coding Conventions
- Object-Oriented Programming – เรียน concept ของ Inheritance และ Polymorphism รวมไปถึง Abstract Classes และ Interfaces การเรียนจะเรียนรู้จาก case-study หรือตัวอย่างที่ใช้จริงๆ ในปัจจุบันครับ
- การเขียนโปรแกรมโดยใช้ Eclipse IDE
- JVM Internals
- Input & Output
- Generics/Nested Classes/Enums/Concurrency
- Java EE (Java Platform, Enterprise Edition)
- และอื่นๆ อีกมากมาย
จุดแข็งของคอร์สนี้คือเต็มไปด้วย Demo ที่คุณสามารถลองนำไปใช้เพื่อให้เข้าใจถึงสิ่งที่กำลังเรียนได้ นอกจากนี้คุณจะยังได้ทำ Project ต่างๆ ที่น่าสนใจอยู่หลายชิ้นด้วย และช่วยให้ตลอด 66.5 ชั่วโมงของเนื้อหานั้นไม่เบื่อหน่ายครับ สำหรับ coding exercise ก็มีอีก 15 ชุดให้คุณไปลองทำครับ
โดยรวมแล้วคอร์สนี้จะสอนวิธีการสร้าง Software คุณภาพสูงโดยใช้ Java โดยจะเน้นหนักไปที่ Design Principles ที่ดีครับ นอกจากนี้ถ้าคุณสนใจ คุณยังสามารถใช้ความรู้ในคอร์สในการเตรียมการสอบ Java SE 8 Programmer ของ Oracle อีกด้วย
อย่างไรก็ดีทางผู้สอนก็แจ้งว่าคอร์สนี้สอน Java Programming ให้กับบุคคลทุกระดับไม่ว่าจะเป็นผู้สนใจทั่วไปที่ไม่เคยเรียน Java Programming มาก่อนเลย นักศึกษาที่กำลังประสบปัญหากับ Java หรือแม้กระทั่งโปรแกรมเมอร์ที่อยากจะเรียน Java เพิ่มเติมอีกภาษาหนึ่งครับ
ในส่วนของคะแนนรีวิว คอร์สนี้ได้ไป 4.4/5.0 จากนักเรียนมากกว่า 50,000 คนครับ
5. Java Programming for Complete Beginners
คอร์สสอน Java Programming ที่จัดทำโดย In28Minutes สถาบันที่ผลิตคอร์สคุณภาพมากมายใน Udemy นอกเหนือจาก Java แล้วยังมี Java Frameworks, DevOps, Cloud Computing, Full Stack Developer (เน้น React และ Angular) และอื่นๆ อีกมากมายครับ
โครงสร้างคอร์สนี้จะต่างจากคอร์สอื่นมากพอสมควร เพราะว่าคุณจะได้เริ่มเรียน Java โดยใช้ JShell ซึ่งจะทำให้การเรียนสะดวกสบายขึ้นครับ ในส่วนของเนื้อหาจะประกอบด้วย
- แนะนำ Java Programming และ Install Program ที่ต้องใช้งาน
- Java Programming ใน Jshell (Expression, Printing Output, Variables, Assignment Operator, Conditionals, If Statement, For Loop)
- Java Method
- แนะนำ Java Platform และ Eclipse
- Object-Oriented Programming (รวม Concept อย่าง Abstraction, Inheritance, Encapsulation, Polymorphism)
- เจาะลึก Primitive Data Types ใน Java Programming
- เจาะลึก Conditionals, Loops, Reference Types, Arrays
- Collections/Generics in Java Programming
- Concurrency, Files and Directories, Functional Programming
- และอื่นๆ อีกมากมาย
เนื้อหาแบบวีดิโอแบบคอร์สนี้รวมแล้วทั้ง 26 ชั่วโมง โดยมีตัวอย่างเพื่อเสริมความเข้าใจให้คุณกว่า 200 แบบด้วยกัน ตลอดจน Troubleshooting Guide ที่คอยช่วยเหลือคุณเวลาเกิดปัญหาในการเขียนโปรแกรมครับ
ในเรื่องของเนื้อหาอาจจะไม่ละเอียดเท่ากับสองคอร์สแรก แต่ก็ได้ความกระชับเข้ามาแทนครับ ทั้งนี้คุณไม่จำเป็นต้องมีความรู้ใดๆ มาก่อนก็สามารถเรียนได้อย่างสบายๆ
คอร์สนี้มีนักเรียนมากกว่า 82,000 คน และได้คะแนนรีวิว 4.4/5.0 ครับ
Coursera
Coursera เป็นแพลตฟอร์มที่น่าสนใจสำหรับใครที่อยากคอร์สชั้นนำจากมหาวิทยาลัยระดับโลก การเรียนอาจจะเน้นไปที่ภาคทฤษฎีมากกว่าคอร์สของ Udemy และ Udacity แต่ก็เป็นทางเลือกที่หลายคนชื่นชอบครับ
จุดเด่นของสองแพลตฟอร์มนี้คือเรียนได้ฟรีตลอดคอร์สโดยไม่คิดเงิน แต่ถ้าต้องการได้รับ feedback และประกาศนียบัตร คุณจะต้องเสียเงินซื้อคอร์สเต็มครับ
6. Java Programming and Software Engineering Fundamentals
หลักสูตรสอน Java Programming ของมหาวิทยาลัยชื่อดังอย่างแห่งประเทศสหรัฐอเมริกา Duke University คอร์สนี้จะช่วยปูพื้นฐานของคุณในการใช้ภาษา Java รวมไปถึงวิศวกรรมซอฟต์แวร์เบื้องต้นอีกด้วย
หลักสูตรนี้ประกอบด้วย 5 คอร์สได้แก่
- Programming Foundations with Javascript, HTML and CSS – ปูพื้นฐาน Web Development เบื้องต้นด้วยคอร์สสอน Javascript, HTML และ CSS ก่อนที่จะไปสู่ Java คุณจะได้เรียนรู้วิธีการคิดและแก้ปัญหาให้เหมือนกับโปรแกรมเมอร์ครับ
- Java Programming: Solving Problems with Software – เริ่มต้นการเรียนภาษา Java เบื้องต้น อาทิเช่น Conditionals และ Loops คุณจะได้ลองพัฒนาและออกแบบ Algorithm และสร้างโปรแกรมเป็นของคุณเอง ภายในคอร์สจะมีการทำ Project มากมายที่จะช่วยสอนและพัฒนาทักษะ Java Programming ของคุณครับ
- Java Programming: Arrays, Lists and Structured Data – เรียนรู้ Data Structures ตัวใหม่ และนำไปใช้สร้างโปรแกรมที่ซับซ้อนขึ้นโดยใช้ Object-Oriented Programming ตลอดจนการเก็บและจัดการข้อมูลใน Array หรือ Array List ในคอร์สนี้คุณจะได้ทำโปรเจคเกี่ยวกับ Encryption ครับ
- Java Programming: Principles of Software Design – เรียนวิธีการสร้างและดีไซน์ซอฟต์แวร์โดยใช้ Java Programming เพื่อจัดการปัญหาต่างๆ ที่เกิดขึ้นจริง
- Capstone – ใช้ความรู้ทั้งหมดจากคอร์สที่ 1-4 มาสร้าง Recommendation Engine ที่บริษัทชั้นนำอย่าง Netflix และ Amazon ใช้งาน
คอร์สนี้จะสอน Java Programming ผ่านการโปรเจคมากมาย คุณจะได้เรียนรู้วิธีการประยุกต์ใช้ Java ในการออกแบบและสร้างซอฟต์แวร์ที่ใช้จัดการปัญหาต่างๆ ได้จริง ทำให้เป็นตัวเลือกที่น่าสนใจมากถ้าคุณต้องการเรียน Java เพื่อเป็นนักพัฒนาซอฟต์แวร์หรือว่าสร้างซอฟต์แวร์ของคุณเองครับ
มหาวิทยาลัยแจ้งว่าในการเรียนคอร์สนี้จะใช้เวลาเรียนประมาณ 5 เดือน ถ้าคุณเรียนสัปดาห์ละ 4 ชั่วโมง แน่นอนว่าคุณสามารถกำหนดเวลาเรียนเร็วช้าได้ตามความต้องการของคุณ อย่างไรก็ดีผมไม่แนะนำให้ดอง เพราะคุณจะต้องจ่ายค่าเรียนเดือนละ $49 หรือประมาณ 1,470 บาท ถ้าคุณเรียนจบเร็ว ค่าเรียนก็จะถูกลงครับ
7. Object Oriented Java Programming: Data Structures and Beyond Specialization
หลักสูตรสอน Java Programming ที่จัดทำโดย UC San Diego มหาวิทยาลัยชั้นนำของรัฐแคลิฟอร์เนีย ประเทศสหรัฐอเมริกา ทั้งนี้หลักสูตรนี้ไม่ได้อยู่ในระดับเบื้องต้น คุณต้องมีความรู้พื้นฐานในการใช้ Java ก่อนที่จะเรียนคอร์สนี้ครับ
แก่นของหลักสูตรนี้จะเป็นการเจาะลึก OOP เพื่อให้คุณใช้งาน Java ได้อย่างเต็มประสิทธิภาพ รวมไปถึงช่วยพัฒนาทักษะคุณในส่วนของ Software Engineering อีกด้วยครับ
คอร์สย่อยในหลักสูตรนี้มี 5 คอร์สประกอบด้วย
- Object Oriented Programming in Java – แนะนำพื้นฐานของ OOP, การใช้ libraries, สร้าง graphical UI, การใช้ core algorithm ในการจัดการข้อมูล คุณจะได้ทำโปรเจคมากมายโดยใช้ Java ครับ
- Data Structures and Performance – เรียนรู้การใช้งานและวิเคราะห์ Data Structures ในระดับสูงที่ใช้ในบริษัททั่วไป คุณจะได้เข้าใจว่า Data Structures เหล่านี้ช่วยให้โปรแกรมทำงานอย่างมีประสิทธิภาพและมีความยืดหยุ่นเพิ่มขึ้นอย่างไร ฯลฯ
- Advanced Data Structures in Java – เจาะลึก Data Structures ไม่ว่าจะเป็นการเขียน code ที่มีประสิทธิภาพ และนำความรู้ดังกล่าวไปสร้าง application ต่างๆ
- Mastering the Software Engineering Interview – คอร์สเสริมสำหรับใครที่อยากจะทำงานเป็น Java Developer โดยจะช่วยเหลือในเรื่องของการสัมภาษณ์งานในสายงานที่เกี่ยวข้อง
- Capstone – นำความรู้จากคอร์ส 1-3 มาทำโปรเจคแบบบูรณาการ คุณจะได้ลองวิเคราะห์ social network ครับ
โดยรวมแล้วคอร์สนี้เป็นคอร์สสอน Java Programming ที่ต่อยอดจากคอร์สอื่นๆ ที่น่าสนใจ เพราะเน้นไปที่การทำโปรเจคโดยใช้ OOP ที่ซับซ้อนมากยิ่งขึ้น สำหรับคอร์สนี้จะใช้เวลา 7 เดือนในการเรียนให้จบ (ถ้าคุณใช้เวลาเรียน 5 ชั่วโมงต่อสัปดาห์ครับ)
ในส่วนของค่าเรียนจะอยู่ที่ $49 หรือประมาณ 1,470 บาทต่อเดือนครับ
ถ้าสนใจจะเรียนคอร์สใน Coursera มากกว่า 1 คอร์ส หรือว่าคิดว่าจะใช้เวลาเรียนคอร์สใดคอร์สหนึ่งเป็นปี ผมแนะนำให้สมัคร Coursera Plus ครับ เพราะคุ้มค่ามากกว่าการสมัครสมาชิกรายเดือนมากเลยทีเดียว และยังได้เวลาในการเรียนมากขึ้นด้วยครับ
Codecademy
Codecademy เป็นตัวเลือกที่น่าสนใจสำหรับใครที่อยากจะเรียนการเขียนโปรแกรมแบบเน้นการลงมือทำ และไม่อยากจะเรียนผ่านวีดิโอให้ปวดหัวครับ ตัวแพลตฟอร์มจะใช้ระบบ Interactive ซึ่งผมมองว่าสนุกกว่าการเรียนกับวีดิโอครับ ถ้าใครเคยเรียน Data Science กับ Datacamp มาแล้ว ผมบอกเลยว่าคล้ายกันครับ
เราไปดูกันดีกว่าคอร์สเรียนภาษา Java ของ Codecademy มีอะไรบ้าง
8. เรียนการเขียนโปรแกรมโดยใช้ Java กับ Codecademy
คอร์สการเขียนโปรแกรมโดยใช้ภาษา Java ของ Codecademy มีหลากหลาย และจะเริ่มต้นเรียนตั้งแต่ระดับเบื้องต้นเลยครับ ดังนั้นผู้เรียนไม่ต้องมีพื้นฐานใดๆ มาก่อนทั้งสิ้น คอร์สที่น่าสนใจได้แก่
- Learn Java
- Build Basic Android Apps with Java (ทดลองสร้าง Android App โดยใช้ภาษา Java)
- Java for Programmers (ภาษา Java สำหรับใครที่มีพื้นฐานอยู่แล้ว)
- Technical Interview with Java (ฝึกการสัมภาษณ์งานสำหรับนักพัฒนา Java)
- และอื่นๆ อีกมากมาย
สำหรับค่าเรียนจะเริ่มต้นที่ $15.99 หรือประมาณ 480 บาทต่อเดือน ซึ่งนอกจากภาษา Java แล้ว คุณจะเรียนภาษาอื่นๆ ได้ด้วยอาทิเช่น Python หรือ JavaScript ครับ รวมไปถึงทำโปรเจคต่างๆ อีกมากมายเลยทีเดียว
ทั้งนี้ Codecademy ให้คุณเรียนคอร์สแรกอย่าง Learn Java ได้ฟรี ไปลองเรียนกันเลยดีกว่าครับ
Edureka
Edureka เป็นแพลตฟอร์มที่น่าสนใจสำหรับใครที่อยากเรียน Java Programming แบบสอนสดจากผู้เชี่ยวชาญ ซึ่งจะให้ประสบการณ์ที่ต่างออกไปจากคอร์สรูปแบบอื่นๆ ครับ
9. Java, J2EE & SOA Certification Training
คอร์สนี้เป็นคอร์สสอนภาษา Java แบบ Live Class ของ Edureka โดยจะครอบคลุมเนื้อหาตั้งแต่ Core Java ไปจนถึง J2EE (Jakarta EE) และ Java Frameworks ที่นิยมใช้กันอย่างเช่น SOA, Spring และ Hibernate ครับ
เนื้อหาในคอร์สจะมีทั้งหมด 42 ชั่วโมง และจะประกอบด้วย
- Introduction to Java – เรียนรู้โครงสร้างของ Java, ประโยชน์การใช้งาน Java รวมไปถึงเนื้อหาเบื้องต้นอย่าง Data Types, Operations, Conditions และ Loops
- Data Handling and Functions – เรียนรู้วิธีการเขียนโค้ดด้วยการใช้ Arrays, Functions และ Strings ใน Java
- OOP in Java – เข้าใจพื้นฐานของ Object-Oriented Programming ใน Java โดยใช้ Classes, Objects ฯลฯ
- Packages and Multi Threading – เรียนเกี่ยวกับ packages ใน Java และ scope specifiers ของ Java และวิธีการทำงานของ Multi Threading
- Java Collections – เรียนการเขียน Java Code โดยใช้ Wrapper Classes, Inner Classes และ Applet
- XML, JSBC, Servlets, JSP
- เรียนรู้การใช้งาน Framework ทั้ง 3 ของ Java นั่นคือ Hiberate, Spring, SOA
- ปิดท้ายด้วยโปรเจคหลักที่เกี่ยวข้องกับการธนาคาร คุณจะได้ออกแบบโปรแกรมที่สามารถทำ transactions ต่างๆ ได้ครับ
โดยรวมแล้วตัวคอร์สถือว่าสมบูรณ์มากในระดับหนึ่ง อย่างไรก็ดีหลายคนที่เคยเรียนมีปัญหากับภาษาอังกฤษสำเนียงอินเดียของครูบางคน ผมจึงแนะนำให้คุณทดลองเรียนก่อนจากคลิปด้านล่าง ถ้าไม่มีปัญหาอะไรถึงจะค่อยสมัครครับ
ในส่วนของราคาจะอยู่ที่ $499 หรือประมาณ 14,970 บาทต่อคอร์ส หลังจากซื้อไปแล้ว ถ้าเกิดไม่พอใจในตัวคอร์สขึ้นมา คุณมีเวลาเพียง 3 วันเท่านั้นในการขอคืนคอร์ส เพราะฉะนั้นถ้าเรียนแล้วไม่ชอบ อย่ารีรอครับ
เลือกคอร์สสอน Java Programming ไหนดี?
ในส่วนนี้ผมมองว่าขึ้นอยู่กับความต้องการของแต่ละคนครับ แต่ถ้าให้เลือกคอร์สที่ผมมองว่าคุ้มค่าและช่วยพัฒนาทักษะ Java Programming ได้ดีที่สุดคงเป็นคอร์สของ Udacity แม้ว่าจะราคาสูงที่สุดก็ตาม เพราะการช่วยเหลือที่ยอดเยี่ยมนั้นสามารถทำให้คุณพัฒนาไปได้มากกว่าจริงๆ ครับ
อย่างไรก็ดีตัวเลือกอื่นก็ถือว่าดีไม่น้อย ไม่ว่าจะเป็น Udemy ที่เป็นราคาประหยัดมากๆ หรือว่า Coursera ที่ให้ประสบการณ์แบบเรียนในมหาวิทยาลัย หรือ Codecademy ที่เรียนแบบ Interactive Learning และ Edureka ที่เรียนแบบสอนสดครับ