JavaScript Algorithms and Data Structures

JavaScript icon

ในขณะที่ภาษา HTML และ CSS ควบคุมส่วนเนื้อหาและการจัดรูปแบบหน้าเว็บ แต่ JavaScript นั้นจะถูกใช้เพื่อทำให้เว็บไซต์สามารถโต้ตอบกับผู้ใช้ได้ ในคอร์ส JavaScript Algorithm and Data Structures Certification นี้คุณจะได้เรียนรู้พื้นฐานของภาษา JavaScript รวมถึงตัวแปร อาร์เรย์ อ็อบเจ็กต์ ลูป และฟังก์ชันด้วย .

ถ้าคุณมีพื้นฐานอยู่แล้ว คุณสามารถนำความรู้นั้นไปใช้ได้เลย โดยอาจจะสร้างอัลกอริธึมเพื่อจัดการกับสตริง แยกตัวประกอบตัวเลข และแม้แต่คำนวณวงโคจรของสถานีอวกาศนานาชาติ

ในระหว่างการเรียนนี้ คุณจะได้เรียนรู้รูปแบบการเขียนโปรแกรมหรือตัวอย่างที่สำคัญ อยู่สองรูปแบบคือ: Object Oriented Programming (OOP) และ Functional Programming (FP)

โน้ต : การใช้เบราเซอร์เอ็กซ์เทนชันต่างๆ เช่น บล็อคโฆษณา, การใช้งานดาร์กโหมด อาจจะไปติดขัดในช่วงการทดสอบบ้างอย่าง ถ้าคุณเจอปัญหาเหล่านี้ พวกเราแนะนำให้คุณปิดการใช้งานเบราเซอร์เอ็กซ์เทนชันต่างๆ ขณะที่ทำการเรียนอยู่

Courses

JavaScript เป็นภาษาโปรแกรมที่สามารถใช้เพื่อทำให้หน้าเว็บโต้ตอบกลับผู้ใช้ได้ ซึ่งเป็นหนึ่งในเทคโนโลยีหลักของเว็บ พร้อมด้วย HTML และ CSS และเป็นที่นิยมของเบราว์เซอร์สมัยใหม่ทั้งหมด

ในหลักสูตรนี้ คุณจะได้เรียนรู้แนวคิดการเขียนโปรแกรมพื้นฐานใน JavaScript เริ่มต้นด้วยโครงสร้างข้อมูลพื้นฐาน เช่น ตัวเลขและสตริง หลังจากนั้น คุณจะได้เรียนรู้การทำงานกับอาร์เรย์ อ็อปเจ็กต์ ฟังก์ชัน ลูป คำสั่ง if/else และ อื่นๆ.

ECMAScript หรือ ES คือเวอร์ชั่นมาตรฐานของภาษา JavaScript เนื่องจากเบราว์เซอร์หลักทั้งหลายเป็นไปตามข้อกำหนดของ ECMAScript และ JavaScript จึงทำให้สามารถใช้แทนกันได้

ในภาษา JavaScript ส่วนใหญ่ที่คุณได้เรียนรู้มาจนถึงตอนนี้จะเขียนอยู่ใน ES5 (ECMAScript 5) ซึ่งปรับปรุงล่าสุดในปี 2552 ในขณะที่คุณยังคงเขียนโปรแกรมใน ES5 ได้ แต่ JavaScript มีการพัฒนาอย่างต่อเนื่องและมีการเปิดตัวคุณสมบัติใหม่ทุกปี

ES6 ที่เปิดตัวในปี 2015 ได้เพิ่มคุณสมบัติใหม่ๆ ที่มีประสิทธิภาพให้มากขึ้น ในหลักสูตรนี้ คุณจะได้เรียนรู้คุณลักษณะใหม่เหล่านี้ รวมถึง let และ const ฟังก์ชันลูกศร คลาส(classes) โพรมมิส(promises) และโมดูล

นิพจน์ทั่วไป (Regular expression) มักจะย่อเป็น "regex" หรือ "regexp" ซึ่งเป็นรูปแบบที่ช่วยให้โปรแกรมเมอร์จับคู่ ค้นหา หรือแทนที่ข้อความได้ นิพจน์ทั่วไปนั้นมีประสิทธิภาพมาก แต่อาจจะอ่านค่อนข้างยาก เนื่องจากมีการใช้อักขระพิเศษ มีการสร้างแมตช์ที่ซับซ้อนและมีความยืดหยุ่นมาก

ในหลักสูตรนี้ คุณจะได้เรียนรู้วิธีใช้อักขระพิเศษ, แคปเจอร์กรุ๊ป (Capture groups), Positive lookaheads, Negative lookaheads และเทคนิคอื่นๆ เพื่อจับคู่ข้อความตามที่คุณต้องการ

ดีบัก (Debugging) เป็นขั้นตอนในระหว่างการเขียนโค้ด ขณะที่พบปัญหา คุณต้องทำการแก้ไขปัญหานั้น

