**To the Bottom
of the Page**

Instructor: Dr. Shieu-Hong Lin

Email:

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. **

¡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. **

¡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.

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

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

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

**Week 4:** **A Reconstruction of Pure
Prolog. **

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

**Week 5:** **Arithmetic in Prolog + control in Prolog .
**

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

**Week 6:** **More on Control and Meta
Programming. **

**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. **

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

- Part 1: Write prolog
programs to solve these problems due Monday, March. 24.
- Part 2: In-class test Monday, March. 24, mostly on stuff in
Chapter 4 and Chapter 5.

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

**Week 9:** **Iteration
in Eclipse**** **

**Reading#9**: Chapter 7 (3 points, Reading + Participation):, due: Wednesday, April 2.

**Homework#4**(6 points): End-of-chapter exercises of Chapter 7, due: Wednesday, April 2.

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

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

**Reading#10**: Chapter 8.

**Homework#5**(6 points)**:**Write your own brute-force Prolog search program like the*N-Queen*program in chapter 7 to search for magic squares*n*. Here is a possible framework to do it. due: Wednesday, April 9.

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

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

**Reading#11**: Review Chapters 6~8, especially Chapter 7.

**Test#3**:

- In-class test Wednesday, April 16, mostly on stuff in Chapters
6~8, especially Chapter 7.

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

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

**Reading#12**: Review Chapter 8.**Reading#13**: Read Chapter 9.

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

**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**