
Software design and architecture
Improve your ability to write comprehensible code resulting in robust and adaptable programs! In this course, you will delve into fundamental principles of software design, explore design patterns, and gain insights into quality attributes of software code. Join and take the next step towards mastering the art of software design and architecture!
Facts
Target audience:
Individuals with basic programming knowledge and experience who wish to take the next step and improve their ability to write comprehensible code that is robust, adaptable, and meets the quality requirements.
Prerequisites:
Basic knowledge of programming, including object orientation, inheritance and polymorphism.
Scope:
The course comprises 40 hours combining self-study and online meetings.
Location:
Online
Language:
English
Price:
The course is carried out as commissioned training and is subject to a fee.
The price is SEK 3 800 excluding VAT per participant.
Registration:
Register via the link below.
About the course
The course is divided into three parts:
- design principles
- design patterns
- quality characteristics in program code
In the first part, you will learn about the SOLID principles and Booch's metrics to understand how to think and reason when writing program code. In the second part, you will learn about different design patterns that can be applied to solve common problems that arise in software development. You will learn how design patterns can be used to communicate design, and how they help you create code that is easy to read, well-structured, adaptable and robust. In the third part, you will learn about different quality attributes and how they affect the design and architecture of a program. You will learn techniques that you can apply to achieve the different quality characteristics and to meet the quality requirements of your program code.
Course structure
The majority of the course consists of self-study where theoretical and practical learning is combined in an engaging way. The course uses short and focused videos and integrates theoretical material with code examples to facilitate rapid learning and absorption of new concepts and techniques. To improve participants' skills in solving real-world problems, the course also includes practical exercises that provide opportunities to apply the acquired knowledge. In addition to self-study, the course also includes three online sessions consisting of applied examples, discussion and group work.
The course is structured as follows: self-study (34 hours) and meetings (6 hours)
The course is structured as follows
Self-study (34 hours): Participants work through a number of sections on their own.
Online meetings (6 hours): The course includes three online meetings where participants meet for two hours each time. The meetings will take place online via Zoom.
To be approved
To pass the course, a passing grade on all assignments is required.
Teachers
Josef Hallberg is assistant professor in distributed computer systems and appointed as an excellent teacher at Luleå University of Technology. He has taught software engineering for over 20 years and has also taught object-oriented programming in several educational programs. Working as a programmer in various research projects, both large and small, the need to write understandable, flexible and robust code has become a cornerstone and is now a central part of the software engineering courses he teaches.
Expression of interest
Registering your interest is not binding. The course starts when enough people have registered their interest.
Contact
LTU Professional Education uppdragsutbildning@ltu.se
Updated: