CS 6805
Project
The project involves researching a topic outside the scope of the lectures, preparing
a written report and giving a 15 minute oral presentation. The project may also
focusing of implementation of algorithms or data structures related to logic
synthesis.
Dates
- Feb. 12: Submit a detailed project proposal (via email)
- Feb. 19: meet with me to discuss proposal
- March 20: submitt a draft (about half the work should be completed)
- April 2 + 9: project presentations
- April 23: final date for submission of project report
Evaluation
- 20% Oral Presentation
- 15% Detailed Proposal (including choice of topic, literature search, organization)
- 15% Draft
- 25% Work Accomplished
- 25% Report (clarity, appearance, etc.).
Detailed Proposal, Choice of Topic, Literature Search
It is important to start planning your project as soon as possible and fully
incorporate this planning process within the scope of the project. You must
hand in a full proposal by Feb. 12. The proposal must include topic, literature
search (i.e. a reasonable bibliography), template for report (sections, subtopics,
organization), methodology, motivation, scope, and focus.
About 50% of the mark in here covers your capacity for initiative, organization,
interest, depth, and, most of all, a good literature search. You receive a better
evaluation if you are able to find appropriate material on your own, decide
how large or how small the project should be. Choose an aspect of the overall
subject which has relevance and it is outside the direct scope of the lectures.
In some cases, I'll give the initial proposal back with suggestions for improvements,
and ask you to resubmit it. The proposal should not be of any great length -
two or three pages.
Work Accomplished
Since this is the part most difficult to evaluate, you must do the best you can
to help convince me that, by developing this project, a considerable amount of
expertise in a new topic has been gained by you. As an example, you may introduce
some theorems and proofs from articles, but you are not expected to necessarily
develop new ones. However, when presenting a set of examples to clarify such theorems
or concepts, make sure you construct new ones on your own, demonstrating without
doubt that (i) you have understood the main idea, (ii) you have understood the
examples in the publication itself, (iii) you are able to expand on them on your
own.
Report
This should take the form of a technical report, as you can find them published
around departments. Its length should not exceed 20 single spaced pages, with
a minimum of 10. It must include a complete bibliography; this includes articles
you read in depth and articles you only scanned, plus articles referenced by others
and considered seminal to the topic. Moreover, you should include a section which
gives a short summary (less than two paragraphs) of the few which are more significant
to your topic.
The evaluation takes into consideration the organization of the report, the
clear statements of the objectives, examples, explanations, arguments, and conclusions.
Do not be afraid to introduce your point of view, if you can defend it logically.
Any new insights, new research, new results, earth shattering new theorems are
obviously welcome. Try to push forward and at least raise some questions.
As an overall guideline, assume that your report will be used in the future
to extrapolate a couple of lectures or a seminar on the subject. This should
be achieved by reading the report and working on the examples provided, with
a minimal amount of looking up material in the references. Pretend you are preparing
such seminars and you only have 3 hours or so at your disposal. If you are developing
software as part of your project, make sure that you provide a user's manual,
a software maintenance manual, and full system specifications. This is not to
the scale of a software engineering project as the interest lies more in the
object of the software than in its development however a shoddy software presentation
is not acceptable. In particular, the emphasis should be placed on the future
use and direct applicability of the modules by other students or researchers.
Notes
- Keep a copy of your project and all attachments, as it will not be
returned to you. You will receive a written evaluation with your final grade.
- Ideas for projects : I will suggest topics in class (see list below). Feel free to discuss your ideas with me.
- While working on your project, it is not intended that you should work
in isolation.
Topics
- Threshold logic (start here).
- Reversible logic synthesis
- Relation to group theory
- Reversible cellular automata (start here)
- Billiard Ball Model (start here)
- Metric for circuit simplicity
- using ROBDDs to represent reversible functions
- handling don't cares
- ESOP to Toffoli (here and here)
- Quantum Logic/Computation
- Multi level synthesis
- ROBDDs
- Cohn conjecture (tools to prove it?) (some notes and here)
- Logic design for nanotechnologies
- Optical computing (devices and design)