What genres of readings should be assigned to Prof. MSc. students?

What sort of materials should students read in a professional MSc. course in computing science? Journal articles? Research conference papers? Systems-oriented conference papers? Articles from practitioner-oriented magazines? Blog posts? Wikipedia entries? Ultimately, what is the purpose of the readings?

more ...

The service design space (2020 Edition)

Post in an ongoing series on the issues constraining service design for datacentres. A previous post presented 2019’s version, a design space for data engineering.

Starting January 2020, I will teach a course on service design for datacentres. The roster indicates that nearly all students will be in a professional master’s program. Most will be in their second semester of a program in Big Data, some will be in their fifth semester (including a two-semester paid internship), with a few in other programs. What are the key principles that should structure such a course?

more ...

"Awareness" outcomes as preparation for internships

Note: Outside activities interrupted my posting here. Where did those five months go? I did generate a lot of potential posts on distributed systems, which I’ll discuss in coming posts. This post focusses instead on course design, addressing an issue of immediate interest to me.

I recently discussed course design with some colleagues developing a required course for a professional masters program. They wanted the course to address a common concern for such programs: How to increase the core CS technical skills of students in a program focused on a specialization outside that core. Of particular concern were students who do not have undergraduate CS degrees. Although such students bring valuable experience from other domains, it is at the cost of lacking the skills developed by long-term, broad study of CS. Even students who do have such background can benefit from revisiting these topics. How can we cover so much material in the limited time of a single course?

more ...

Why is distributed consensus so hard?

Second in a series describing Howard & Mortier’s generalization of distributed consensus, expressed in PlusCal. The first entry introduced the source papers.

Updated May 27, 2020 to incorporate points from Howard and Mortier (2020) and Santos and Schiper (2013).

I begin this series on distributed consensus by stepping back from the details, considering why the problem seems so hard and specifically why literature on the problem is so difficult to read. This ultimately results from the breadth of issues that must be addressed by any solution. “Distributed consensus” isn’t a single problem so much as a class of problems, with related but distinct solutions. Before describing the specific focus of Howard and Mortier’s paper, I want to set the broader context. This context will help readers who want to apply these results to different forms of consensus.

So why is distributed consensus so hard, not just to solve, but to even describe? Turns out there’s a lot of reasons.

more ...

Generalized distributed consensus in PlusCal: Introduction

First in a series describing Howard & Mortier’s generalization of distributed consensus, expressed in PlusCal. The next post describes why consensus is hard.

more ...