Version 2017-Spring-1.0, Revised 7 January 2017
CS-383 01 --- Spring 2017
CS-383 Cloud, Parallel, and Distributed Computing
Credit and Contact Hours
Lecture: 3 hours/week
Catalog Course Description
The course introduces basics of Cloud Computing and fundamental computing technologies used for Big Data platforms such as Parallel, Distributive and Cluster computing models.
Dr. Karl R. Wurst
See http://cs.worcester.edu/kwurst/ for contact information and schedule.
Meeting Time and Location
It's in the Syllabus
Dirk deRoos, Paul C. Zikopolous, Roman B. Melnyk, Bruce Brown, and Rafael Coss
In addition to the textbook, to successfully complete this course you will need:
- Laptop Computer: You will need a laptop computer that you can bring to class sessions and can use at home. The brand and operating system (Windows, Mac OS X, Linux) is unimportant - the software we will be using runs on all major operating systems and can be downloaded for free. It is expected that you will download and install required software as needed over the course of the semester.
- Internet Access: You will need Internet access for access to:
- Amazon Web Services - We will use Amazon Web Services to run our code. You will receive $100 of credit through WSU's Institutional Membership in AWS Educate. You will be responsible for any usage fees over your initial $100 credit and will have to guarantee your account with a credit card.
- WSU Gmail - You must check your WSU Gmail account on a regular basis. We will be using a class Listserv to communicate, and you will be subscribing to OpenMRS mailing lists.
- Tutorials and articles - I will suggest, and you will research on your own, tutorials and articles for you to learn new technologies and techniques we need.
Where Does This Course Lead?
- CS-483 Big Data Analytics Capstone
- Your professional career
Course Workload Expectations
This is a three-credit course. You should expect to spend, on average, 9 hours per week on this class.
You will spend 3 hours per week in class, learning new distributed processing models, languages, and techniques. In addition, you should expect to spend, on average, at least 6 hours per week during the semester outside of class, reading, finding resourses, and coding. (See Definition of the Credit Hour)
Definition of the Credit Hour
Federal regulation defines a credit hour as an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutional established equivalence that reasonably approximates not less than -
- One hour of classroom or direct faculty instruction and a minimum of two hours of out of class student work each week for approximately fifteen weeks for one semester or trimester hour of credit, or ten to twelve weeks for one quarter hour of credit, or the equivalent amount of work over a different amount of time; or
- At least an equivalent amount of work as required in paragraph (1) of this definition for other academic activities as established by the institution including laboratory work, internships, practica, studio work, and other academic work leading to the award of credit hours.
---New England Association of Schools and Colleges, Commission on Institutions of Higher Education, Policy on Credits and Degrees
This course has a prerequisite of CS 373 - Operating Systems, which had a prerequisite of CS 254 - Computer Organization and Architecture. I expect that you have some familiarity with concurrency, multiple processor and inter-process communication issues, including deadlock concerns. I expect that you have some familiarity with file systems and with how they work.
CS 373 required CS 282 - Unix Systems Programming. I expect that you are comfortable with working on the command line of a Linux/Unix-based operating system.
CS 282 required CS 242 - Data Structures. I expect that you are conversant with various data structures - in particular arrays, list, and hash table/dictionaries.
CS 242 and CS 282 required MA 220/290 - Discrete Mathematics I/II. I expect that you can do basic analysis of algorithms, such as determining the complexity of an algorithm using Big O notation.
CS 373 required EN 252 - Technical Writing. You should be able to write professionally. You should be able to write professional-quality reports, memos and documentation.
If you are missing any of this background, you should not take this course.
You are expected to attend every class. In many class sessions we will be working together in groups, and if you miss classes you will not get to experience all of the course material and activities.
The course introduces basics of Cloud Computing and fundamental computing technologies used for Big Data platforms. It covers basic data storage, management and processing approaches used on Clouds. It discusses Cloud Computing components, Cloud Computing architecture and their implementations as well as management and security methods used for Big Data. It introduces computing technologies used on Clouds such as Parallel Computing, Distributed Computing and Cluster Computing. Students will be exposed to a variety of computing techniques for Big Data platforms and analyze their efficiency for different applications. The list of discussed approaches include but not limited to Parallel DBMS and Map Reduce technologies.
Course-Level Student Learning Outcomes
Upon successful completion of this course, students will be able to:
- Understand Cloud Computing components, Cloud Computing architectures and their implementations
- Apply Cloud Computing principles, management and security methods
- Apply methods of Parallel Computing used for Big Data processing
- Apply methods of Cluster Computing used for Big Data processing
- Apply Distributed computing methods used for Big Data processing.
LASC Student Learning Outcomes
This course does not fulfill any LASC Content Area requirements, but contributes to the following Overarching Outcomes of LASC:
- Demonstrate effective oral and written communication.
- Employ quantitative and qualitative reasoning.
- Apply skills in critical thinking.
- Apply skills in information literacy.
- Understand the roles of science and technology in our modern world.
- Understand how scholars in various disciplines approach problems and construct knowledge.
- Display socially responsible behavior and act as socially responsible agents in the world.
- Make connections across courses and disciplines.
Program-Level Student Learning Outcomes
This course addresses the following outcomes of the Computer Science Major.
Upon successful completion of the Major in Computer Science, students will be able to:
- Analyze a problem, develop/design multiple solutions and evaluate and document the solutions based on the requirements. (Emphasis)
- Communicate effectively both in written and oral form. (Emphasis)
- Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development. (Emphasis)
- Map-Reduce Programming
- Functional Programming
- Distributed File Systems
- Parallel Architectures such as SIMD and MIMD
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- Parallelization of Tasks
- Communication Overhead
Your grade in the course will be determined as follows:
|Attendance and Participation||25%|
|Projects and Homework||25%|
|Final Group Project and Presentation||25%|
|less than 60%||E|
Each range includes the lower value, but not the upper value. For example, the range of 80 to 83 includes all grades up to, but not including 83. The highest range does, however, include 100%.
Attendance and Participation
You must attend all class meetings. Your attendance and participation in class will be scored as follows:
|2||Present and Participating|
|1||Late or missing a significant portion of class|
|0||Absent or not participating|
*An excused absence is determined by the instructor. Ideally, it will be arranged in advance. Otherwise, the instructor must be notified of the absence and the reason as soon as possible, preferrably by the end of the day. The excused absence will not count for or against your Attendance and Participation grade - instead the Attendance and Participation grade will be calculated out of one fewer class meetings.
Projects and Homework
You will have a number of homework assignments and team projects to practice what you learn in the readings.
There will be two exams.
Final Group Project and Presentation
After Spring Break we will work on individual or group projects. These projects can be more advanced work with some of the tools and technologies we worked with in class, or the investigation and application of new tools or technologies.
During the scheduled final exam period, you will present your final project to the class. Our Final Exam period is scheduled for Monday, 8 May 2015 - 12:30pm-3:30pm.
All work will be submitted electronically through a variety of tools. The due date and time will be given on the assignment. The submission date and time will be determined by the submission timestamp of the tool used.
Please do not submit assignments to me via email. It is difficult for me to keep track of them and I often fail to remember that they are in my mailbox when it comes time to grade the assignment.
Late assignments will lose 10% of the maximum points per 24-hour period.
If you are struggling with the material or a project please see me as soon as possible. Often a few minutes of individual attention is all that is needed to get you back on track.
By all means, try to work out the material on your own, but ask for help when you cannot do that in a reasonable amount of time. The longer you wait to ask for help, the harder it will be to catch up.
I am here to help you understand the material and be successful in the course.
You may contact me by email (Karl.Wurst@worcester.edu), telephone (+1-508-929-8728), or see me in my office. My office hours are listed on the schedule on my web page (http://cs.worcester.edu/kwurst/) or you may make an appointment for a mutually convenient time.
If you email me, please include "[CS-383]" in the subject line, so that my email program can correctly file your email and ensure that your message does not get buried in my general mailbox.
If you email me from an account other than your Worcester State email, please be sure that your name appears somewhere in the email, so that I know who I am communicating with.
You may expect that I will get back to you within 24 hours of your email or phone call (with the exception of weekends and holidays), although you will likely hear from me much sooner.
Code of Conduct/Classroom Civility
All students are expected to adhere to the policies as outlined in the University's Student Code of Conduct (http://www.worcester.edu/CodeofConduct/).
- Contribute to a class atmosphere conducive to learning for everyone by asking/answering questions, participating in class discussions. Don’t just lurk!
- Seek help when necessary
- Start assignments as soon as they are posted. Do not wait until the due date to seek help/to do the assignments
- Make use of the academic success center (see below)
- Expect to spend at least 9 hours of work per week on classwork.
- Each student is responsible for the contents of the textbook readings, handouts, and homework assignments.
Americans with Disabilities Act
Worcester State University and this instructor are committed to the full participation of all students, and will provide accommodations for any student with documented disabilities who are registered with the Disability Services Office (DSO). Please contact the instructor as early as possible to discuss necessary accommodations. All information regarding disabilities will be treated with confidentiality. The DSO is located in the Administration Building, Room 131 and can be reached by phone (508-929-8733) or email (email@example.com).
Tutoring Services/Academic Success Center
Tutoring Services are offered through the Academic Success Center (ASC). The ASC is located on the first floor of the Administration building, A-130. Tutoring services are provided to students FREE of charge. Students seeking academic assistance should visit the center as soon as possible or contact the Tutoring Coordinator at 508-929-8139
The Writing Center
The writing center provides free assistance to students in the areas of research and writing. It is located on the third floor of the Sullivan Academic Building, S306. To schedule an appointment, please call 508-929-8112 or email the Center at firstname.lastname@example.org. To find out more information about the Writing Center including the Center's hours and the Center's Online Writing Lab, visit their website at http://www2.worcester.edu/WritingCenter/.
Worcester State Library
Worcester State Library has access to many articles through online databases including J-STOR. In addition many articles and book chapters are available to students through Inter-Library Loan (ILL). With a little planning, ILL expands your ability to get credible information sources about topics you pursue in your course work. Finally WSU students are free to use many of the library resources within the consortium. Given all of these resources it is extremely unlikely that you should have to pay for access to individual articles. Please work with the reference librarians to find the appropriate way to access materials you need. You have already paid for these resources through your fees—please make use of them.
Each student is responsible for the contents of the readings, discussions, class materials, textbook and handouts.
You should familiarize yourself with Worcester State College's Academic Honesty policy. The policy outlines what constitutes academic dishonesty, what sanctions may be imposed and the procedure for appealing a decision. The complete Academic Honesty Policy appears in: http://www.worcester.edu/CodeofConduct/
If you have a serious problem that prevents you from finishing an assignment on time, contact me and we'll come up with a solution.
The following course schedule is subject to change.
| Monday | Wednesday
--- | :-- | :--
Week 1 | 16 January - No Class
Martin Luther King Day | 18 January
Hadoop Intro and Use Cases Week 2 | 23 January
Using Amazon Web Services | 25 January
Hadoop Distributed File System Week 3 | 30 January - No Class
Aisiku STEM Center Opening | 2 February
MapReduce Programming Week 4 | 6 February
MapReduce Programming | 8 February
YARN Week 5 | 13 February
YARN | 15 February
Pig Programming Week 6 | 20 February - No Class
President's Day | 22 February
Pig Programming Week 7 | 27 February
Statistical Analysis | 1 March
Oozie Week 8 | 6 March
HBase | 8 March - No Class
I will be at a conference Week 9 | 13 March
Hive | 15 March
Break | 20 March - No Class
Spring Break | 22 March - No Class
Spring Break Week 10 | 26 March
Working on Final Project | 28 March
Working on Final Project Week 11 | 3 April
Working on Final Project | 5 April
Working on Final Project Week 12 | 10 April
Working on Final Project | 12 April
Working on Final Project Week 13 | 17 April - No Class
Patriot's Day | 19 April
Working on Final Project Week 14 | 24 April
Working on Final Project | 26 April
Working on Final Project Week 15/
Final Exams | 1 May - Last Day of Class
Working on Final Project | 3 May - No Class
(Final Exams) Final Exams | 8 May - 12:30pm-3:30pm
Final Project Presentations
##Copyright and License ####© 2017 Karl R. Wurst, Worcester State University
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.