CSIS 604 - Fall 2018

Syllabus

Official Course Description

This course covers basic techniques for the design and construction of distributed systems. Its aim is to give the skills needed to build simple systems and to identify key issues for the analysis of distribution problems.

Required Text

There is no requied textbook to purchase for this course, but there will be a lot of required reading of literature and of online tutorials and guides. In addition, some of the more theoretical lectures will be derived from Distributed Algorithms: An intuitive approach. I would say that textbook is optional as it depends on whether you learn best from a textbook or not.

Course Details

Contact Information

  • Professor: Dr. Paul Anderson
  • Office: 313 HWEA
  • Office Hours: Before and after class
  • Office Phone: 843-953-8151 (I never pick this up, but it does exist :)
  • E-mail: andersonpe2@cofc.edu. I will respond to emails within 48 hours during the week.

Course (learning) outcomes

  1. Learn and apply the theory of distributed systems, including architectures, processes, communication, synchronization, consistency and replication, distributed file systems, big data processing systems, distributed object-based systems, web-based systems, and coordination-based systems.

  2. Implement 2 - 4 large scale distributed systems that provide solutions for problems for the following applications: big data-oriented, CPU intensive, web-based, and cloud-based.

  3. Research modern distributed system problems and proposed solutions

  4. Learn how to install and manage software and technology related to distributed systems.

Expectations

This is a graduate level course, and a course that requires both theory and practice. From a practice perspective, technology changes. If our goal was only to teach you the latest technology, we would give you a recipe to follow and you would follow it and gain experience with the technology. But neither leads to a deep understanding nor does it extrapolate to new technology. To learn the practice in a deep way, we need to create an environment where students can develop their own questions and their own answers. To do this, we need an environment that celebrates some uncertainty and discomfort. Now is a good time to think “get to the point”. The point is I am going to purposefully give you assignments with plenty of possibilities for road bumps and more importantly chances for everyone to figure out how to navigate a complicated tech scene. On the theory side, we are going to read papers, explore state-of-the-art ideas, and critique them. These will require you to dig a little bit for the necessary background as these papers build upon a lot of previous work.

Grading Policy

  • Quizzes - 40%
  • Programming and Technology Assignments - 40%
  • Literature Write-ups - 20%

Grading Scale: A: 90-100; B: 80-89; C: 70-79; F: <70. Plusses will be used at the discretion of the instructor.

Grading Guidelines: Submitted work requires Analysis, Evaluation, and Creation of ideas, concepts, and materials into various deliverables (e.g., see revised Bloom’s Taxonomy and reference below).

  • The grade of A is for work that involves high-quality achievement in all three Bloom areas.
  • The grade of B is for work that involves high-quality achievement in at least two Bloom areas, and medium-level achievement in the other.
  • The grade of C is for work that involves high-quality achievement in at least one Bloom area, and medium-level achievement in the others.
  • The grade of F is for work that does not meet above criteria.

Reference: Errol Thompson, Andrew Luxton-Reilly, Jacqueline L. Whalley, Minjie Hu, and Phil Robbins. 2008. Bloom’s taxonomy for CS assessment. In Proceedings of the tenth conference on Australasian computing education - Volume 78 (ACE ‘08), Simon Hamilton and Margaret Hamilton (Eds.), Vol. 78. Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 155-161.

Feedback will be given as quickly as possible with a goal of within a week of the assignment due date.

Honor Code

You must do your work alone (or with your teammates, for group assignments). You must identify your sources of material and inspiration. It is a violation of the honor code to present someone else’s work or ideas as your own. In any course deliverable, you must always identify the person(s) that helped you (directly or indirectly), if any, and explain their contribution to your work. Also see the College of Charleston Student Handbook, especially sections on The Honor Code (p. 11), and Student Code of Conduct (p. 12). There is other useful information there. Classroom Policies

No late days will be allowed without an excuse. Falling behind on assignments will make it difficult to achieve the learning outcomes of this course.

Late Policy

No late days will be allowed.