Advanced Software Architecture and Design
The course discusses the enormous potential application for Bitcoin-like technologies in different domains. It covers the technical aspects of engineering secure software, system interactions with crypto-currencies, and distributed consensus for reliability. The course enables students to thoroughly understand the know-how of the newly introduced blockchain technology and its applications. The course covers peer-to-peer networking, blockchain foundational concept, architecture, technologies, applications, distributed digital ledger, cryptocurrencies, bitcoin, ethereum,hyper ledgers and similar. The course covers the current and proposed implementations and applications in various domains. The course also covers different challenges facing the blockchain technologies including attack scenarios and proposed mitigation techniques.