CloudSurfer
CLOUD COMPUTING TECHNOLOGY

Syllabus

SPRING 2016: NC State University CSC/ECE547
Copyright © 2011-2016 by North Carolina State University and others, All Rights Reserved.

[Return to Main Menu] [Schedule] [Academic Calendar] [Exams]
Page updated: Wednesday, 06-Jan-2016 08:59:34 EST

General Information:

Instructors: J.P. Streck and P. Dreher

Teaching Assistants:Margareth Mushi, Mansi Babbar

Credit-hours: 3

Prerequisites: CSC501 (operating systems) and CSC570 (networking).

Knowledge acquired in the above courses is assumed. Knowledge of Linux LAMP basics, of basic networking concepts, of a high-level programming language, such as C, C++, or Java, of some HTML, and of some PHP and Perl is required for success in this coursse. If a student lacks that knowledge, this will need to be self-taught.

Time & Venue: 15:50-17:05 (Lectures & Lab hours) on Tuesday and Thursday.
Lectures will be in 1021 in Engineering Building II (EB2).
PLEASE SEE SCHEDULE FOR SPECIFICS.

Computing will be required. Students must have an EOS/UNITY account and must know how to use e-mail and access internet via a World-Wide Web browser. Additional computing facilities will be provided through the Virtual Compuing Laboratory (VCL), and the EB2 and Oscar labs.

News and Lectures/Labs
Students are required to access the course News page at least twice a week. The relevant pages are located at

http://davinci.csc.ncsu.edu/CC/

Policies
All students are required to comply with all course, Department and university policies. This includes CSC CCT lab policies [policy], as well as with all relevant policies in any other laboratories that support this course. They are also required to comply with the relevant policies of the Computer Science Departments, and with the relevant [ NCSU] network and computing policies. Violations will result in appropriate disciplinary proceedings and may results in the dissmisal from the course. Inappropriate use of university facilities will be prosectued to the to full extent of the policies, regulations and law.

Violations of academic integrity policies will be decended upon from great height, and will result in prosecution of the offenders.


Texts:

There is no course text-book. Students will be required to access different on-line materials. Some of the material, such as equipment and some software manuals, will be supplied by the lab, some of the material is available as books and on-line journals in the library, and some as tutorials and other electronic material over the network. The course reading pages provide a list of some references and network sites that will be useful in this course.

Outline:

Under the supervision of faculty, students engage in study of cloud computing principles, architectures and actual implementations. Course spans a variety of information technologies such as networking, storage, computing applications, security, etc. Ability to communicate efficiently orally and in writing is expected.

Objectives:

Cloud computing paradigm is growing in popularity. The term covers a range of distributed computing, hosting and access solutions, including service-based computing. A 'good' cloud computing solutions provides hardware-as-a-service, infrastructure-as-a-service, platform-as-a-service, software and applications as-a-service, security-as-a-service, cloudlets and cluster computing as-a-service, high-performance computing as-a-service, and so on. In addition, a good solution allows service-based access and sharing/interchange of resources with other clouds. It also provisions (in self-service) both bare-machine computing 'images' and virtual machine based 'images'. Furthermore, such an environment has extensive provenance, policy, privacy and secrity management capabilities. Students will learn how to construct and secure a private cloud computing environment based on open source VCL solutions, and how to federate it with external clouds, such as public EC2 offering, and some other solutions. Performance, security, cost, usability and utility of cloud computing solutions will be studied both theoretically and in a hands-on lab. Students are expected to learn and demonstrate practical elements of:

Course Plan (topics, order may differ - see schedule):

   1. History of Centralized and Distributed Computing
   2. Cloud Computing principles, components, services and Virtualization
   3. Types of Cloud Services and overview of some selected systems
          * VCL
          * Other clouds, including commercial clouds
   4. Cloud resources
          * Network and API
          * Virtual and bare-metal computational resources
          * Data-storage
   5. Cloud Interfaces
   6. Cloud Access: authentication, authorization and accounting
   7. Cloud Provenance and meta-data
   8. Cloud Reliability and fault-tolerance
   9. Cloud Security, privacy, policy and compliance
  10. Cloud Cloud federation, interoperability and standards
  11. Cloud Economics
  12. Advanced topics
          * HPC in the Cloud
          * Cloud brokering 
          * Open Stack
          * Containers and Docker


Summary of the Grading and Attendance policy:

Students are responsible for all material covered in the classes and all material related to their assignments (even if it is not explicitly covered in the class).

This class CANNOT be audited, and CANNOT be taken on the pass/fail (credit only) basis. There will be a prerequisite knowledge test the first day of the class. It will count into class tests.

Homeworks are individual work (no collaboration, etc.), tests are individual work, projects are group work.

The course uses +/- grading. Homeworks are worth about 1/3 of the grade, tests (including in-class quizzes) are worth about 1/3 of the grade, and individual projects about 1/3 of the grade. These proportions may change depending on the grade curving (and students will be given explicit information about that via a grade calculator tool). There will be no final exam, however project summary presentations and individual team evaluations may take place during the "dead week" (see class schedule page for details).

Students will be required to fill in any gaps in the prerequisite knowledge on their own time.

All homeworks, assignments and reports will be submitted electronically. Exception are "attendance assignment" one-sheets that need to be submitted in person at the start of each class.

Students must attend all classes/labs unless explicitly informed otherwise by the instructor(s). All students also MUST access the NEWS page within 36 hours of a class-slot regardless of whether the class is given or not, or whether the class slot is used as lab-time.

Both, lecture/lab attendance and news access are required for attendance to count.

Tests/Exams are mandatory. There may be extra work assigned for the "dead week" (possibly including in-class presentatins). Final project submission will be during the "reading days". Please see schedule for details.

If there are any questions, issues, or complaints about homework and test grading, these need to be submitted/brought up with the Instructors, Project Coordinator or TA within two weeks of the time the work has officially been graded and returned to the class. After that, the grades are fixed.

All class announcements will be made via the News and Announcement and Schedule (deadlines, test-dates, project due date) web pages. YOU ARE REQUIRED TO VIEW BOTH PAGES at least TWICE a WEEK (once in-between the lecture/lab slots and within 36 hours of the last lecture/lab slot). It is recommended that you visit the NEWS page three times a week (e.g., Mon, Wed, Fri). This assures reasonable currency of the information "pull".

The course process will follow all relevant and appropriate N C State University academic regulations including those about academic integrity and those relevant to students with disabilities.

It is the responsibility of the student to inform the instructor(s). (in writing) about any relevant extraneous cirumstances (e.g., medical or other emergenices, disabilities, etc.).


[Top of This Page]

NCSU CCTL (Version 5.0 - Site/Content Notice)
Content contact: Course Instructor(s), North Carolina State University, Raleigh, NC27695, USA
WebSite contact: M. Vouk, E-mail: vouk@csc.ncsu.edu , Tel: 919-515-7886, Fax: 919-515-6497, Department of Computer Science, Box 8206, North Carolina State University, Raleigh, NC27695, USA

Material for this course was developed in part through support from NSF grants 0910767 and 1330553, the U.S. Army Research Office (ARO) grant W911NF-08-1-0105 managed by NCSU Science of Security Initiative and Science of Security Lablet, IBM Share University Research and Fellowships program funding, and the Argonne Leadership Computing Facility at Argonne National Laboratory, which is supported by the Office of Science of the U.S. Department of Energy under contract DE-AC02-06CH11357.