The course's goal is to teach students how today's Internet works. Topics covered include the Internet protocol, Internet routing, routers, packet switching, network management, network monitoring, congestion control, reliable transport, network security, and applications of ML on networking. Through programming assignments, students will gain practical experience building network components and operating an Internet-like network infrastructure.
Course goals: learn how to design a secure system, probe systems for weaknesses, write code with fewer security bugs, use crypto libraries correctly, protect (or breach!) privacy, and use your powers ethically. Main topics: basic cryptography, system security, network security, firewalls, malware, web security, privacy technologies, cryptocurrencies, human factors, physical security, economics, and ethics of security.
Course goals: learn how to design a secure system, probe systems for weaknesses, write code with fewer security bugs, use crypto libraries correctly, protect (or breach!) privacy, and use your powers ethically. Main topics: basic cryptography, system security, network security, firewalls, malware, web security, privacy technologies, cryptocurrencies, human factors, physical security, economics, and ethics of security.
Multiple services we use every day, from Zoom to cryptocurrency wallets, rely on large-scale networked systems. These systems consist of a complex series of interdependent components and control algorithms, which make their management particularly challenging. In effect, we often observe disturbances such as cross-layer security vulnerabilities and unpredictable interferences across seemingly independent applications. In this course we revisit a few fundamental network topics (such as routing, monitoring, and congestion avoidance) aiming at revealing and addressing their performance and security implications.
Multiple services we use every day, from Zoom to cryptocurrency wallets, rely on large-scale networked systems. These systems consist of a complex series of interdependent components and control algorithms, which make their management particularly challenging. In effect, we often observe disturbances such as cross-layer security vulnerabilities and unpredictable interferences across seemingly independent applications. In this course we revisit a few fundamental network topics (such as routing, monitoring, and congestion avoidance) aiming at revealing and addressing their performance and security implications.
Multiple services we use every day, from Zoom to cryptocurrency wallets, rely on large-scale networked systems. These systems consist of a complex series of interdependent components and control algorithms, which make their management particularly challenging. In effect, we often observe disturbances such as cross-layer security vulnerabilities and unpredictable interferences across seemingly independent applications. In this course we revisit a few fundamental network topics (such as routing, monitoring, and congestion avoidance) aiming at revealing and addressing their performance and security implications.