Advice from students


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



In fall 2019 the following question was asked on the final exam: The answers exactly as the students wrote them are as follows.
  1. Time management is the key to succeeding in this course. Set aside time to learn how to engineer (3 credit hours) then set aside more time to engineer your senior project. Do not neglect either aspect of this course.

  2. Respect your group members by making sure they follow the schedule the group decided on. We are all adults, so we should all take responsibility for our commitments. Don't be afraid to call someone out because they will probably appreciate it.

  3. Do not try to work during lectures. You will neither learn nor produce good work. Respect the guests and do your future self a favor by taking notes during the time allotted because most guest slides are not posted.

  4. Just keep working. Don't worry about if your partners are doing any work or nothing could get done.

  5. Don't be afraid to ask your sponsor for help, they are professionals for a reason.

  6. Don't go to office-hours empty handed, you can't get much help if you haven't even started.

  7. You think that you have a lot of time with about 12 weeks but this time goes by fast. Plan everything early on and work with your team and start developing early and have a MVP that you can show Dr. Christensen so that he can give advice. Don't procrastinate. Team and Project Matter. Don't pick a project that you do not know anything about pick something that you are familiar with. And if you do not get along with a person don't pick that team.

  8. Make sure you use the resources at your company. Odds are someone at that company is doing the same thing and you can ask for help with your project.

  9. Do not sell yourself short. Do not go for the bare minimum. Show them that you can do more and go above and beyond.

  10. Start project early and update documents often.

  11. Keep good communication with Dr. Christensen and the company you will do work for.

  12. Listen during the company talks, especially for specific eye-catching phrases.

  13. Make sure to have routing meetings with your group and company to make sure the project is on track and suiting the expectations of your company.

  14. Good planning will lead to a good project. By doing so you can avoid errors that will cost you a lot of time.

  15. If you don't like your teammates, even if you love your project try to move to a project where you are more comfortable. You might get the short end of the stick in the lottery, but you have to complete your project satisfactorily at the end of the day. Do what you must.

  16. You get what you put in. If you want to take it easy this semester, its ok. Just pick an easy project. It's just a class. However, if you really want to challenge yourself, be prepared to put in the effort. It will be worth it.

  17. It's unfortunate but project management is more than just getting work done. This means using your interpersonal skills to make everyone want to work on the project. It feels better knowing you all share a common goal in good faith.

  18. Be sure to communicate with your company on a regular basis and show them the product so you can get constant feedback. Know the strengths and weaknesses of your team - not all members will be proactive so be ready to assign them work so they will put in effort as well.

  19. Write code that can be read by others, comment, and provide documentation if time permits. Don't copy and paste a function 10 times in the same program - generalize it and put it in another file to be used by the whole program.

  20. There is a lot of paperwork in the class. Do not let it take away too much project time. Engineers, not bureaucrats, and Christensen knows this.

  21. Present to the company at least two times, preferably three. Incorporate feedback if it is not a large-scale change to requirements.

  22. If you make changes to your code during a demo or other meeting, commit to a new branch and test because you will likely forget.

  23. Go to lunch with your group after every class if possible, and do your status report there.

  24. Take good notes for guest lectures. Not just what the company says or does, but also any memorable quotes that a speaker might say. (Take note if Dr. Christensen is jotting his own notes).

  25. Try to get teamwork issues sorted as soon as possible. The longer you wait the more likely some part of the project fails.

  26. Know what to prioritize. A working prototype for a demo is probably more important than perfecting the test plan document early on.

  27. Meet with Dr. Christensen often if you need advice or if you are unsure if what you have for the project is enough.

  28. Watch Professor C. if he is writing notes so should you.

  29. Look at past exams look for patterns in questions.

  30. If you can pick your group before your project this will help nothing worse than having teammates that don't do work.

  31. Get whatever data you need from the company as soon as possible (preferably the first week). This way you can start implementing immediately.

  32. If the technology stack is not a constraint, use one that you've worked on in the past or choose a stack that is easy to use.

  33. Start implementing no later than week 2. Some projects are hard to implement so you better start coding sooner rather than later. You don't want to start when all your other projects are due.

  34. Manage your time well and efficiently, don't get bogged down.

  35. At times you will be frustrated and want to quit; power through and keep going.

  36. It is essential the project you pick is a manageable one and one with people you know and worked with in the past.

  37. Do any internship or coop you can get in your field. The experience will benefit you more than you expect.

  38. Try to get a full night's rest. You can get 8 hours of work when exhausted done in 2 when well rested.

  39. Schedule everything and stick to that schedule as much as possible. You will find you have more free time when you have planned your time properly.

  40. Develop and solidify a team meeting minimum once a week. Make sure in these meetings you effectively communicate goals each member wants to achieve, and before ending the meeting make sure there is one unified goal/vision for the next week's work. Ensure all members are heard and included.

  41. Start all documents ASAP. This will enable you to have enough time to clear up confusion, make modifications and most likely get the deliverable done right and on time. Deadlines matter.

  42. Make a project plan within the first week you are assigned your project. Even if your plan deviates from the original, it will be clear what goal your team is trying to achieve. Ensure that you allow planned time for research as your project may be new to you or some of your members.

  43. Pay attention to and review the lecture slides when making your documentation, not just for what to do, but why. If you put effort into them, they make the project easier.

  44. Try applying the agile methodology to your project group. If at the end of every week or two you don't have functioning software, something might be wrong.

  45. Don't hesitate to ask or consult the company for technical help. They are probably familiar with the language(s), practices, development tools, etc. that you need. They don't expect you to already know the answer and they understand you're a student; you'll get a lot more done a lot faster and a lot better by asking for help early.

  46. Communicate, communicate, communicate. While going through your project continue to communicate constantly. Even one week of no communication could be a major setback.

  47. Make sure you are specific when you first meet with your company. Get all the details and info on the first go around so you don't miss anything of fall behind.

  48. Have fun with your project. This is what most people taking this call will be doing for the rest of their lives so enjoy what you are doing and it will show in the product.

  49. Pick a project that interest you and make sure you meet with your team.

  50. Know the schedule of your team members so you know when to meet.

  51. This class to help you get a sense of how industry world. So, make sure you ask many questions.

  52. Take time to think about the workload you will have from your other classes, and if that will be compatible with the projected workload of the project sign-up for.

  53. Create and maintain good lines of communication with your team. Whether it be email or messaging app, ensure you and your teammates are always able to communicate in a timely manner.

  54. Mett as a team, if possible, to conduct document review prior to submission. This will allow you as a team to stay on the same page regarding the various documents you have to submit, and it will also enable team members who might not be as good as other in writing documentation to learn more.

  55. As a computer engineering student I would highly recommend taking software engineering as one of your elective choices as most classes will benefit from such a decision. I know it could have helped me in senior project.

  56. As a student you should take algorithms the year at which you plan on getting/sending out job offers as it will be highly beneficial as many companies will ask you these algorithms based questions.

  57. As a student you should try and continuously practice your coding throughout your entire career here at USF. Although it may seem beneficial to get these classes out of the way early in your career here at USF you could potentially forget some key concepts. Never forget your training and stay on top of it!

  58. Teamwork if very important. It will make your entire class run smoothly. Make sure to meet with your team each week. Give each updates on the process of each other's work (this will help if any changes need to be made throughout the project).

  59. Start early! Although it may seem like you have a lot of time for the project, starting early will give you time do to the project right.

  60. Attend every class! There is a lot of useful information to be gained that can be applied to your project. Plus, you can get a good understanding of how the work world is like from the guest lectures.

  61. Meet often with the company; this can't be said enough. The only real way to get a meaningful work experience is to spend time with the company reps. This will expose you to all the aspects of the company. Although the project is your focus, there is much more to experience, like the work environment or examples of teamwork and collaboration.

  62. Take extensive notes of the guest lectures; it is not enough to get a general idea because lectures may have topics in common. The questions are direct quotes.

  63. Do not procrastinate: This class has many requirements on top of completing your solution. Don't waster the time you have at the beginning. Time is a critical constraint that you can't get back.

  64. Pay attention to the lecture about teamwork. These methods could be new to you but are tested and proven in the work environment.

  65. Talk with the professor. Just go to his office hours or send him a 3-minute email. It is much easier then complaining about something that you don't understand (because he will take the time to explain it to you). Even last minute advice helps too.

  66. If the ethics or morale of your team negatively affects you (1) talk to your professor (2) you do not need to physically meet with the. Remote meetings work as well.

  67. If you have to ask yourself "who is leading the group." It's you. Take a few hours to organize things. Take initiative.

  68. Do a little bit each day. We all have classes and it all piles up at the end of the semester. Doing 25 minutes of research every other day for a week gets a lot done.

  69. "Anything worth doing is worth 'half-assing'" If you find yourself paralyzed by the fear of your own goals for the project, know that you don't have to do all of them. Requirements can be changed and revised. In the end what's important is to have something done, because you learn from each experience. That project that you think you didn't do all you could was valuable to your experience moving forward.

  70. It is very important to have a strong starting foundation. Yes, the requirement document is frustrating and the background research is annoying, but doing all this work early on saves a lot of stress later on in the projects.

  71. Get started working on a prototype early, even when developing requirements.

  72. Don't always depend on other to do the work they're given perfectly. Always have a backup and backup plan.

  73. Update your company at least once a week to ensure progress is being made and you get any help you need.

  74. You get out of the class equally to what you put into it.

  75. Take advantage of the guidance of the actual working engineers/professionals that present.

  76. If you have a hard project focus on learning new things sort looks good on your resume, and if you have an easy project focus on cementing what you already know so it looks good on your resume.

  77. Try to get as detailed requirements from a company during the first week as it is possible. That will encourage them to think it over and make the changes to them at the beginning instead of developing stage.

  78. Get to know your group partners code writing skills beginning for a proper team management, and work distribution.

  79. Use shared cloud documents for requirements and test cases so each member has access to the most recent one during the developing stage.

  80. Start your project early and keep working on it consistently.

  81. Stay in touch with your customer and provide status updates weekly.

  82. Don't be reluctant to disclose project difficulties with your customer, talking with them can give insight into your problem and expose solutions for it.

  83. Ask lots of questions, truly understand constraint.

  84. Communicate well with your teammates don't dismiss them.

  85. Take lots of guest speaker notes.

  86. Be realistic with what goals you can and cannot do and tell your company but first discuss with Dr. Christensen.

  87. Dr. Christensen senior design course slides and readings are on the website. Students should familiarize with material before lectures.

  88. When taking notes, consider to take nots for the course as well as for the future. Materials, discipline and structure will be used in the engineering career field. In other words, be detailed and take good notes.

  89. Get to know Dr. Christensen, he is very intelligent and has a lot of advice to help students. Dr. Christensen is a very good person for networking with, so another plus.

  90. Make sure your teammates understand the concepts behind the documents you will be working on. If a required section of a document seems out of place, it is likely because you are misunderstanding it.

  91. If you are working on software, make sure you use version control resources and repositories. Every member of your team should be able to access the most up-to-date code at any given time.

  92. When you are giving feedback to another group, make sure to be honest and provide detail. Your feedback will help tremendously because they probably didn't have the opportunity to present their project to many people.

  93. Manage your time. I know it sounds cliché but during senior project you get a lot of tasks that are due on a weekly basis. Try to set time aside to work on these tasks. This helps to have everything well documented and being prepared. This will carry on when you are in a real world environment where deadlines must be met.

  94. Seek advice or help. There are times when you don't know which direction to turn and you have come to a standstill on your project. If that is ever the case, go talk to Dr. Christensen. He is available and is willing to help you get back on track.

  95. Go to class. Senior project has a lot of great guest lectures that come and talk about their company and give advice about how to succeed and what companies look for in individuals. It is also a great way to network and possibly land a future interview.

  96. Understand how important nailing your requirements and specifications are (even if you update them and you will!)

  97. Be quick to set a meeting schedule (weekly or bi-weekly) with your group members to recap and plan the next goals (good time to do your status report).

  98. Pay attention and take concise notes on the guest lectures. They have industry experience and crucial insight on how to successfully work in teams now, and in the future.

  99. Make sure you thoroughly review the projects of each company before you make a choice. Try to understand your skills and if it is suitable for that project.

  100. Try to get along with your teammates. Even if you feel that you are more knowledgeable than them, don't dismiss their ideas or possible solutions. They are more knowledgeable than you think and you can actually learn a thing or two from them.

  101. The prototype demo is extremely important. Make sure you start your project with the demo in mind. You want to try to fully implement most of your requirements. Make sure you rehearse and practice the demo before the actual demo.

  102. Communicate with the company regularly and explain any problems you have run into. The company can offer solutions or work with you to adapt the scope of the project.

  103. Start work on your solution right away and schedule specific days and times where you will only focus on the project. This will prevent you from getting overwhelmed with work later in the semester.

  104. Make sure your design is realistic for the small amount of time you will have to implement it. Understand the many features that are necessary to fulfill most of the requirements and focus on those.

  105. Have the first meeting with your team. By the second or third day of class, I think there is a purpose to choose your company on your first day. It's to not just say you chose a company, it's to really give you a good head start and the way to start is to have a good meeting that you express your strengths, your work ethics, your schedules, and your decisions that will help you guys start working as a team.

  106. If you notice by the third week your team members are leaving you out or being rude and not taking any of your input, tell Dr. Christensen. If you don't you will regret it in the end because your team may not respect you or leave you out or even force all the work on you.

  107. Follow the lecture slides, they really help for the deliverables and to study for the exam. And the readings are useful for the design process and team building.

  108. Delegate each individual's responsibilities early and often so that all team members are as productive as possible throughout the entire process. This also provides and effective means for the group to hold each other, and itself as a whole, accountable.

  109. Meet as a team outside of class often. I'd personally recommend at least once a week. Communication is better face-to-face and the help you can offer each other is invaluable. Plus, many of the tasks you will face are not possible to work on outside of group meetings.

  110. Listen carefully to Dr. Christensen and take careful notes. He is very particular and expects you to be the same, but you will honestly grow for it. The companies you will report to will appreciate and expect the same level of preciseness Dr. Christensen expects. There's a reason for it
Last update on July 24, 2023