CSIS 604 - Fall 2016
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.
Distributed Systems: Principles and Paradigms by Tanenbaum and van Steen - http://www.distributed-systems.net/index.php?id=distributed-systems-principles-and-paradigms
The copyright has been returned to the author, and now the book is free! You can download it using the link provided above.
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.
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.
Research modern distributed system problems and proposed solutions
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).
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.
This course will be taught in roughly two modules. The first is a discussion of the principles, background, and theory of distributed systems. This will be supported by the required textbook. The second module of the course will focus on implementation. In module 1, each day will go as follows: 1. Exam over previous week’s material; 2. Overview lecture on the chapter; 3. 15 - 30 minute team individual study (details below); 4. Discussion presentations to the class.
During the first module, exams will be given every Tuesday at the beginning of class (except the first class). There is no final exam for this course. Each exam will have an in-class portion and a take home portion. The take home portion is due at the beginning of class the day of the exam.
Programming assignments will be assigned in module 2. They will consist of both short skill building exercises and longer more in-depth projects.
Approximately an hour long each week summarizing the chapter and content for the week.
Discussions will be conducted following lectures. They will work as follows. Teams of 3 people will meet and discuss the lecture for 15 - 30 minutes. They are tasked to research and expand upon a topic provided in the lecture using the textbook, the internet, etc. Topics will be assigned at random. Team lead must rotate. Then each team will present what they have discovered to the class in an 8 minute presentation.
Implementation days are lab days. You must attend the entire time and work on your assignments and projects.
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.
No late days will be allowed without a documented excuse.
For each take home exam, you must upload your solutions to an OAKS dropbox by the due date. For each numbered portion of the assignment, you must complete the following.
https://www.dropbox.com/s/d2h2evvs3sf0nt4/exam-1.1.1.docx?dl=0
Failure to do so will result in an automatic 10% deduction from your score. Make sure you have a file for each portion of the exam. Make sure you don’t deviate from the numbering scheme. All will be well :)
(All details are subject to change)
Chapter 1 and 2
Chapter 3
Out of town
Chapter 4
Chapter 5
Chapter 6
https://anderson-lab.github.io/take-home-exam-5-csis-604
Class starts at 7 PM because of JIAB
No class
Chapter 7
Break
Implementation 1 (http://anderson-lab.github.io/implementation-1/) - Due 11/16
Group spreadsheet: https://docs.google.com/spreadsheets/d/1QuYe_8gHuYMIhPPz_HeMeIWgFMcfU5WDWhO6bWppDMI/edit?usp=sharing
Implementation
No class. Fall break.
Implementation 2 (http://anderson-lab.github.io/csis-604-fall-2016-implementation-2/) - Due 11/23
Implementation
Implementation 3 (http://anderson-lab.github.io/csis-604-fall-2016-implementation-3/) - Due 12/7
Implementation
Extra credit: https://anderson-lab.github.io/csis-604-fall-2016-extra-credit/
Topics Discussed
Implementation Experience
The Anderson Data Science Research Lab specializes in applying data mining, machine learning, and artificial intelligence to the fields of bioinformatics, genomics, and metabolomics. We develop algorithms and software to tackle some of the most challenging and interesting data intensive problems in the life sciences. Our research interests include data science, big data, pattern analysis in high-dimensionality data sets, evolutionary computation and optimization, machine learning, computational genomics, cloud computing, computational metabolomics, and eScience. We currently have multidisciplinary projects underway in metabolomics, human cognition, toxicology, marine biology, medical genomics, biomedical informatics, and marine genomics.