What, A Senior Project?
Everyone loves their group senior project experience. What will it be like?
History
LMU has had a proud,
30+ year history of senior capstone courses — a group project in the fall,
and an individual project in the spring.
Why?
You are taking this class not only to become a better person, but also to get prepared for
a high-paying job in the software industry. By “get prepared for” we mean you
are going to do things that prospective employers love to see that you have already done.
And you are going to learn and use (both orally and in writing) the right vocabulary.
What Will We Do?
You are going to
- Gain a lot of experience
- Get good at version control (git
in particular, with lots of branching and merging)
- Unit test like crazy
- Write integration tests
- Learn how unit and integration tests differ
- Learn about, and practice, continuous integration
- Use build tools
- Release early and often
- Build an app of much higher complexity than you thought you could
- Gain experience coding both client side and server side
- Build a REST-based interface to separate client and server side functionality
- Work with a database in your application
- Use a variety of languages
- Master at least one development stack
- Read Uncle Bob’s Clean
Code book (Yes you have to read the whole book)
- Watch a few Uncle Bob videos
- Increase your coding expertise by leaps and bounds
- Participate in standups every class
- Learn what agile development really is
- Use Project Management software (probably Rally or AgileZen)
- Enjoy a bunch of guest speakers: project managers, recruiters, senior devops professionals,
world-renown experts
- Work nicely with your classmates
- Have fun
- Laugh (with, never at, each other)
- Help each other cheerfully
- Congratulate each other
- Refrain from being a jerk
- Write the necessary and useful documentation (not the superfluous and misleading documentation)
- Journal your experiences on a wiki
- Write using clear, technical language
- Keep all your work in a public github repository, to impress your friends and potential employers
- Present your work at the end of the course to fellow students, faculty, alumni,
administration, and family — then party
Did you say “Documentation”?
But of course. You will document both:
- What you need, what you want, and how (to some extent) you want to build something.
- What you’ve done, so someone can not only use but also extend and
modify your work.
Your project will be kept in a project notebook, which is really just the wiki
for whichever repository you will be using. Here are some of the previous notebooks:
You’ll also be responsible for a meeting log. These can be fun.
Here are some of the previous logs; as you can see, some groups did better than
others: