Complex networks are a powerful tool for studying a wide range of real-world complex systems, including social, biological and physical systems. Understanding the structure of such networks can help uncovering fundamental mechanisms driving systems behavior. In particular, detection of network clusters can help identify relevant system structures and identifying hubs can pinpoint important entities of the system. In this project, we develop methods for analyzing complex networks and apply these to model real-world systems. We study static undirected and directed networks, dynamical processes on such networks and networks that change in time.