ปัญหาในโค้ดโดยทั่วไปมีอยู่สามรูปแบบ: 1. ข้อผิดพลาดทางซินแทกซ์ (Syntax errors) ที่ป้องกันไม่ให้โปรแกรมของคุณทำงาน 2. ข้อผิดพลาดทางรันไทม์ (Runtime errors) ที่โค้ดของคุณมีพฤติกรรมที่ไม่คาดคิด 3. ข้อผิดพลาดทางด้านตรรกะ (Logical errors) ที่โค้ดของคุณไม่ทำในสิ่งที่คุณตั้งใจไว้

ในหลักสูตรนี้ คุณจะได้เรียนรู้วิธีใช้คอนโซลของ JavaScript เพื่อการดีบักโปรแกรมและป้องกันปัญหาทั่วไปก่อนที่จะเกิดขึ้น

ข้อมูลสามารถจัดเก็บและเข้าถึงได้หลายวิธี คุณก็รู้อยู่แล้วคือ โครงสร้างข้อมูลโดยทั่วไปของ JavaScript เช่น อาร์เรย์และออปเจ็ค

ในหลักสูตรนี้ โครงสร้างข้อมูลพื้นฐาน คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับความแตกต่างระหว่างอาร์เรย์และออปเจ็ค และสิ่งที่ควรใช้ในสถานการณ์ต่างๆ รวมทั้งยังจะได้เรียนรู้วิธีการใช้วิธีของ JS ที่เป็นประโยชน์ในการเขียนโค้ด เช่น splice() และ Object.keys() เพื่อเข้าถึงและจัดการข้อมูลได้

อัลกอริทึม คือ ชุดคำสั่งที่ทำที่ละขั้นตอน เพื่ออธิบายถึงวิธีการของการทำบางสิ่งบางอย่าง

ในการเขียนอัลกอริธึมให้มีประสิทธิภาพ ต้องการแยกปัญหาออกเป็นส่วนย่อย ๆ และคิดอย่างรอบด้านเกี่ยวกับวิธีแก้ปัญหาแต่ละส่วน ด้วยโค้ด

ในหลักสูตรนี้ คุณจะได้เรียนรู้พื้นฐานของการคิดอัลกอริธึมโดยการเขียนอัลกอริธึมที่ทำทุกอย่างตั้งแต่การแปลงอุณหภูมิไปจนถึงการจัดการอาร์เรย์ 2 มิติที่ซับซ้อน

OOP หรือ Object Oriented Programming เป็นหนึ่งในแนวทางที่สำคัญในกระบวนการพัฒนาซอฟต์แวร์ ใน OOP ออปเจ็คและคลาสจะทำการจัดระเบียบโค้ดเพื่ออธิบายสิ่งต่างๆ และสิ่งที่สามารถทำได้

ในหลักสูตรนี้ คุณจะได้เรียนรู้หลักการพื้นฐานของ OOP ใน JavaScript รวมถึงคีย์เวิร์ด this โปรโตไทป์เชน (Prototype chain), คอนสตรัคเตอร์ (constructors), และอินเฮอริแทนซ์ (Inheritance)

Functional Programming เป็นแนวทางอีกแนวทางหนึ่งที่ได้รับความนิยมในการพัฒนาซอฟต์แวร์ ใน Functional Programming จะทำให้โค้ดที่เป็นฟังก์ชันพื้นฐานมีขนาดเล็กลง ซึ่งสามารถนำมารวมกันเพื่อสร้างเป็นโปรแกรมที่ซับซ้อนได้

ในหลักสูตรนี้ คุณจะได้เรียนรู้แนวคิดหลักของ Functional Programming รวมถึงฟังก์ชันต่าง ๆ รวมถึงวิธีหลีกเลี่ยงการกลายพันธุ์ (Mutations) และวิธีเขียนโค้ดให้คลีน (Cleaner code) ด้วยวิธีการต่างๆ เช่น .map() และ .filter ()

ถึงตอนนี้ คุณก็มีความรู้พื้นฐานของการคิดอัลกอริธึมพร้อมกับ OOP และ Functional Programming แล้ว ในหัวข้อ Intermediate Algorithm Scripting นี้ จะมีโจทย์ให้คุณทดสอบทักษะที่คุณได้เรียนรู้มาเรียบร้อยแล้ว

ถึงเวลาแล้วที่จะนำทักษะ JavaScript อันใหม่ของคุณไปใช้งานจริง โปรเจคเหล่านี้คล้ายกับโจทย์ความท้าทายในการเขียนสคริปต์อัลกอริทึมที่คุณเคยทำมาก่อนหน้านี้ แต่ว่าจะมีความยากกว่ามาก ให้คุณได้ลองมาทดลองเขียนกัน

ทำโปรเจค JavaScript ทั้ง 5 โปรเจคให้สำเร็จ เพื่อรับใบประกาศไปรษณียบัตร JavaScript Algorithms and Data Structures

ดู Certificate อื่นๆ ของเราดังต่อไปนี้ (แนะนำว่าควรทำตามลำดับ)