Advice from students


This page contains advice from student from Spring 2007 for Senior Project.



In Spring 2007 the following question was asked on the mini-exam: The answers follow.

"Should do" items:

  1. Come to class
  2. Choose a project you are interested in
  3. Meet with your team and your company EARLY
  4. Be on time when meeting company
  5. Ask Dr. Christensen questions if you do not understand something about the design process or even your project (he has much knowledge about many things).
  6. Do your best to stay on track of your plan.
  7. If you don't know something do not just read about it, play with it and figure it out as you go.
  8. UPDATE DOCUMENTATION
  9. Always have a working project
  10. Ask questions and try to network, but don't be weird about it.
  11. Broaden your knowledge on your subject, even if you don't think it will help in your specific project, it will.
  12. Buy a laptop
  13. Always go to class when is needed. Even though this class does not require much of class attending, lectures and speaker are very useful.
  14. Keep in touch with Dr. Christensen via email or visiting his office hours. Personally I found this to be very helpful because he is always trying to help in any way he can. When developing a "oyr" specification, design, or anything he a very useful tool.
  15. Work ahead on your project.
  16. Go to every meeting there is with the company that you are developing the project with. You always learn something new from every visit.
  17. The student should start the project early in order to avoid rushing at the end of the semester.
  18. Meet with the company as soon as possible.
  19. Have good communications with your team members and be all in the same page.
  20. Do lots of research in your area of the project.
  21. Split the project into parts so it can be done faster.
  22. Good project management.
  23. Meet once a week.
  24. See Dr. Christensen when help is needed.
  25. Create a timeline for the project.
  26. Meet the intermediate the little goals along the way to meet the final goal in the end
  27. Stay on top of everything from day one, don't let yourself get behind.
  28. Clearly have the company define what will be included in the scope of the project and if there are more things that can be added at the end as a bonus then do so, but meet initial requirements first.
  29. Start early!! This was the advice given to us at the beginning of the semester but so few groups payed attention. We were one of the lucky that did in fact start early and were much better off for it. I watched other groups floundering because they waited too long to start.
  30. Work as a team. We suffered from the "division of labor" problem a bit, where we were each working on our own individual part without seeing the big picture. It ended up working o.k. for us because we had a clear plan but I can certainly see how we could have improved (especially in terms of design and debugging) had there been more collaboration.
  31. Test, test, test! We had a clear testing plan and that is the only thing that saved us from a couple nasty bugs. From my talks with other groups, testing does not seem to be a priority but if you get in your demo and your program crashes you are toast.
  32. Start early and clearly realize what you have to do
  33. Meet with professor about what he clearly wants for deliverables
  34. Ask a lot of question even
  35. Go to class listen to speakers
  36. Start coding early
  37. Schedule much more time than you think you will need for this class. There is no way that you will be able to get your project done if you expect to only spend two hours a week on it.
  38. Think of this class as a second job.
  39. Meet with your tam members regularly.
  40. Keep all paperwork up to date. It takes a lot longer than you think it will.
  41. Listen to clients
  42. Ask questions
  43. Start on projects early
  44. Take notes and follow guidelines
  45. Start coding right away
  46. Conceptualize the project before starting coding.
  47. Get started early
  48. Work together, communicate well
  49. Follow requirements and specifications, but don't be afraid to change if necessary
  50. Be prepared for prototype demo and final presentation/demo
  51. Be active in keeping checkpoints with each other
  52. Give yourselves your own deadlines
  53. Present drafts to Christensen before assignment is due
  54. Be diligent in keeping paperwork up to date
  55. Start early
  56. Dress respectably
  57. Communicate well with your project company
  58. Start as early as possible (same advise we got)
  59. "baby steps" try to partition your project as much as possible into functional and non-functional components that have been tested and verified
  60. Create a lot of tests to verify the functionality of each component. Called scaffolding in the book.
  61. Start early - while this may seem obvious, no matter how "easy" a project may seem, something will always come up to "throw a wrench in the gears"
  62. Keep an open mind - while some people may say offensive things, look past their personal comments and focus on the objective things.
  63. Have specific times to meet every week about project
  64. Spend time doing solid design that allows for individuals to work on their own time
  65. Communicate
  66. Have regular group meetings to discuss status
  67. Have checklists set in beginning so everyone knows what they are responsible for
  68. Immediately in beginning of semester start researching how your group will accomplish the goal
  69. Ask as many questions as possible to people who will know the answers: faculty, project company
  70. Have professor Christensen check your work before the due date
  71. To prepare ahead
  72. Before signing up, the students should discuss with the advisors the academic load they will carry along with Senior Project. Not doing so may result in a hands-on experience on how does it feel to see the project falling behind and rescheduling (like chapter 2 of the book suggests) is not an option. I believe that with a balanced academic load, the final project would be properly tested and overall better.
  73. Listen to the advice from Dr. Christensen on the very first day of classes and get your project group and meet with him to discuss what are the pit-falls to avoid. More important apply the advice.
  74. Find out or decide what language, technology, or environment will be used for the project and learn as soon as possible. There are plenty of tutorials online. It is extremely helpful that at least one team member has experience with it.
  75. On the first couple of weeks, designate somebody in the group to be the "manager" and that individual should keep an eye on upcoming deadlines and demand completed work from team members on a timely fashion.
  76. Meet with Dr. Christensen before turning in due documents. He will point out things to be changed and it is better to fix them before.
  77. Keep your company's contact informed of the status of the project at least weekly.
  78. Do your best to have things ready at least a week before due.
  79. When having a demo, set it u p and try it before and at the same location where the demo is schedule. What worked at home the night before will probably not work in front of Dr. Christensen and it feels bad. (Really bad.)
  80. Show up on time for guest speaker's presentation.
  81. An advice I would give to the next semester students is they should understand that they are not far from the real professional job, and they are almost no students no more. The grade doesn't mean much; meaning there are more important things than the grade. They should learn to work in teams, be more flexible about their schedules, and understand that they are important no matter how much contribution they give, every opinion could be a key to solve a problem. They should learn how to design good algorithms, have a conceptual contract, manage intellectual team work. The project may seem quite complex at the beginning, but after understanding it, it will fell apart. The most important thing to remember is to understand the problem. At last, students must reserve enough time for the testing part, many surprises may happen. Another thing I want to mention is the choice of the project. The students should not jump into a project that requires some kind of skills which they do not have and choose the project based on the name of the company. Do not let driving distances become an issue; make sure to choose a good schedule that you would stick with. Do not over or under estimate the driving time to meet with your teammates.

