Key points: CS 336, Logic Programming (LP), focuses on declarative programming, in which a program consists of “rules” describing logical relationships and a computer performs deductive reasoning based on those rules. Logic programming is widely used in artificial intelligence, databases, and automatic theorem proving.
The majority of times when people interact with computers, mobile phones, and electronic notebooks, they express what they want to do by asking questions, stating connections, and responding to suggestions. This way of interacting with computer and computing devices is called declarative. In this course students learn a style of programming called declarative where a program is a data base of information and relationships related to this information. The user of this technology then asks questions and the program deduces answers from the information and relationships. This kind of programming is widely used in artificial intelligence, data bases, automatic deduction, problem solving using constraints and is based on first order predicate logic. Topics include declarative programming, Horn clauses, declarative and procedural semantics of logic programs, relations, clauses, goals, backtracking, and resolution. The main emphasis is on writing programs for applications. Programming projects and exercises use Prolog, the most significant logic programming language.
Prerequisites: CS253 or CS276 or permission of instructor. This course would be suitable for students majoring in mathematics. Check with the instructor, Richard Allen.
See Dick Brown for more information.