Teaching software engineering at the undergraduate level is an exciting and challenging undertaking. Students come to software engineering with a variety of technical and sift skills which have to be strengthened, honed and channeled to produce desirable results. This paper reports on the development of a restaurant management system as part of a first course in software engineering. Results and lessons learned are presented.