To teach students the fundamental knowledge and skills for developing and designing business applications based on an object-oriented approach.
The acquisition of specific competencies is enabled through specialized knowledge of markup languages and object-oriented programming languages, as well as skills in programming within object-oriented programming environments. Specific competencies are developed through exercises and a project assignment by creating project deliverables.
1. Approach to creating business applications. Agile application development methods.
2. Reading and understanding project documentation for the development of business software applications. Preparation for creating the user interface (input and output user forms, the business application's control subsystem). Preparation for creating the business logic subsystem. Preparation for creating the subsystem for interacting with the data repository.
3. Object-oriented programming. Class/Object, encapsulation, inheritance, polymorphism. Abstract classes. Generic classes. Exception handling. Fundamental data structures. Interaction with the operating system.
4. Programming languages and development environments for object-oriented programming. MVC architecture, API (Application Programming Interface), REST (a software architecture that provides a durable and convenient way to retrieve and modify data)
5. Software design patterns. SOLID principles. Source code versioning.
6. Refactoring program code. Improving the performance of software solutions.
7. Working with databases in object-oriented programming using object-relational mapping. Tools for mapping data into objects and their associated attributes. Mapping program logic via object-relational mapping (ORM) and a relational database. Use of ORM tools in object-oriented programming.
8. Developing business applications using examples. Applications for personnel records, fixed assets records, business partners records, etc.
1. Describe the process of creating a business application.
2. Structure software into modules and packages, and deploy business software into repositories.
3. Manage and maintain documentation and version control for business software.
4. Design and build a business application, either independently or as part of a team, that includes data entry, on-screen data display, editing and deleting data from the database, and additional functionalities of your choice.