Both projects must be
able to run on the CCC unix machines, or on Windows
XP Home edition. You may use any programming language that is taught at WPI
(aside from mathematics-specific languages such as Maple or Matlab), or any
other language with express permission from the instructor. When submitting
windows applications, you must include an executable along with your source
code.
Submit your project in one of the following
ways:
There is no need to submit a printed copy
of your source code.
Grading of your project will take into account
the following criteria:
It is strongly suggested that you test
your software before submitting it using Maple, or a similar program to check
your answers.
Write an interactive program that allows the user to enter a system of
equations. It then implements either the Gauss-Jordan Algorithm or Gaussian
Elimination (your choice – document this), and displays the result. It must properly handle all three kinds of
solutions, and it must work on random problems entered by us.
Grading:
5 points |
User interface clear and understandable |
15 points |
Gauss-Jordan algorithm implementation |
5 points |
Handle single solution |
5 points |
Handle infinite solutions |
5 points |
Handle no solution |
15 points |
Documentation, program structure, and
source code readability |
Total points: 50
comment: during term D, students got relatively poor grades in many
cases because they focused too much on the I/O interface and too little on code
that produced the right answers. Your
priorities should be the other way around!!
Input:
Computations:
Output:
Computations as they are done. If the
matrix is singular, tell the user.
Grading:
10 points |
User interface
clear and understandable |
5 points |
Product of two
matrices |
5 points |
matrix raised to a
power |
5 points |
matrix raised to a
power, times another matrix |
10 points |
inverse of a matrix |
15 points |
Documentation,
program structure, and source code readability |
Total points: 50
Computer Science – Project #3
Part One
Programming may be
described as implementing an algorithm in a language which a computer, with the
help of a compiler, may understand.
Discuss this
statement in terms of your own experiences and knowledge.
Part Two
Summarize your
results from Projects I and II in terms of objectives meant and also
shortcomings. You may also resubmit
either project with improvements to be graded again.
Part Three
Summarize what things
you have learned as individuals and as a group about project work during this
course, especially as it might be applicable to future work in IQPs and MQPs. Areas to include are
debugged
properly tested
properly documented