โครงสร้างข้อมูลพื้นฐาน ลิงค์ลิสท์ คิว สแต็ค ไบนารีทรีบีทรี ฮีพ การวิเคราะห์อัลกอริทึมและความซับซ้อนของอัลกอริทึม อัลกอริธึมการคํานวณและการแก้ปัญหา กลยุทธ์อัลกอริทึม การใช้เอพีไอ กระบวนทัศน์ การเขียนโปรแกรม โครงสร้างการเขียนโปรแกรม การเรียกซํ้า การโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิง เหตุการณ์และพร้อมกัน การสร้างแบบจําลองข้อมูล การวิเคราะห์ออกแบบ ทดสอบและประเมินผลระบบที่ใช้คอมพิวเตอร์ คอมพิวติงไคลเอนต์เซิร์ฟเวอร์และอัลกอริทึมแบบกระจาย กรณีศึกษา
Course Description
Basic data structures, linked list, queues, stacks, binary tree, B-tree, Heap; algorithm analysis and algorithmic complexity; computing algorithms and problem-solving; algorithmic strategies; using APIs; programming paradigms; programming constructs; recursion; object-oriented programming; event-driven and concurrent programming; data modeling; analyze, design, test and evaluate computer-based systems; client-server computing and distributed algorithms; case study
ผู้เรียนสามารถ
1. อธิบายหลักการของโครงสร้างข้อมูลพื้นฐาน และเขียนโปรแกรมประยุกต์ใช้งานได้
2. อธิบายหลักการวิเคราะห์อัลกอริทึมหรือขั้นตอนวิธี และ นำมาวิเคราะห์อัลกอริทึมได้ และจัดกลุ่ม อัลกอริทึมตามความซับซ้อนเชิงการคำนวณได้
3. มีทักษะการเขียนโปรแกรมด้วยภาษาโปรแกรมคอมพิวเตอร์ระดับสูง (ภาษาไพธอน) และสามารถ เรียกใช้เครื่องมือ (เช่น การทดสอบโปรแกรม ตรวจหาแก้ไขความผิดพลาดของโปรแกรม) และคลังฟังก์ชันอย่าง เหมาะสม และประยุกต์อัลกอริทึมในการเขียนโปรแกรมเพื่อแก้ปัญหาได้
4. อธิบายกลยุทธ์พื้นฐานในการออกแบบอัลกอริทึม และ นำมาประยุกต์ใช้แก้ปัญหาได้
5. รู้จักกระบวนทัศน์การเขียนโปรแกรม และการจัดแบ่งกระบวนทัศน์การเขียนโปรแกรมประเภท ต่าง ๆ
6. ผู้เรียนสามารถอธิบายหลักการเบื้องต้นของการเขียนโปรแกรมรูปแบบต่าง ๆ เช่น โปรแกรมเชิงวัตถุ การโปรแกรมแบบ event-driven การโปรแกรมแบบทำงานพร้อมกัน และการประยุกต์ใช้งานได้
Students are able to
1. Explain the principles of basic data structures and write programs that apply them effectively.
2. Explain the principles of algorithm analysis, perform algorithm analysis, and categorize algorithms based on computational complexity.
3. Demonstrate programming skills using a high-level programming language (Python), appropriately utilize tools (e.g., program testing, debugging), and use libraries and functions effectively to apply algorithms for problem-solving.
4. Explain basic algorithm design strategies and apply them to solve problems.
5. Understand programming paradigms and classify different types of programming paradigms.
6. Explain the basic principles of various programming approaches, such as objectoriented programming, event-driven programming, and concurrent programming, and apply them in practice.
วิดีโอผลงานนักศึกษา ปีการศึกษา 2567