The course provides introduction to basic concepts and techniques of design and modeling of dependable and cyber-physical systems. The course covers: basic dependability concepts, software processes for development of dependable systems (V-model, etc.), certification, model-driven software design and development, architectural description languages for SW/HW (SysML, AADL, etc.), concepts of autonomic systems (MAPE-K) and techniques for design of autonomic systems (goal-based design - TROPOS, etc.).