Getting Started at NASA GSFC

Prof. David C. Brown, CS Dept.

  • Please (re)read:
    http://www.cs.wpi.edu/~cew/courses/projguide.html
    http://www.cs.wpi.edu/~dcb/project-grades.html
    http://www.cs.wpi.edu/~dcb/writing.html

  • find your way around: collect room numbers and telephone info. of key people + key places (e.g., library).

  • make sure that you have the resources you need: Phones, computers, access to a printer, access to appropriate software, access to documentation, experts. Use Prof Looft's persuasive powers to make these things appear. Make sure you know who to ask about needed resources -- probably your main Mentor initially.

  • make a list of what you need to know in order to do the project, and keep it updated.

  • establish lines of communication: discover who prefers a phone call, who prefers a visit, who prefers email, and when people are in their offices.

  • put contact info on the web page. (location, phones. FAX)

  • keep your web page up to date! I can use it as a way of keeping track of how you're doing when I'm not there.

  • Your Advisor needs a weekly report via email, just like for the PQP. Via email. Also put those reports on the web page.

  • set up a weekly meeting with your Mentor(s)

  • set up a weekly phone mtg with me. Try to get, or be able to get to, a speaker phone so we can all meet together. I may also want to talk to everyone individually.

  • remember that I, DCB, prefer not to get Word or other M'Soft stuff. Use plain text, PDF or postscript, or a web page. If needed I can deal with it, but it may cause delays or garbled documents. PLEASE use plain text for all email.

  • make notes of what was thought of, discussed, decided. Both in a group and individually.

  • use the first week to try to get some project Requirements in place. What must be accomplished, should be accomplished, and might be accomplished if there's time. Also make sure you know what NOT to do. Requirements should be a formal document approved by the NASA Mentor(s).

  • Note that NASA's engineering goals for your project and WPI's academic goals aren't necessarily the same. We need to find a way to make them happy while producing a project that is up to WPI's standards.

  • if you cant get answers immediately, at least collect and refine your questions.

  • don't be afraid to contact someone at NASA (or elsewhere) for any info you need that they might have. Tell them who and where you are, and they'll probably help you. If in doubt ask me, another WPI Advisor or Prof. Looft.

  • draw up a general schedule for requirements gathering, design, implementation, testing.

  • Make project report writing a task that is done weekly, not just at the end.

  • Make a table of contents for your MQP as one of your FIRST tasks -- you can refine it gradually.

  • find ways to divide the work between yourselves to maximize effort. Make parallelism your friend.

  • make sure that you have regular mtgs in your group, and with the other related groups. I suggest a daily own group mtg at the start of the day. Perhaps every other day with the other group?

  • even if you talk to each other ALL the time (you should!) have a formal meeting with an agenda of topics. This makes sure that you all know what the status is.

  • establish a way to sort out disagreements so that it isn't personal. Strong technical arguments should win.

  • initially two related groups will need to operate very much together. As the project becomes well defined you'll move to doing your own sections. You will be writing separate reports.

  • It may take longer than you think to define the project. It WILL be frustrating. Part of a WPI Advisor's job is to drive that process. I can tell your Mentor to make decisions, or just tell him what's been decided, while it may be hard for you. At some point you'll have enough info to make decisions for yourselves.

  • as it's very likely that code from related groups will need to be compatible with what the other group has written, it's going to be VITAL to define module (or function)(or method) interfaces clearly and formally. Record this information as part of the design document.

  • start drawing diagrams early, and use them for discussion. Make sure that you record them so that you can refine them for use in your report and presentation.

  • get general experience with any specialized NASA software asap to figure out its use. Try to keep track of what examples you've used to test what functionality. Share with the others. Start with simple examples and work up.

  • try to establish a model/architecture for the software to be developed. They may have one already. Separate out the functionality, such as control, communication, diagnosis, repair, planning, etc. Draw diagrams to show possible data (and/or control) flows.

  • use stubs to allow incremental development of your system. Try to arrange for it always to work (i.e., do something sensible) , even if it isn't all finished yet.

  • you'll need a requirements document, a system design document, and an implementation design document. i.e., the decisions you made about all three of these. Also make documents explaining the reasoning behind your choices. You'll also need a testing/analysis/evaluation design document.

  • the more you agree (and the earlier) about ways to handle all this information (e.g., reports, test cases, etc) the better. Set up directories for each kind of thing you'll be working with. Agree on formats for documentation, etc. Make it easy to assemble your report from already written pieces, rather than writing the report itself.

  • Prof. Looft will have some requirements of his own that he'll want you to follow -- especially wrt the writing schedule. You need to do it, otherwise you'll be working 24 hr days in the final week!

  • Please don't hesitate to email or call your Advisor if there are problems. If they're at you should have phone mtg asap. Keep WPI informed as much as possible.

  • Hit the ground running this first week, and dont waste it.

  • Have a great first week!


dcb@cs.wpi.edu / Mon Aug 12 15:01:59 EDT 2002