In this course we cover fundamental technological components that make up today’s Web. The Web serves human beings in millions of different ways and the underlying infrastructure supporting it bears the direct consequences: fast pace of changes and complexity. Although it is not a seminar course, the course material will continue to evolve over time accommodating breakthroughs and changes in the Web and yet we will keep the emphasis on identifying core and enduring paradigms and technologies and incorporating hands-on projects. We begin with an overview of web architecture and then proceed to distributed computing models, services and protocols.
There will be a series of programming projects including MapReduce and other distributed data processing models. Previous lectures have covered implementation of PageRank in Hadoop and a toy search engine using its result.
|Week 2||Web architecture (clients, proxies, servers, web caches)|
|Week 3||CDNs, overlays, P2P|
|Week 4||Introduction to cloud computing services|
|Week 5||Modern distributed systems|
|Week 6||Introduction to data parallelism|
|Week 7||MapReduce & Hadoop|
|Week 8||(Mid-term exam)|
|Week 8||Applications of MapReduce (PageRank, ...)|
|Week 10||Graph processing via SPAR/Pregel|
|Week 11||Green technology|
|Week 12||Data center networking|
|Week 13||Web-scale attacks|
|Week 14||Future internet design and approaches|
|Week 16||(Final exam)|