-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
130 lines (100 loc) · 6.12 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en">
<head>
<title>CS-240, Fall 2017: Computing Systems and Concurrency</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
</script>
</head>
<body>
<h1>CS-240, Fall 2017: Computing Systems and Concurrency</h1>
<div id="topnavbar">
<ul class="topnavlist">
<li><a href="index.html">CS-240 Home</a></li>
<li><a href="syllabus.html">Syllabus</a></li>
<li><a href="assignments.html">Assignments</a></li>
<li><a href="announcements.html">Announcements</a></li>
<li><a href="https://piazza.com/kaust.edu.sa/fall2017/cs240/home">Q & A</a></li>
</ul>
</div>
<div id="overview">
<div id="news">
<h2>Latest Announcements</h2>
<dl class="newslist">
<dt>11/8: Assignment 4 is out.</dt>
<dd></dd>
<dt>10/15: Assignment 3 is out.</dt>
<dd></dd>
<dt>9/20: Assignment 2 is out.</dt>
<dd></dd>
<dt>9/18: Lab 1 is out.</dt>
<dd></dd>
<dt>8/27: Assignment 1 is out.</dt>
<dd></dd>
<dt>8/15: Course starts on Sunday, Aug 20, 2:30-4:00pm.</dt>
<dd>Lectures start on Sunday, Aug 27.</dd>
</dl>
<p><a href="announcements.html">See all announcements</a>
</p>
</div>
<div id="overview_main">
<h2>Overview</h2>
<p>
This course covers introductory material on the design and implementation of computer-based systems, with an emphasis on. distributed systems. Students will gain an understanding of the principles and techniques behind the design of modern, reliable, and high-performance systems. Topics include server design, network programming, naming, transactions, concurrency and locking, consistency models and techniques, security, data-intensive computing and fault tolerance. Modern techniques and systems employed at some of the largest Internet sites (e.g., Google, Facebook, Amazon) will also be covered. Through programming assignments, students will gain practical experience designing, implementing, and debugging real distributed systems.
</p>
<p>
<i>Prerequisite:</i> equivalent of an undergraduate course on operating systems (or computer system architecture or concurrency control). Good programming skills. Knowledge and comfort with systems programming.
</p>
<p>
This course draws heavily from Princeton COS-418. This class owes most of it contents to Michael Freedman and Kyle Jamieson who developed much of the course material and released it under Creative Commons license. It is with great admiration and thanks that we are using it.
</p>
<h3>Information</h3>
<ul>
<li><b>Lecture:</b> Sundays and Wednesdays, 2:30pm - 4:00pm. Room 3128.</li>
<li><b>Instructors:</b>:
<ul>
<li> Professor: <a href="http://mcanini.github.io/">Marco Canini</a></li>
<ul>
<li>Office hours: Immediately following each lecture</li>
</ul>
<li> Teaching assistants: <a href="http://sibyani.org">Hassan Alsibyani</a>, Humam Alwassel, Guolei Sun</li>
<ul>
<li>Office hours: Humam: Mondays, 2pm, Bldg 1., 2106-WS10; Hassan: Tuesdays, 2pm, next to library cafe, Guolei: Thursdays, 2pm, Bldg 1., 4411-WS01.</li>
</ul>
</ul>
</li>
<li><b>Grading:</b> Grading is based on a midterm (15%), a final exam (35%), four programming assignments (first two assignments 10% each, remainder 15% each).</li>
<li><b>Questions:</b> Please use the class <b><a href="https://piazza.com/kaust.edu.sa/fall2017/cs240/home">Piazza site</a></b>.</li>
</ul>
</div>
<!-- ugly: needed to prevent the announcements from bleeding over -->
<hr style="clear: both; visibility: hidden;" />
</div>
</table>
<h3>Textbooks<a name="Textbooks"></a></h3>
No textbook is required for this class. We will make course material (slides, notes, readings) available from this website and point out relevant references widely available. The following textbooks may be used for supplementary course material or as references for optional reading.
<ul>
<li> Andrew S. Tanenbaum and Maaten Van Steen, Distributed Systems: Principles and Paradigms, Second Edition. <a href="http://library.kaust.edu.sa/record=b1214789~S1">Library link</a></li>
<li> Kenneth P. Birman, Guide to Reliable Distributed Systems. <a href="https://link.springer.com/book/10.1007%2F978-1-4471-2416-0">Library link</a></li>
<li> George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, Distributed Systems: Concepts and Design, Fifth Edition. <a href="http://www.cdk5.net/wp/">Book website link</a></li>
<li> Christian Cachin, Rachid Guerraoui and Luís Rodrigues, Introduction to Reliable and Secure Distributed Programming, Second Edition. <a href="https://link.springer.com/book/10.1007%2F978-3-642-15260-3">Library link</a></li>
<li> Jerome H. Saltzer and M. Frans Kaashoek, Principles of Computer System Design: An Introduction. <a href="https://koral.summon.serialssolutions.com/#!/search?bookMark=ePnHCXMw42LgTQStzc4rAe_hAm1sBrVKLE0tgRU3M-hMGyNjc2CrHFRrcoGP_AGmCANTDti4iIGxBbAONOZkUAmAjTYXK-SnKSRDLzlQgJxwrJACXuDAzaDk5hri7KGbDTolJ97YzAB0AkQ8ilHG3AyaEEWJxdnAkgNYqpQUx5flgGcji-NBR_DAHAiaflaGqIUVzPFgZdCVkvGmoPPVQUcMQq2FTO7GF0BOhogvqSiJB228swD2E4CK5LAqQlIANwWx4QmuDG4V1EGQWVS4NLqziQgHACzoeIs">Library link</a></li>
</ul>
Additional online references:
<ul>
<li><a href="http://book.mixu.net/distsys/index.html">Distributed systems for fun and profit</a></li>
<li>Also the <a href="http://book.mixu.net/distsys/appendix.html">appendix</a> from the above book has some great links (see Seminal Papers section near the bottom)</li>
<li><a href="http://christophermeiklejohn.com/distributed/systems/2013/07/12/readings-in-distributed-systems.html">Readings in distributed systems</a></li>
<li><a href="https://github.com/papers-we-love/papers-we-love/tree/master/distributed_systems">Papers we love</a></li>
</ul>
Go reference:
<ul>
<li> Alan Donovan and Brian Kernighan, Go Programming Language. <a href="https://koral.summon.serialssolutions.com/#!/search?bookMark=ePnHCXMw42LgTQStzc4rAe_hSmEGHWMDOjQM2DAw4oDGtJGxCehsM1NOBnH3fIUAyEqkXGBZreADHaXjZlBycw1x9tDNBh1_E29sZgA62iEeRbcxUYoAZjso3w">Library link</a></li>
</ul>
<hr />
<p class="lastupdated">Last updated: 2017-11-8 16:52:12</p>
</body>
</html>