"Should not do" items:

  1. Skip class
  2. Not meet with company
  3. Do not have open line of communication with company
  4. Have the same documentation as when you started (it should always be improved up until the last day.
  5. Don't ask questions when you have guest lectures (you are only hurting yourself)
  6. Not always have a working project
  7. Do not dress like you are going to gym class
  8. Ask Christensen for help unless you've done your research first.
  9. Bicker or argue with those about you, it does not impress or help.
  10. Be afraid to call and communicate with your company.
  11. Wait until the end of semester to start working on the project.
  12. Not keeping contact with the company they are working for.
  13. Not keeping contact with Dr. Christensen
  14. Giving all the work to the other students in the group.
  15. Don't start the project at the last minute and start coding early.
  16. Do not get angry with your partners.
  17. Do not wait till the date before to turn things in
  18. Do no wait to start your project half way through the semester.
  19. Don't get overwhelmed, have the mentality that you can finish on time.
  20. Do not fall out of communication with your company. Without mentioning names, I know one group that was essentially lost because they had very little communication with their company.
  21. Skip class
  22. Fall asleep during speakers
  23. Get fussy with Dr. Christensen or your company: BE NICE
  24. Don't wait. Do as much as you can as soon as you can.
  25. Don't waste time thinking about what you are going to do. Just start something and get it working.
  26. Don't be late for a guest lecture.
  27. Don't dress inappropriately for your speeches or for a guest lecture.
  28. Wait a month before starting
  29. Not come to class
  30. Ask the client TOO many questions
  31. Not contact the clients early
  32. Procrastinate. Anything.
  33. Not follow up with team members
  34. Not set deadlines
  35. Think "oh, you'll get it done." Get it done, period.
  36. Not keep in touch with your company
  37. Skip class
  38. Wait until end of semester
  39. Start late
  40. Overestimate the functionality of several different components when joined together.
  41. Forget about assignment dates. (They come fast at the end of the semester.)
  42. Work by yourself (yourself meaning the team working by itself) - part of the development process is design - you will not have a very good design unless you are in constant communication with your company.
  43. Wait until late to do everything
  44. Try to force meetings in two days from now as it often conflicts
  45. And I stress "Wait until the last minute!"
  46. Assume that group members will get their parts done
  47. Develop unrealistic time frames for due dates
  48. Change requirements at the last minute
  49. Ignore all the above
  50. Think that because all parts of the project are finished. The job is done. Integration of components is when all bugs come out.
Last update on December 16, 2008