70 likes | 208 Views
Teaching LP: A Perspective. Gopal Gupta Department of Computer Science University of Texas at Dallas. Motivation. LP: an important paradigm LP: the grand unifying theory of CS LP: leads to better understanding of CS Hence, teaching LP of utmost importance
E N D
Teaching LP:A Perspective Gopal Gupta Department of Computer Science University of Texas at Dallas
Motivation • LP: an important paradigm • LP: the grand unifying theory of CS • LP: leads to better understanding of CS • Hence, teaching LP of utmost importance • Background: Taught LP courses for 12 years (both graduate/undergraduate) • Involved in a project on teaching programming to 1st year students via Prolog (panels in ICLP’92 &’93).
Pedagogical Objectives • Understand main ideas of LP • Develop an appreciation for the power and uniqueness of LP • How LP relates to various areas of CS (databases, s/w engg., AI, ..) • Develop an appreciation for LP’s relation to Constraint Prog/Op. Res. • Appreciate LP’s role in reducing the complexity of programming
Teaching of LP in US • LP as a paradigm is well recognized in US. • Most US Univ. cover it in a 4th yr Prog. Lang. course (taught as one of the four paradigms but in a very cursory fashion). • Many Universities have a dedicated graduate level course in LP. • At UT Dallas: 120 UG students are exposed to LP every year; about 40 grad students take the dedicated course.
Curriculum at UT Dallas • Course Goal: Get main ideas of LP across: • The basis of LP in theorem proving; computation is deduction • Basic understanding of Prolog’s execution model: unification, search w/ backtracking • Programming with recursion • Relational nature of Prolog programs: invertibility of predicates • Applications; Generalization to Constraints
Ideal Curriculum • As part of a Prog. Lang. class: - Database programming (datalog) - Backtracking search - Recursion/List Proc. • As a complete course on LP - All topics in previous slides
Personal Remarks • Need to motivate people to study LP • Lack of awareness of LP’s power; wrongly perceived as a failed language • However, once such people take an LP class, they appreciate its power • Most students are motivated by “cool” applications; we need to advertise cool applications of LP more. • At UTD, application of LP in solving some local problems is a single contributing factor in attracting students to LP classes in large numbers.