Theory of Computation: Logic and Programming

CSCI 440, Spring 2016

 

To the Bottom of the Page

 

Instructor:     Dr. Shieu-Hong Lin

Email:              Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: LinEmail

Class:             T Th 1:30-2:45 am at BUSN 209 PC Lab

Office Hours: Math & CS department at Grove 8.

(i)                Tuesday to Thursday: 12:00-1:00pm, just drop by

(ii)               Monday to Thursday: 8:30am~10:30am: check in advance to set up an appointment

 

 

Course Syllabus

 

*************************************************************************************************

 

Week 1: Logic Programming and Pure Prolog

Reading#1 (Report due: Tuesday, Feb. 9)

íP         Required: Read Sections 1.1~1.4 of Constraint Logic Programming Using Eclipse.

íP         Optional: Read Sections 1.1~1.2 of A Quick and Gentle Guide to Constraint Logic Programming via ECLiPSe.

íP         Submit your report accordingly under Canvas.

 

Lab #1 (Report due: Tuesday, Feb. 9)

íP         (i) Install Eclipse on your computer. (ii) Examine the following sample logic programming programs about family relationship (1, 2) and natural numbers (3 and 4). Use Eclipse to run the programs as suggested in the comments of the programs. (iii) Submit your report under Canvas to describe your findings in (ii) and in addition put down at least two paragraphs about your thoughts/ understanding of these programs accordingly.

 

Class discussion of Reading #1 (Tuesday, Feb. 9)

íP         Peter Alford

 

*************************************************************************************************

 

Week 2: Syntax and Semantics of Pure Prolog

Reading#2 due: Tuesday, Feb. 16

íP         Review Sections 1.1~1.4 of Constraint Logic Programming Using Eclipse.

íP         Read Sections 1.5~1.6 of Constraint Logic Programming Using Eclipse.

 

Homework#1 4 points: Tuesday, Feb. 16

íP         Do all Exercises 1.1~1.5 of Constraint Logic Programming Using Eclipse and report your findings in your progress report.

 

Class discussion of Reading #2 (Tuesday, Feb. 16)

íP         Daniel (Section 1.3), Sarah (Section 1.4), Young (Section 1.5)

 

*************************************************************************************************

 

Week 3: More on Syntax and Semantics of Pure Prolog

Reading#3: Read Chapter 2 due: Tuesday, Feb. 23

 

Test#1: in class, open-book test on Syntax and Semantics of Pure Prolog Tuesday, Feb. 23

Class discussion of Reading #3 (Thursday, Feb. 25.)

íP         Keith (Section 2.2), Mark (Section 2.3), Steven (Section 2.4), Tyler (Section 2.5)

 

*************************************************************************************************

 

Week 4: A Reconstruction of Pure Prolog + Arithmetic in Prolog

Reading#4: (i) Review Chapter 2 (ii) Read Chapter 3 on Arithmetic in Prolog due: Tuesday, March 1

 

Class discussion of Reading #4 (Tuesday, March 1 and Thursday, March 3 if needed)

íP         Keith (Section 2.2), Mark (Section 2.3), Steven (Section 2.4), Tyler (Section 2.5)

íP         Ever (Sections 3.4-3.5)

 

Test#2: in class, open-book test on Chapter 2 (Semantics of Pure Prolog) & Chapter 3 (Arithmetic in Prolog) Tuesday, March 8

 

*************************************************************************************************

 

Week 5: Control and Meta Programming in Prolog + Mission Conference      

Reading#5: Chapter 4 due: Tuesday, March 15

 

 

*************************************************************************************************

 

Week 6: More on Control and Meta Programming.        

Reading#6: Review Chapter 4 and Read Chapter 5 due: Tuesday, March 22

 

Homework#2: due: Tuesday, March 22

íP         Write a prolog program for doing merge sort. The quick sort program in Chapter 3 can serve as a helpful example about how this may be implemented. Here is the basic framework of how the program may look like.

íP         Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

Class discussion of Chapter 4 & 5 (Thursday, March 17 & Tuesday, March 22 íK)

íP         Kellian (4.1-4.2), Matthew and Miles(4.3-4.4), Frank (5.1-5.3)

 

*************************************************************************************************

 

Week 7: Constraint Programming + Spring Recess

Reading#7: Chapter 6 due: Tuesday, April 5.

 

Homework#3: (6 points) Tuesday, April 5.

íP         Write a prolog sorting program that implements selection sort. The quick sort program in Chapter 3 can serve as a helpful example about how this may be implemented. Try to work it out on your own. If you have tried but still feel need some more hints, see this basic framework of how the program may look like.

íP         Submission: (i) Upload your prolog program through Biola Canvas. (ii) Carefully fill out this self-evaluation report and upload it through Biola Canvas. Note that you will receive no point for missing the self-evaluation report or missing the integrity review in the report.

 

 

Test#3: in class, open-book test on Chapters 4~5 due: Thursday, April 7.

 

*************************************************************************************************

 

Week 8: Iteration in Eclipse  

 

 

*************************************************************************************************

 

Week 9: Review of Iteration in Eclipse & Constraint Programming

 

*************************************************************************************************

 

Week 10: Top-down Search with Passive Constraints 

 

 

*************************************************************************************************

 

Weeks 11: More on Passive Constraints and the Suspend Library due: Thursday, May 5

 

 

*************************************************************************************************

 

Week 12: Constraint Propagation and Active constraints due: Thursday, May 12

 

 

 

*************************************************************************************************

 

Week 13: Optimization and Active constraints due: Thursday, May 19.

 

Test#4 (Updated 05/17 3:30pm):

íP        Open-book take-home test on solving constraint satisfaction problems and constraint optimization problems.

íP        Due: Thursday, May 26.

 

*************************************************************************************************

To the Top of the Document of the Page

 

 

External resources:

íP         List all source code of sample programs in Constraint Logic Programming using Eclipse.

íP         Eclipse Constraint Logic Programming: (i) homepage, (ii) online user manual, (iii) online reference manual and (iv) tutorials

.