Advice from students


This page contains advice from students to students for Senior Project.



In Fall 2009 the following question was asked on the mini-exam: The answers follow.
  1. I suggest that people get over their differences and work as a team sooner rather than later. This will only increase productivity and not stop it.

  2. Show up in class, if not sure on what to do ask the professor, start early, break the workload early.

  3. Take good notes from Dr. Christensen as mini exam will cover these materials. Keep all handouts provided in this class for purpose of mini exam. Keep in frequent communication with team members - you should always be available by either email of phone, choose one. Respond promptly to team members as you man miss out on meetings.

  4. Starting early is great, but keep your momentum. It's not smooth sailing till you're done. In 1-2 weeks or less research and decide what you can or cannot do. The faster you do this the sooner you can begin. Pick a project you enjoy. Because the time will fly and you may have a job from it! Expect to spend money if you have any hardware you need to make.

  5. My advice is to really spend the first week or so researching the feasibility of the requirements you are given by your company before you commit to them in the initial presentation. Just because a customer asks for something does not necessarily mean that it is possible to do within the customer's other requirements (so they conflict). It is important to really hammer out the requirements with the customer very early on.

  6. Don't wait until the last minute to start the project (we basically started midway through the semester in early October). Go to the Guest Lectures: you learn so much from them. As a side consequence obviously to attend the guest lectures, go to class. Devote a lot of time to the class. Meet with your company and stay in contact with them. There might be lack of communication on how the project is progressing if you don't do this. Don't get distracted, and stick to your timeline and plan.

  7. The class take up a lot of time out side of class to be done correctly. USF call the class 2 hours but it feel like it a 4 hour class with a lab, with all of the time you spend outside of class. Every know this class meets once a week (off for some weeks) you need to plan this are due for that week every if you have no class.

  8. I see now why people have said come to class. I am glad I did. Not only are the lectures useful in general but they are also useful for this mini-exam! For a small recommendation, I would extend the most common recommendation by saying take detailed notes. Pertaining to the project, start early on the coding as it will help on the design. Also, make sure everybody knows their roles at every step. At times, people just floundered about not knowing what to do. Take the lead if necessary. Practically, make sure to verify your requirements in the presentations, visually if possible. Also, remember your audiences in the presentations.

  9. 1) Do not drop the class after project assignments; this impacts others as well as yourself. 2) Always be doing something, whether it is status reports, documentation, paperwork, coding whatever this is always something to be done so put the time in day by day, don't wait till the end. 3) Show up to guest lectures their there for your benefit not Dr. Christensen's, and some of them may be hiring.

  10. I think the worst part of the project for us was to find out that some of the things that the customer stated can be done were actually not feasible because of the Google framework security blocks which made us look bad on your eyes. We worked really hard to be able to make it possible which turned out to be waste of time. So one of my suggestions to future students to go out and make research to make sure the things that will except as requirements is actually possible to implement. Another suggestion, I think I did not see in the suggestion list is to elect a team leader and very well divide the work load into pieces making sure everyone has enough work on the project for 7-8 hours.

  11. Create a second traceability matrix that shows the status of each specification item (fully covered, partially covered and not covered). Use this traceability matrix when demoing to your client and update it when the client agrees a specification item is covered.

  12. The company we partnered with gave us the advice to build slack time only into the end of the project. This way, you are forced to try to meet certain goals early and if you run into troubles and need more time, it is when you are well along in development.

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 November 30, 2008