The objective of the course project is to apply NN and machine learning techniques studied
in the course to the design and implementation of an applied software system. The projects
will span all stages of the software process and will be worked on by teams of 2 students
or individually. The project grade will be based on both the practical results (realized
software and achieved goals) and the research results.
This is your decision, you may apply any tool and programming language and environment you wish and you can get
I would advise you to try to connect your project topic to your research topic (suggested topic list could be found here). In addition, I would suggest the following development areas:
a) computer security
b) robotics
c) NN, machine learning and control
Computer security:
Part 1: Data
acquisition
Goal: data collection of system activity over a fixed period of time (1-2 weeks)
1.1.Preparation: research of the free tools available on the Internet, choice of the
2-3 tools for data collection
1.2. Data collection
Goal : to collect data characterizing system survivability characteristics
1.3. Data modification (if necessary)
Goal: get the data set suitable for further analysis
Part 2: Developing an AI analytical tool
for data analysis
Goal: get a tool and prepare it for data analysis and recommendations
Part 3: Data analysis
Goal: development of the working system capable of deriving meaningful conclusions
Part 4: Project
review
Goal: two teams review each others projects and compare results
4.1. Critical review of another group report and results
4.2. Application of the tool developed with another groups data set
this topic could be available if we get our robotics lab running
Development of the control demonstration program for a robot
Development of
the vision systems and its integration with the control program
Fuzzy logic
and control:
Development of
the library (Java and C/C++) of fuzzy membership functions and fuzzy interference methods
Development of
the library of ANFIS methods
Each team has to have at least 1 meeting per week. Each meeting should be documented with minutes taken and submitted as a part of their report.
The group should invite each member of a
review team to attend at least one group meeting. Reviewer is not a decision maker,
although he/she is able to participate in discussions and make suggestions.
Each project will be reviewed by the instructor and by three other groups: process review group, report review group, and presentation review group.
Process review group should be in touch with the project group during the whole project span. Each member of the review group should attend at least one meeting of the development group.
Process Review team should submit their report (2 pages) documenting:
- their involvement with the development group (meetings attended, time spent with the development group, advise sought and given, etc.)
- their evaluation of the development process (what was good, what was wrong, what exactly can be improved, what could be done differently, etc.)
- their grade of the development group work (out of 5) and explanation (reasons why it is so high or low).
Report review group will be given a draft report by the development group. They should read and discuss this report and produce their report documenting:
- what should be changed (added, removed) in the draft,
- good and bad features of the report,
- their grade of the report (out of 5) and explanation (reasons why it is so high or low).
Presentation review group will review presentation (including
the web page) and will submit their grade with explanation (out of 5).
The
Project Report provides a complete account of your efforts towards completing the assigned
project. The contents of the bulk of the report should be organized in a manner, which
allows the casual reader to quickly identify what you were aiming to achieve and how
much has been achieved. At the same time, the serious reader of the report must be
able to easily determine how your achievements have been realized.
You
should remember that I am not interested in a report that simply describes what you did
for the project. That is an important component of a successful report, but not the only
one. You must also reflect on the important aspects of your project development and your
project results. Which AI techniques and methodologies did you apply? Do your results show
a need for improving a particular technique? What are the AI implications of your
suggested improvements? How does your project embody AI principles, etc.?
Although project reports will not be directly graded on writing style, organizing your thoughts and writing clearly will enable me to get more out of your reports. It is important that each report have only one editor even though it will contain contributions from all the team members. The responsibility of the editor include turning in the final document, setting deadlines for individual submissions, and incorporating individual submissions into a single coherent and complete document.
One suggested organization for your report is given below;
obviously the detailed format and contents is a matter of choice depending upon the nature
of the project.
Cover page: names, class, date, role and function description
of the group members (who was doing what, who wrote which part of the report)
Table of contents
Executive summary
Concise description of problem addressed and results
Requirements
Your brief understanding of what the instructor requires in this project - informally
stated.
Specification
Precise definition of what you are to do.
Plan
Software Project Management Plan (marked-up original draft and final).
Feasibility study
Possible solutions, AI methodologies, models and methods
Comparison of solutions (you have to compare at least two)
Conclusion choose one and explain why
Structure, contents, user interface, limitations, software and
hardware requirements, etc. Any code developed should be included into an appendix
Product testing
Actual executed test cases must be described briefly, results included into appendix.
Evaluations
Evaluation of the product: features, characteristics, etc.
Reality vs. Predictions
Discuss any discrepancies between estimates and actual results
Lessons learned
What would you like to have done differently? What tools/methods would you like to use
next time?
Appendices
Details of the product developed
Code and its description
Meeting minutes
Logbooks summary of individual ones
Process review group report
Report review group report
Disk pack
Floppy (CD) disk(s) containing all of the above, labeled with your name, date, project,
class
The project report should contain up to 20 pages (not including appendices).
May include product demonstration
Project specification
Project report to the review team due:
Report review team report:
Final report due:
Presentations:
as
scheduled
Process review team report:
1 |
Results of the project with the goal to develop and submit a particular software |
25 by instr. |
2 |
Process |
10 by instr + 5 by proc. review team |
3 |
Review, suggestions and report |
10 by instr. |
4 |
Report (12-20 pages) per group |
15 by instr. + 5 by rev.team |
5 |
Web presentation of the results |
10 by instr. |
6 |
Review of the report of another team (written report 1 page) |
5 by instr. |
7 |
Project presentation and demonstration |
10 by instr. + 5 by pres. review team |
Review teams: