History & Motivation

The senior project course has been a required part of the Computer Science program, in basically the same format, for at least 25 years. Early on, we used the Waterfall SDLC process to develop desktop applications using C++. Later, following industry practice, we moved to Agile practices and web applications.

The course has always been about practical software engineering. We try as best we can to listen to the needs of the software industry and graduate students who are well prepared to enter the software industry. Teamwork is a critical skill to have so we always group students into teams to develop software. When web application development took off, we adopted it. Now we use agile methodologies, a modern web application stack and deploy continuously in the cloud.

To help students learn about life in the software industry we invite speakers from industry to come talk to the class during Spring term, just before graduation. These talks are always very interesting and valuable. The talks vary widely, from insider descriptions of daily life developing software, to new tools, methodologies or technologies used, to management topics, recruiting and how to find jobs. Some speakers are invited by the professor, but most are invited by the student teams. We ask you to do this, to reach out to contacts you may have from past jobs or internships, from family or friends, because this is exactly the kind of thing you need to be doing right now. We presume you're looking for a job right now so your goal should be to get out there and talk to people in industry, read up on companies and learn about they do and what you want to do.

The Plan

  • Each team needs to invite a speaker to give a presentation, either in person or remotely. If your search is leaning unsuccessful, talk to the instructor for help finding a willing contact.
  • Work with the instructor and your speaker to schedule a day/time, preferably during class time.
  • We're hoping to hear from professionals currently working somewhere in the software industry. This is a really broad industry, so anyone from interns to software engineers to management in a tech focused company is perfect.

For the Speakers

When you invite your speaker and coordinate with them to give a presentation please take into consideration a few things. You are asking them to give up some of their own valuable time, essentially donating their time and effort, to talk to our senior class. Why should they do this? Please make it clear that we are very appreciative of their time and willingness to come talk to us. Many professionals are very willing to give back to their roots. They all remember being in university. They remember taking classes and working hard and being nervous and stressed out about life after college. Now they have a chance to share some of their wisdom, share some of their knowledge and experience with new graduates just beginning their professional careers. This is really what we're asking of them. Please "come back" and share some wisdom with the next generation of computing professionals. Our alumni are often quite willing and have fun coming back. They are a great resource.

The topic of their presentation should be completely up to them. Anything they can share will be great. Here are some guidelines/ideas:

  • We're looking for a 20-30 minute presentation with Q/A afterwards
  • Slides are great or they can just talk
  • Ideas (your speaker may appreciate receiving some questions to answer from your team):
    • Describe how software is developed at your company or organization. What methodologies do you use? How do teams work?
    • How do you do X? [testing, QA, modeling, design, architecture, deployment, ...] What about it works well or doesn't work well?
    • What should a new CS graduate know about entering your industry?
    • Do you have any tips about looking for jobs and interviewing? Is your company hiring? What kind of people do they hire?
    • What skills should I have?
    • What techologies are you using or planning to use? What are some hot topics I should know about?
    • Get the idea?

Setup

Your team is responsible for coordinating with the speaker (obviously) and the instructor to have everything set up in the class (ITC 211) and ready for the presentation. If your speaker is coming to campus, talk to Tracy to get a parking pass. If they're presenting remotely your team must set up WebEx, Zoom, Skype, ... and coordinate to get it working. Test it before the talk. Pay close attention to the microphone and speakers. We want things to go smoothly on the day of the presentation.

Post-Presentation

Thank your speaker! It is 100% required that each member of your team thank your speaker in person or by email. You must do this. If they give a presentation in person you must follow up with an email.