Advanced application development based on templates
- About
- e-Leadership MBA
- Graduate Professional Program
- Joint Graduate Study Programme in Computer Science - Internet of Things and Artificial Intelligence
- Lecture Plan
- Computing
- Undergraduate University Program
- Learning outcomes on the program level
- Learning outcomes on the program level
- Admission
- Learning outcomes on the program level
- Learning outcomes on the program level
- Apply now
- Learning outcomes on the program level
- Learning outcomes on the program level
- Learning outcomes on the program level
- Learning outcomes on the program level
- Useful Information
- Learning outcomes on the program level
- Learning outcomes on the program level
- Useful Information
- Professional Title Acquired
- 3D Design
- Design
- Duration of the Study Program
- Undergraduate Professional Program
- Lecture Plan
- Lecture Plan
- Lecture Plan
- Useful Information
- Useful Information
- Software Package Included in the Price of the Study
- Software Package Included in the Price of the Study
- Course Schedules
- Course Schedules
- Professional Title Acquired
- Duration of the Study Program
- Digital Marketing
- Software Package Included in the Price of the Study
- Duration of the Study Program
- Lecture Plan
- Professional Title Acquired
- Useful Information
- Course Schedules
- Multimedia Computing
- Industry Certifications
- Course Schedules
- Professional Title Acquired
- Software Package Included in the Price of the Study
- System Engineering
- Duration of the Study Program
- Lecture plan
- Course Schedules
- Professional Title Acquired
- Software Package Included in the Price of the Study
- Industry Certifications
- Useful Information
- Software Engineering
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Course Schedules
- Lecture Plan
- Industry Certifications
- Useful Information
- Professional Title Acquired
- Creative Market Communications Management
- Duration of the Study Program
- Course Schedules
- Industry Certifications
- Lecture Plan
- Useful Information
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Digital Marketing
- Who Can Enroll
- Professional Title Acquired
- Software Package Included in the Price of the Study
- Course Schedules
- Lecture Plan
- Professional Title Acquired
- Useful Information
- Useful Information
- Data Science
- Industry Certifications
- Course Schedules
- Jobs and necessary knowledge and skills that graduates will be prepared for
- Course Schedules
- Duration of the Study Program
- Software Package Included in the Price of the Study
- Lecture Plan
- Duration of the Study
- Game Development
- Professional Title Acquired
- Who Can Enroll
- Professional Title Acquired
- MITx MicroMasters® program
- Useful Information
- Lecture Plan
- Software Package Included in the Price of the Study
- System Engineering
- Duration of the Study
- Who can Apply
- Course Schedules
- Lecture Plan
- Software Engineering
- Software Engineering
- Useful Information
- Study Duration
- Lecture Plan
- Lecture Plan
- Useful Information
- Useful Information
- Learning outcomes on the program level
- Learning outcomes on the program level
- Industry Certifications
- Industry Certifications
- Professional Title Acquired
- Professional Title Acquired
- Duration of the Study Program
- Duration of the Study Program
- Course Schedules
- Course Schedules
- Learning outcomes on the program level
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Partnership with Goldsmiths, University of London
- Class 15
- Practice 30
- Independent work 105
Course title
Advanced application development based on templates
Lecture type
Obligatory
Course code
21-02-503
Semester
1
ECTS
5
Lecturers and associates
Course overview
This module introduces students to applying SOLID principles in the given scenarios and identifying the need to implement appropriate design patterns.
This module provides the foundation for writing reusable and decoupled software components, which is a prerequisite for fully understanding the following Advanced Programming Paradigms module. The skills acquired by this module will contribute significantly to students’ development as professionals in the respective fields.
Students will learn:
• How to design and implement software solutions, which are valuable skills for their future challenges as software architects.
• How to determine the need to implement the SOLID principles in the given scenarios.
• How to identify the need to apply appropriate design patterns in the data, business, and presentation application layer.
The module is taught in Java and C
programming languages. The module assessment is based on individual student projects. In these projects, students must create a properly designed software solution to the given specifications.
Literature
Essential reading:
1. Gamma, E. et al (1995) Design Patterns: Elements of Reusable Object-Oriented Software. 1st edn. Boston: Addison-Wesley Publishing Company.
Recommended reading:
1. Freeman, E. et al (2008) Head First Design Patterns: A Brain-Friendly Guide. 1st edn. Sebastopol: O'Reilly Media.
Further reading:
1. Fowler, M. (2012) Patterns of Enterprise Application Architecture. 1st edn. Boston: Addison-Wesley Professional.
Minimal learning outcomes
- Determine the need to apply the SOLID principles in the given scenario, and implement them in the given scenario.
- Identify the need to apply appropriate design patterns in the business logic layer and apply them to the given scenario.
- Determine the need to apply design patterns in the data and service layer and apply them to the given scenario.
- Determine the need to apply design patterns in the presentation layer and apply them to the given scenario.
- Critically evaluate the final product in relation to the initial one, after applying the design patterns.
Preferred learning outcomes
- Argue various options for improving architectural characteristics of solution.
- Argue various options for improving solution in the business logic layer.
- Argue various options for improving solution in the data and service layer.
- Argue various options for improving solution in the presentation layer.
- Analyse solution according to “clean code rules”.