Theory of Computation: Logic and Programming

CSCI 440, Spring 2014

 

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: LinEmail

Class:            MW 1:30-2:45 am at BUSN 210 PC Lab

Office hours:   T Th 12:00-1:30pm.

 

Course Syllabus (Summary, Full version)

 

About the cumulative progress report:

P       Download this template of cumulative progress report. Keep updating this cumulative weekly progress report as a file throughout the semester. By the end of every Wednesday, you should incorporate information of what you have done and the amount of time you spent for the reading assignment, the lab assignment, the programming assignment, or other written assignments since last Wednesday into the cumulative progress report. This file serves as the basis for you to gain the credit of Reading/Participation, which accounts for 15% of the total grade weight..

P       Submission of the cumulative progress report (every Wednesday): By the end of every Wednesday (starting from Jan. 29), you should email the cumulative progress report as an attachment to Dr. Lin.

 

 

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

 

Week 1: Logic Programming and Pure Prolog.   

Reading#1 (3 points, Reading + Participation): due: Wednesday, Jan. 29.

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

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

P       Use Eclipse to play with the following sample logic programming programs about family relationship 1, 2 and natural numbers 3 and 4.

 

Class Discussion: Jason and Edward on Sections 1.1~1.4 of Constraint Logic Programming using Eclipse (Jan 29, Feb 5)

 

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

 

Week 2: Syntax and Semantics of Pure Prolog.    

Reading#2 (3 points, Reading + Participation): due: Wednesday, Feb. 5.

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.

P       Read Sections 1.3 of A Quick and Gentle Guide to Constraint Logic Programming via ECLiPSe.

 

Homework#1 (4 points): Do all Exercises 1.1~1.5 of Constraint Logic Programming Using Eclipse and report your findings in your progress report. due: Wednesday, Feb. 5.

 

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

 

Week 3: More on Syntax and Semantics of Pure Prolog. 

Reading#3: Chapter 2 (3 points, Reading + Participation): due: Wednesday, Feb. 12.

 

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

 

Week 4: A Reconstruction of Pure Prolog.

Reading#4: Review Chapters1~ 2 (3 points, Reading + Participation): due: Wednesday, Feb. 19.

 

Test#1: in class, open-book test Wednesday, Feb. 19.

 

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

 

Week 5: Arithmetic in Prolog  +  control in Prolog .   

Reading#5: Chapter 3 and Sections 4.1-4.2 of Chapter 4 (3 points, Reading + Participation): due: Wednesday, Feb. 26.

 

 

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

 

Week 6: More on Control and Meta Programming.        

Reading#6: Chapter 4 and Chapter 5 (3 points, Reading + Participation): due: Wednesday, March 5.

 

 

Homework#2: (i) Do the end-of-chapter exercises of Chapter 3. (6 points)  (ii) 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. (6 points) due: Wednesday, Mar. 5.

 

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

 

Week 7: Constraint Programming +  Mission Conference.       

Reading#7: Chapter 6 (3 points, Reading + Participation): due: Wednesday, March 19.

 

Homework#3: (i) Do the end-of-chapter exercises of Chapter 6. (6 points)  (ii) 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. (6 points) due: Wednesday, Mar. 19.

 

Class discussion on Monday, Mar. 10.

P      Discuss the programs in Fig. 4.3, Fig. 4.4, and Fig. 4.3: Renita, Edward

P      Discuss the programs in Fig. 5.1, Fig. 5.2, and Fig. 5.3: Jason, Michael

 

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

 

Week 8: Test and Review

Test#2:

 

 

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

 

Week 9: Iteration in Eclipse  

 

 

 

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

 

Week 10: Top-down Search with Passive Constraints due: Wednesday, April 9.

 

 

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

 

Week 11: Review and Test due: Wednesday, April 16.

 

Test#3:

 

 

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

 

Weeks 12-13: More on Passive Constraints and the Suspend Library due: Wednesday, April 30.

 

 

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

 

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.

 

 

To the Top of the Page