EE324 is an undergraduate course in distributed systems and advanced computer networks. The goals are:
In our everyday life, we repeatedly use distribute applications and unknowingly rely on distribute systems that run on a global infrastructure. Examples include Kakao talk, YouTube, and Facebook. The past few years have seen a remarkable growth in services and distributed applications that run on a ``cloud'' environment.
How does these distributed application work? What kinds of techniques and infrastrcture is used to build these services? What are the design principles upon which they are based, and how are those principles applied in practice? How can we make these distribute applications work better today? We will examine these issues and more during the course.
This course expands on EE323 to study real-world networked applications and provides an introduction to fundamental concepts in distributed systems. This course assumes a basic familiarity with networking concepts learned in EE323 Computer Networks. The class will cover basic techniques in distributed systems including concurrent programming, synchronization, remote procecure calls, and asynchronous I/O. As a real-world example, we will also take a look at the designs of real distributed systems, including content distribution networks, peer-to-peer networking, and data intensive computing.
|Choi, Kibum||kibumchoi at kaist.ac.kr||LG Hall||-||By appointment|
|Kim, Donghwi||dhkim09a at gmail.com||N1-820 (ITC building)||-||By appointment|
|Han, Dongsu||dongsuh AT ee.kaist.ac.kr||N1-814 (ITC building)||(042) 350-7431||Monday, Wednesday 2:30 - 3:45pmm|
Students are encouraged to talk to each other, to the course staff, or to anyone else about any of the assignments. Assistance must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write out his or her own solutions to the homework.