Programming Languages ธนวัฒน์ แซ่เอียบ โฮมเพจรายวิชา
Course Lecture – Lab session วันพุธและวันพฤหัส การสอบกลางภาคและสอบปลายภาค การสอบการเขียนโปรแกรม ( ภาคปฏิบัติ ) การบ้าน ทดสอบย่อย
Objectives เรียนรู้วิธีนิยามภาษาสำหรับเขียนโปรแกรมใน เรื่อง syntax และ semantics เบื้องต้น นำเสนอภาษาสำหรับเขียนโปรแกรมที่เป็น แบบ imperative, logic, functional, object- oriented และทดลองเขียนโปรแกรมเพื่อ เปรียบเทียบความแตกต่างของภาษาแต่ละ แบบ
Objectives เรียนรู้โครงสร้างภายในที่ถูกสร้างขึ้นจาก คอมไพเลอร์ของภาษาระดับสูง เช่น โครงสร้าง heap และ stack เพื่อใช้กับ procedure calls, dynamic memory allocation, parameter passing mechanisms, exception handling และเรื่องทั่วไปของภาษาระดับสูงเช่น recursion, control flow และเรียนรู้การเขียน โปรแกรมอย่างมีประสิทธิภาพ สามารถเปรียบเทียบข้อดีข้อเสียของรูปแบบที่ แตกต่างกันได้เช่น static vs. dynamic scooping, early vs. late binding, strongly typed vs. loosely typed vs. type-free, pointer access vs. pointer hiding ในเรื่อง ของ ประสิทธิภาพ ความง่ายในการใช้งาน และ ความปลอดภัย
To be successful in course ฝึกฝนนอกเหนือจากชั่วโมง lecture และ lab อ่านและเรียนรู้จากหนังสืออย่างสม่ำเสมอ สนใจในชั่วโมงเรียน สอบถามถ้ามีข้อสงสัย
Book Concepts of PROGRAMMING LANGUAGES : Sebesta, Robert W
Course Overview Overview –Language Evaluation, Evolution of Programming Languages, Syntax and Semantics Names, Scopes and Bindings –Names, Variables, Type checking, Binding, Strong Typing, Scope Data Types –Primitive Data Types, String, Array, Pointer Expressions and the Assignment Statement –Overloaded Operators, Assignment Statement, Short-Circuit Evalution
Course Overview Subprogram –Parameter Passing Methods, Local Referencing,Accessing Nonlocal, Functions, Coroutines Implementing Subprograms –Blocks, Dynamic Scoping Object-Oriented Programming Exception Handling Functional Programming Languages –LISP Logic Programming Languages –Prolog
Evaluation การทดสอบภาคปฏิบัติ 110% การสอบกลางภาค 30% การทดสอบภาคปฏิบัติ 210% การสอบปลายภาค 35% การบ้าน แบบฝึกหัด รายงาน 10% ( ให้ เขียนด้วยลายมือ ) จิตพิสัย 5%