Master's Projects
Revised: 5/24/2011
"
By the time a man realizes that maybe his father was right,
he usually has a son who thinks he's wrong.
"
- Charles Wadsworth
Master's Projects are required for the Master of Science in Computer Engineering and Master of Science in
Electrical Engineering programs. A project is not required for a Master of Science in Computer Science degree.
Master's Projects are awarded no credits, but you must register for them (at no cost).
Distinction between a Master's Project and Thesis
The scope of a Master's Project is approximately equivalent to a software design course project, e.g.,
CSE687, plus
a report. The report is like a C-Specification, but a little less formal. So, you should expect to spend 20
to 30 hours on an implementation and another 10 to 20 hours on a report. You have satisfied this requirement when
your faculty advisor and Program Director approve the project. Note that there are other
forms of Master's Projects, discussed below in items 2 and 3.
A Master's Theses is much more work. You should expect to spend
six months of half time work conducting a research project and documenting your results.
Project Topics
For students who perpare a Master's Project under my direction,
these projects may take any of the forms:
- Software project on some interesting topic, submitted with a comprehensive report.
-
Survey paper on a significant technology that you may not have addressed in your program, but is
something you want to learn about.
-
White paper that explores some technical area in detail.
The primary difference between the survey and whitepaper options is a matter of breadth versus depth.
Requirements
I have two main requirements for this work:
-
You should explore some area that is new enough to you that you learn something significant.
Pick a topic that interests you.
-
The project should involve about as much work as any of the class projects you do in my courses
and must also be documented by a report that, for software projects, is structured much like a
software Design Document.
I prefer students to select their own topics, rather that have me assign one. I have too many students
concurrently working on projects to give each one a unique topic. By this point in your program you
should be able to identify an interesting topic. Below is a link to topics to think about.
Remediation for Data Structures and Algorithms
This year I have had a huge number of requests to supervise MS Projects that will, in part, be used to
waive a requirement for remediation of CSE382. Due to the large volume of requests I am no longer able
to do this and will accept no more requests of this kind.
Note that, as always, I am pleased to supervise your MS Projects. I just will not supervise remediation
of CSE382 requirements. Note that you can either take the course, as indicated in your acceptance letter,
or you can take the exemption examination which is given every year.
I've left the instructions for remediation on this page for the students with whom I have already agreed
to supervise remediation. But I will not accept any more, this semester, or later.
Students who have been levied a remedial program requirement to take CSE382 - Data Structures and Algorithms
may satisfy this requirement by preparing a Master's Project that demonstrates the requisite knowledge. Here are
the steps necessary to complete this process:
-
See me regarding your interest in acquiring the required background via a Master's Project. I will discuss the
project with you and, should you wish to proceed, I will notify Dr. Hartmann and Barbara Hazard that you
are working on the project under my supervision and that I will not approve your report until you demonstrate
the required knowledge.
-
You purchase or borrow the text used in CSE382, e.g., Algorithms, parts 1-4, Sedgewick, Addison-Wesley. Bring
the text to my office and I will assign material for you to skim and material to read thoroughly.
-
Complete an implementation, in either C++ or C#, the following:
HashTable that supports either Standard C++ iterators or a .Net IEnumerable interface.
External Sort - use the Merge Sort algorithm
A Symbol Table based on a Balanced Binary Tree - red/black algorithm recommended.
-
You are required to measure the performance of your implementations and compare the results you achieve
with results predicted by a complexity analysis, as described in Sedgewick, Chapter 2 and analysis in each of the
chapters related to the topics above. Specifically, you plot the ratio of time to carry out the computation with
10, 100, 1000, and 10,000 items and compare with the theoretical asymptotic ratios.
-
Meet with me to present your results. I will question you about your analysis to ensure that you have the
required knowledge to satisfy the remedial requirement. Please note that I will not recommend waiving
the CSE382 requirement without this presentation.
-
When I am satisfied that your report describes work you completed and demostrates the requiste knowledge
then I will approve it and turn it in to the department. that will complete the process.