
Designing and developing a complete application solution
- Class 15
- Practice 45
- Independent work 120
Course title
Designing and developing a complete application solution
Lecture type
Obligatory
Course code
22-00-528
Semester
6
ECTS
6
Lecturers and associates
Course overview
This module introduces students to collaboration in team environments while working on a larger project that contains multiple applications, HTTP-based APIs and databases.
This module is core to Software Engineering subspecialisation because it synthesizes skills attained in multiple modules in previous semesters and empowers students to apply them to a larger team project and to efficiently work, communicate and collaborate in teams. The skills acquired by this module will contribute significantly to students’ development as professionals in the respective fields.
Students will learn:
• How to work, communicate and collaborate in teams, which is crucial because of the nature of software development industry.
• How to participate in key phases of the life cycle of a software solution, from envisioning the solution, building and testing it, and finally documenting it and presenting to stakeholders.
• To apply their skills to design and implement an information system with multiple applications, APIs and databases, with special emphasis on security and privacy.
Students can use any programming language, tool and platform they choose. While working on the project, students will use current communication and collaboration tools such as Teams, Discord, Git, Jira, Trello and similar. The module assessment is based on group student projects. In these projects, students must create the entire information system to solve the given problem.
Literature
Essential reading:
1. Lauret, A. (2019) The Design of Web APIs. 1st edn. Shelter Island: Manning Publications.
Recommended reading:
1. Munro, J. (2015) ASP.NET MVC 5 with Bootstrap and Knockout.js: Building Dynamic, Responsive Web Applications. Sebastopol: O'Reilly Media.
2. Smyth, N. (2020) Android Studio 3.6 Development Essentials - Kotlin Edition: Developing Android 10 (Q) Apps Using Android Studio 3.6, Kotlin and Android Jetpack. Plano: Payload Media.
Minimal learning outcomes
- Plan a complete solution to a simpler problem in applied computing.
- Implement a complete solution to a simpler problem in applied computing.
- Recommend appropriate ways to prevent the misuse of personal data in the software product.
- Develop project documentation using classical or agile development methodology applying relevant standards and approaches.
- Explain to users and other stakeholders the details of architecture, design and finished software product.
- Present the finished software product to the stakeholders, participate in the product discussion and self-critically evaluate own contribution.
Preferred learning outcomes
- Analyse the market and plan a complete solution to a simpler problem in applied computing.
- Implement, test and deploy a complete solution to a simpler problem in applied computing.
- Implement ways to prevent the misuse of personal data in the software product.
- Develop project documentation and end-user documentation using classical or agile development methodology applying relevant standards and approaches.
- Explain to users and other stakeholders the fine details of architecture, design and finished software product.
- Present the finished software product to the stakeholders in a timely and professional manner, participate in the product discussion and self-critically evaluate own contribution.