This is a project-oriented course on fundamentals of software development and software engineering. Working in teams, students apply a recognized software engineering methodology, a modern programming language, and software development tools (including an IDE, debugger, version control system, and testing framework) to design and implement a semester-long project – a software solution for a real-world problem. The high goal of the course is to train students to function efficiently in a real-world software development environment. To help reach that goal, the students do a lot of independent learning, teamwork, documentation and public presentation of their product and design process. The particular technologies employed in the course may change in synchrony with changes in the software engineering field, currently the focus is on engineering software-as-a-service using Ruby for programming language and Rails for web development framework.