[Lui's homepage] [CE 160 homepage]

CE 160, First Semester, 2005 - 2006
Project Ideas and Project Proposal Guidelines
Contents:
1. The Project Proposal
2. Contents of the Project Proposal
3. The Project Proposal Grade
4. Project Ideas for CE 160, First Semester, 2005 - 2006


1. The Project Proposal

The purpose of the project proposal is to set definite goals.

Students are expected to formulate draft project proposals once an overview of the course has been given.  The instructor shall provide ideas for possible projects.  However students shall not be constrained to choose from among projects suggested by the instructor. Students may formulate proposals based on their own ideas.

Students may be required to report on past projects as part of the process of formulating project proposals.

Students must have at least one draft proposal with a clear description of the expected output.  An introduction and background information may help to provide some context for the proposed work.  Students may propose projects individually or in groups. 

If several groups submit similar proposals, the instructor shall have the final say as to which group would be allowed to pursue the project.  This may be based on various factors such as who submitted proposals first and the quality of the proposals.

Students may submit more than one proposal.  There is no guarantee that any proposal submitted would be approved.


2. Contents of the Project Proposal

The appropriate contents of project proposals may vary depending on the project proposed.

In general, a project proposal must set definite goals.  These goals must be clearly defined.  These goals must be measurable.

A detailed timetable is usually desirable along with descriptions of the roles of various group members in the project.  This usually demonstrates that the students have a good grasp of what the project involves, since this implies that they are able to state the project's goals in terms of smaller tasks.  A detailed methodology is desirable for the same reason.

A good introduction, literature review and theoretical background may be helpful in motivating the project and setting the project in perspective.


3. The Project Proposal Grade

The Project Proposal Grade is an assessment of a student's performance in the formulation of a proposal for a course project.  The grade is based on all aspects of a student's conduct and performance relating to the formulation of a project proposal. A  10-pt scale is used in grading the student's performance. Only integral scores are given.

The grade considers the students initial efforts at coming up with a project proposal, attendance and participation in meetings called to discuss project proposals, a student's initiative, and actual submission of an approved final project proposal acceptable to the instructor.

Each of the following questions corresponds to roughly one point in the 10-point scale:

* Did the student submit at least one project proposal with a description of the scope of the project?

* Did the student submit at least one project proposal with a sufficiently detailed description of the goals of the project?

* Did the student attend a significant number of meetings called to discuss the project proposal?

* Did the student attend all meetings called to discuss the project proposal?

* Did the student show enough initiative in finalizing the project proposal?

* Did the student have a good grasp of the scope of the project?

* Did the student contribute to discussions on the project proposal?

* Did the student submit the approved final proposal on time?

* Does the final proposal clearly define the scope of the project?

* Does the final proposal have a reasonable timetable acceptable to the instructor?

The first two items deal with the submission of an initial project proposal.  Students who intend to work together may submit proposals jointly. The next five items concern a student's conduct in finalizing the project proposal.  The last three items concern the quality of the final proposal submitted. 

These points are presented here as a guide to students as to what is expected of them during the proposal formulation phase of a project. The project grade is not strictly limited to covering only the points listed. 

The instuctor may use these points in arriving at an initial estimate of a student's project proposal grade.  The instructor shall take into account all aspects of a students conduct and performance.  These may have positive or negative effects on the actual grade given. 

The instructor shall also consider the following scale:

The project proposal grade shall be

0 to 4 points if a student has not done enough towards coming up with a final project proposal,

5 or 6 points if a student's performance is minimally sufficient,

7 or 8 points if a student's performance is above average,

9 or 10 points if a student's performance was excellent.

In cases where the final proposal submitted is not acceptable to the instructor, students may be required more meetings with the instructor, subject to penalties in the project proposal grade as the instructor deems fit.


4. Project Ideas for CE 160, First Semester, 2005 - 2006

Write a program that determines whether two finite automata are equivalent.  The finite automata are specified by FASPEC files

Write a program that determines whether two DFAs are equivalent.  The DFAs are specified by FASPEC files
(This is more limited in scope than the preceding project.)

Write a program that reads an eNFA specified in an FASPEC file and converts the eNFA to a DFA in FASPEC file format.

Add a DFA Minimization feature to the graphical DFA editor.

Generalize the graphical DFA editor so that it allows NFAs and eNFAs to be designed.  Allow the generalized editor to simulate NFAs and eNFAs.

Write a Graphical PDA Editor. And simulator?

Write a tabular PDA Editor.

Write a Graphical Turing Machine editor. And simulator?

Write a tabular Turing Machine editor.

 Write a 2 or 3-variable expression parser and evaluator.

Improve the implementation of the existing expression parser and evaluator so that it could be compiled to a library. Write an application that makes use of the library, calling on library functions to parse expressions and evaluate them.

Implement the expression parser and evaluator in flex and/or bison.

 Write an RFC to HTML converter using flex and/or bison. (Refer to previous project ce160_oct2003_02 at http://ce160oct2003.tripod.com/ for documentation on a previous  RFC to HTML converter.)

Write an FASPEC file editor. Or a PDASPEC  file editor. Or a TMSPEC file editor. Or a CFGSPEC file editor. These editors provide syntax highlighting as the file is typed, so that the user is alerted to possible errors in syntax. See http://geocities.datacellar.net/lui_agustin/ce160/representing_automata.html for information regarding these file formats.

Write a sequential circuit editor and/or simulator. (Sequential circuits involving combinatorial logic and flip-flops are finite automata that do not just output 0 or 1  -- accept or reject -- but produce more detailed output.)

Write a program that reads a CFGSPEC file and allows the user to try deriving strings in the language of the CFG by letting the user interactively choose which productions to apply to various variables in the CFG.

Write a program that reads a CFGSPEC file, determines if the CFG represented by the file is in Chomsky Normal Form and if so, allows the user to test various strings for membership in the language of the CFG using the CYK algorithm (p. 298 of textbook).

















     




This page has been accessed

Counter
times since July 21, 2005.

Created July 21, 2005
Last updated July 21, 2005
By Luisito L. Agustin
lui_agustin@yahoo.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1