CS455: Introduction to Distributed Systems

csu-logo
red-line
[Schedule] [Assignments] [Infospaces] [Grading] [Syllabus]

[Canvas]

[Announcements] [Home]

Syllabus

Prerequisites Professor
 

Undergraduate students need to have C or better in CS 370.

Graduate students have no requisites.

  Shrideep Pallickara
Office: Room 364, CS Building
Office Hours:
9:00-10:00 am Friday
E-mail: cs455 {aT} cs.colostate.edu
(with the obvious change)
Tel: 970.492.4209


Graduate Teaching Assistant
Shiekh Mannan
Office Hours in CSB 120:
2:00-4:00 pm Monday
2:00-4:00 pm Wednesday
E-mail: compsci_cs455 {aT} colostate.edu



Undergraduate Teaching Assistant
JeanMarc Ruffalo-Burgat
E-mail: compsci_cs455 {aT} colostate.edu

Readings and Texts:

The subject matter covered in this course will reference several textbooks and papers. There are two optional textbooks for this course.
  Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and Maarten van Steen. 3rd Edition. Createspace, ISBN 9781530281756

  Distributed Systems: Concepts and Design. George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. 5th Edition. Addison Wesley. ISBN: 978-0132143011

Other textbooks that I plan to refer to are listed below. I will only test on meterials that I cover in class.

  1. Distributed Computing: Principles, Algorithms, and Systems. Ajay Kshemkalyani and Mukesh Singhal. 1st edition. Cambridge University Press. ISBN: 0521876346/ 978-0521876346
  2. Java Concurrency in Practice. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Addison-Wesley Professional. ISBN: 0321349601/978-0321349606.
  3. Cloud Application Architectures: Building Applications and Infrastructure in the Cloud. George Reese.1st edition. O'Reilly. ISBN: 0596156367/978-0596156367.
  4. Computer Networks: A Systems Approach. Larry Peterson and Bruce Davie. 4th edition. Morgan Kaufmann. ISBN: 978-0-12-370548-8.
  5. Distributed Algorithms. Nancy Lynch. 1st edition. Morgan Kaufman. ISBN: 1558603484/978-1558603486.
  6. Hadoop: The Definitive Guide. Tom White. 3rd Edition. Early Access Release. O’Reilly Press. ISBN: 978-1-449-31152-0.
  7. Learning Spark: Lightning-Fast Big Data Analysis. 1st Edition. Holden Karau, Andy Konwinski, Patrick Wendell, and Matei Zaharia. O'Reilly. 2015. ISBN-13: 978- 1449358624.
  8. High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark. Holden Karau and Rachel Warren. O'Reilly Media. 2017. ISBN-13: 978-1491943205.
  9. Practical Cryptography. Niels Ferguson and Bruce Schneier. 1st edition. Wiley Publishing. ISBN: 0-471-22894-X/0-471-22357-3.
  10. Cryptography and Network Security: Principles and Practice. William Stallings. 5th Edition. Prentice Hall. ISBN: 0136097049/978-0136097044
  11. Unix Systems Programming. Kay Robbins & Steve Robbins, 2nd edition. Prentice Hall. ISBN: 978-0-13-042411-2.
  12. Operating Systems Concepts. Avi Silberschatz, Peter Galvin, Greg Gagne. 8th edition. John Wiley & Sons, Inc. ISBN-13: 978-0-470-12872-5.

List of Topics
1. Communications
  (a) Data encoding schemes
(b) Basic Networking: IP (v4 and v6), UDP, TCP (flow control and congestion)
2. Threads and Thread Safe programming
  Rationale for threads
  Structure of threads in memory: stack, heap, and object allocations
  Thread safe programming
3. Programming models for Cloud Computing
  MapReduce: Core design elements
4. Hadoop & HDFS:
  Developing MapReduce programs
Hadoop Distributed File System
MapReduce Runtimes
5. Spark
  Resilient distributed dataset (RDD)
Operations: transformations & actions
Spark Streaming
6.Distributed Mutual Exclusion
7. Election Algorithms
8.Architectures & Topologies
  Regular graphs, random graphs, power-law, and small-world networks
9.File Systems and Network Storage
  UFS, Network File System, Andrew Filesystem





Late and Makeup Policy
Midterm and Finals: Make-up exams are only given for extraordinary circumstances (e.g., illness, family emergency). Students must consult with the instructor as soon as possible, preferably before the start of the exam. Course examination dates are listed on the schedule page; be aware of them and plan accordingly.

Quizzes: There will be 12 quizzes. No make-ups will be given for missed quizzes. We will be dropping two of your lowest scores. Scores for quizzes that were missed will be zero.

All assignments are due at 5:00 PM on the due date. There is a late penalty of 7.5% per-day for up to a maximum of 2 days. All assignments will be posted at least 2 weeks prior to its due date. Assignments should be submitted using Canvas.



Important information for students: 

Masks are required inside university buildings. You must also meet university vaccine or exemption requirements.

All students are expected and required to report to the COVID Reporter (https://covid.colostate.edu/reporter/when:

  • You suspect you have symptoms of COVID, regardless of whether or not you are vaccinated and even if your symptoms are mild
  • You have tested positive for COVID through a non-CSU testing site, such as home test or test at a pharmacy
  • You believe you may have been exposed to COVID go to the COVID Reporter and follow the guidance under “I believe I have been in close contact with someone who has COVID-19.” This guidance will depend upon your individual circumstances

You will not be penalized in any way for reporting symptoms or concerns. 

 

Do not ask me as your instructor to report for you. It is your responsibility to report through the COVID Reporter promptly.

As your instructor I may not ask you about vaccination status or if you have COVID but you may freely volunteer to send me information from a public health official   if you have been asked to isolate or quarantine.

When you complete the COVID Reporter, the CSU Public Health office is notified. Once notified, that office will contact you and, depending upon each situation, will conduct contact tracing, initiate any necessary public health requirements and notify you if you need to take any steps. 

If you do not have internet access to fill out the online COVID-19 Reporter, please call (970) 491-4600. 

For the latest information about the University’s COVID resources and information, including FAQs about the spring semester, please visit the CSU COVID-19 site https://covid.colostate.edu/.




Professional Conduct
All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department and the department conduct code. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

This course will adhere to the CSU Academic Integrity Policy as found in the Student Conduct Code. At a minimum, violations will result in a grading penalty in this course and a report to the Office of Conflict Resolution and Student Conduct Services.

Students not already familiar with the CSU Honor Pledge should review this clear and simple pledge and always adhere to it. Academic dishonesty will be dealt with severely. The first instance of cheating will result in negative credit. The second instance will result in a failing grade and other penalties dictated by departmental and university policies.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors). In particular: 

  • Please turn off the ring on your cell phone. If you are expecting an emergency call, sit near the door and slide out discretely to take it.
  • If at any time the instructor judges that an electronic device is becoming a distraction the student may be asked to to turn it off and put it away.

We require you to follow the guidelines listed below for postings on Piazza:

  • Be professional.
  • Be courteous.
  • Do not post any questions about your grade or any grading issues. Such questions are private communication and must be emailed.
  • Do not post any opinions regarding your graded assignment or any aspect of the course. You will have a chance to submit anonymous reviews at the end of the semester. Email feedback to the instructor regarding the course is acceptable and welcome.
  • The instructor reserves the right to delete postings that do not promote a conducive learning experience for students in the class.



 


Department of Computer Science, Colorado State University,
Fort Collins, CO 80523 USA
© 2022 Colorado State University