Napredne programske paradigme - Software Engineering - Visoko učilište Algebra

Software Engineering

Advanced Programming Paradigms

  • Class 15
  • Practice 30
  • Independent work 120
Total 165

Course title

Advanced Programming Paradigms

Lecture type


Course code






Lecturers and associates

Course objectives

The objective of the course is to give students advanced knowledge on certain programming paradigms and analysis and design of object-oriented applications.


Structural modeling, behavioral modeling and architectural modeling using UML, testing of object-oriented applications, concept of the aspect-oriented programming, TDD, BDD, clean code approach, metrics.

Required reading

McLauglin, Pollice, West: Head First Object-Oriented Analysis and Design

Additional reading

Filman, Elrad, Clarke, Aksit: Aspect-Oriented Software Development

Minimal learning outcomes

  • Describing basic testing concepts of programming solutions.
  • Comparing testing types of programming solutions.
  • Designing and using programming tools for single-testing programming solutions.
  • Profiling - Testing programming systems and making them compatible with relevant norms.
  • Analyzing programming solution for detecting coupled code.
  • Suggesting and implementing the aspect-oriented approach for coupled code.
  • Implementing the strategy of source code management.
  • Analyzing and code refactoring by clean code principles.
  • Implementing programming metrics.

Preferred learning outcomes

  • Describing advanced programming testing concepts.
  • Suggesting and implementing at least two types of programming testing.
  • Designing instances on architecturally different parts of the application and using programming tools for single-testing programming solution.
  • Offering solutions for decreasing time spent and allocated memory for completing given programming solution based on the results obtained by using programming tools.
  • Improving programming solution to reduce coupled code.
  • Implementing at least two different aspects so that programming solutions could be organizationally improved.
  • Using at least two branches for managing the source code strategy.
  • Refactoring programming solution according to the SOLID principles.
  • Implementing one's own metric in programming solution.
Share: Facebook Twitter

Excel at what you love doing. Light the spark.

Apply now!

Why is Algebra a safe choice for your future?

A Strong

Here you will learn all about information technologies and prepare for a career that is constantly in demand. We offer you a platform for personal growth that makes you a prime target for employers.

Modern Methodology

We refuse to stand still in a rapidly changing world. Our programs stay relevant and keep up with modern trends.


We take pride in numerous accolades and our title of The best professional study program in Croatia and constantly strive to justify that trust. We do not take our task lightly, knowing that your future depends on it.


Stay informed about everything that goes on at the University. Subscribe to our newsletter.