CS 5150: Software Engineering
Spring 2020

The Final Weeks of the Semester

The end of the semester

CS 5150 for spring 2020 is now over. Congratulations to everybody for managing so well during the disruptions of the last few months of the semester. We had a fine set of projects with excellent final presentations.

Best wishes to everybody.

Wrap up

The final reports and handover packages were delivered on Thursday, May 14. Two teams asked for and were given extensions. If you have not yet submitted Survey 4, please do so. We want to hear from you.

We are busy reading the reports and reviewing your handover packages. I hope to get comments back to everybody in a few days time and will submit the final grades shortly afterwards.

Reading your reports and reviewing my notes from the presentations has confirmed my impressions that this has been an excellent year. Congratulations to everybody.

From the reports, it is clear that many of the teams have used the past two weeks to make significant enhancements to the projects. I am particularly pleased that several of the teams have been quite explicit about what was not completed. Gaps and bugs are natural with short projects. Clear documentation helps future developers enormously.

Week 17 (May 10 to May 14)

The course ends on Thursday, May 14, with the final deadline at 11:00 p.m. To complete the course, each team needs to do the following:

  • Deliver the final system to your client.

  • Save the entire project in your Github repository for the client's future use and for review by the Teaching Assistant.

  • Send the final report to the client and me by email.

Each individual needs to:

  • Submit Survey 4. Remember to use you NetID when you access the survey form.

I am looking forward to receiving your final deliverables. We have a good set of projects this semester and I hope that every team with complete their work well.

Good luck to everybody.

The Final Report

The final report is a short document, probably only few pages long. It is separate from the handover package which should be in your Github repository. For information about the handover package, see the final section on the page "Assignments 1 to 4" on the course web site.

The purpose of the report is to give a brief overview of what the project has achieved. Here are some of the topics that you should include in your report:

  • Short description of what has been achieved.

  • Summary of any work that was completed after the final presentation.

  • Short list of gaps in the project, recommendations for future work, etc.

  • A reference to your Github repository.

  • A statement that either the copyright in the software has been transferred to the client or a license provided, as stated in the feasibility study.

  • Any other information that you wish to pass to the course team.

Send the report to the client and to me by email.

Week 16 (May 3 to May 9)

Congratulations on an excellent set of presentations. Every team was well prepared and presented their work effectively.

You now have ten days to complete the project and deliver it to the client. If you have not done so previously, now is the time to view Lecture 21, Acceptance testing and delivery.

As you prepare your final delivery, think of the people who will maintain your software. How can you help them? What will they need? Here is some general advice:

  • Some teams demonstrated software that still lacks functions. Usually it is better to document the gaps rather than to deliver features that have been rushed and not properly tested.

  • Aim to hand over software that has been rigorously tested. Document the testing that you do and hand over test cases and test data.

  • Provide overview documentation. Future maintainers will value well-documented requirements and system architecture, as well as good code.

Please make sure that the Teaching Assistant has access to your Github repository.

Week 15 (April 26 to May 2), Final Presentations

This week we have the final presentations with demonstrations of your software systems. It is a new experience for me to have these presentations by video conference and I am looking forward to them.

  • If you have not yet done so, please send out the joining instructions for the video conference.

  • The most important part of the presentation is a demonstration of your software. Usually it is best to do the demonstrations first and then give the audience an explanation of what they have seen.

  • Demonstrations are not easy, even when everybody is in the same room. Have a rehearsal, and then change nothing.

  • Be prepared for Internet failures. If a member of your team loses their connection when they are due to present, another person should be ready to act as a substitute.

Good luck. I am hoping for fourteen excellent presentations.

Week 14 (April 19 to 25)

I hope that everybody is continuing to manage these strange times successfully.

The final presentations are next week.

  1. By the time of the presentation, you should aim to have completed all the functionality of your project. The two weeks before the final handover can then be used for testing, clean-up, documentation and delivery.

  2. Remember that the most important part of the final presentation is a demonstration of your system.

  3. There is a web page about online presentations. It is 'Projects' -> 'Online presentations'.

  4. If you are one of the two teams that has not scheduled your presentation, now is the time to do so.

Week 13 (April 12 to 18)

The project discussions last week went well. Every team is back at work and I am optimistic that everybody can deliver a good project at the end of the semester. Remember that I am always available. If you need help in any way please send email.

  1. Final presentations. Now is the time to reserve a time slot for your final presentation. See the Presentations Times page on the web site. If your client or some of your team are in time zones that make the usual presentation times very inconvenient, contact me. We may be able to schedule an evening time slot.

  2. Zoom bombing. As you may know, Zoom has serious problems with privacy and security. Cornell has provided a web page with useful information, https://teaching.cornell.edu/resource/zoom-bombing-protect-your-cornell-course.

Week 12 (April 6 to 11)

Cornell classes resume on Monday, April 6, with everybody working remotely.

For the rest of the semester, the goal is to complete and deliver your project. Because of the disruptions, you may need to revise the scope of the project, but otherwise the aims of the project are unchanged. Be sure to keep in close contact with your client.

  1. During the week after the spring break, I will speak to each project team for about twenty minutes by conference call or video conference. This will be quite informal. I want to check that you are in communication with each other and with your client, and that you have a good plan to complete the project. Please send me suggested times that are convenient for you and tell me the communications technology that we will use. I am quite open from 8:30 to 5:00, April 6 through April 10.

  2. Survey 3 is due on Friday, April 10 at 11:00 p.m.

  3. Final presentations will take place at the scheduled times, but will be entirely online. Be sure to schedule your presentations as soon as possible. A new web page has been created with tips for online presentations and meetings. It is 'Projects' -> 'Online presentations'.

  4. The Final Delivery and Survey 4 are due on Thursday, May 14, at 11:00 p.m. as previously scheduled.

Grading

The final grade for the course will be based on the project and the individual contribution to the project.

A good grade on Test 1 may be used to raise somebody's final grade, but nobody will be penalized for having done badly on Test 1.