From BU Computer Science
Jump to navigation Jump to search

CSC 310: Cloud Computing: Fall 2019


  • Professor: Dr. Cathy Bareiss
  • Office SB 027
  • Class Time: 9:00-9:50 MWF
  • Class Location: SB 025
  • Textbook: None


This course will study Google Cloud Computing.

Course Goals

Course Objectives

Course Outcomes

Program Outcomes

Course Content


  * Integrity
  * Late work 


Learning assignments

  1. starting Sep. 13th, turn in a self assessment (1/2 page) of your note taking skill. Dr. Bareiss will post her notes (either raw of finished) for each module to help in the self-assessment. Due the start of class (hard copy) that Friday.
  2. For each module, each group will either make a presentation or write a technical document (to be determined at the start of each module).
    1. Compute Engine. For this module, you are working with a medium size company that does E-E business with peaks in the workloads via the web. It also does some data mining every weekend. The majors users are in Indiana (which uses Linux and Windows Server), South Korea (uses Linux only), Switzerland (using only Windows Servers), and Kenya (using only Linux). Both the Kenya and South Korea site have been having major problems with cyber attacks. There are plans to expand into three more areas and triple the work load over the next two years. Each region has it owns servers and does its own work. This needs to be connected to the cloud servers. You are to write a paper or do a presentation (Filip and Zach H) to help the company decide if GCP is the way to go. This is due Friday, Sep. 20th.
    2. Cloud Storage. For this module, you are working for a consulting firm. They need materials (presentation and hardcopy) to use when dealing with cloud storage. These materials should demonstrate enough knowledge that the company would be hired to do work in this area, to explain the options to the clients, and to educate the sales people of your consulting firm. Come up with your own examples for when to use each and why. Due Oct. 7th
    3. Kubernetes. For this module, you are to help a group of students that have just finished Programming 1 and will be interviewing for an internship. The interview will include a few questions about Kubernetes. The interviewer does not expect the interns to be able to use Kubernetes (they will be trained for that), but they should know what it is and explain a little a bit about it. Paper is due Nov. 4th. One best way to explain it is to show an example of a business and how it would use it.
    4. App Engine. Carleton (the company that donated money to build our 030 lab) develops software to help in the financial industry. Currently (to the best of my knowledge), they are not using the cloud. They are also committed to hiring an intern from Bethel. You (and your partner) want to both be hired by Carleton as interns and want to research moving some of their routines to the cloud. Prepare a presentation or a two page position paper briefly explaining the benefits of doing so for their company and why they should hire you and your partner. Be sure to research the company! I will see of someone from the company wants to be at the presentation on Monday and read the papers! So be professional! It might get you a job!
    5. Big data and Machine Learning. Your job is to excite people at Bethel about the Google Cloud Platform and what it could do form them. These folks are not computing folks. You need to find one example of how Big Data in GCP could help someone at Bethel and one example of how Machine Learning on GCP could help another person at Bethel. The people being helped do not need to be able to do the task themselves. They could hire an expert to help them do the task on the cloud. Ech task should take about 1.5 pages or 10 minutes to discuss. Talk about the task, why it could be done on the cloud, why the cloud might be a better way to solve it than some other way, and what they might need to do next if they think this is something that might work for them.

Doing Assignments

The goal of these assignments is to develop a working GCP for the CS program to use in the future. It will be divided into components. Each group will submitted instructions on how to do each component with the best one implementing it for the program.

  1. Component 1: Design structure (using organization, folders, and projects) and accounts/permissions for the project.
  2. Component 2: Build the engines needed to support the department
  3. Component 3: Create the storage we need. Your documentation should explain the reasons for your choices.
  4. Project. This project is to use something you learn in the last three modules of the Coursera course. A project proposal is due Nov. 11. This is a team project and should take about 20 hours (combined) to complete. You will be demonstrating your project during the schedule time for the final and turning in a paper on it. The paper should include the following and should be at least 5 pages single spaced.
    • An abstract
    • An introduction (including what the topic is)
    • Why you choose this topic
    • Why this project "needs" the cloud
    • The project itself
    • What you learned from the project

No exams, probably

Learning assignments

  1. Coursera course: Google Cloud Platform Fundamentals
  2. QwikLab: GCP Essentials


  • Accountability assignments associated with lessons modules -> 10%
  • Assignments practicing what is learned -> 30%
  • Project -> 30%
  • Exams (including comprehensive exam) -> 30%
  • Grade scale
    • 93% <= average <= 100% -> A
    • 90% <= average < 93% -> A-
    • 87% <= average < 90% -> B+
    • 83% <= average < 87% -> B
    • 80% <= average < 83% -> B-
    • 77% <= average < 80% -> C+
    • 73% <= average < 77% -> C
    • 70% <= average < 73% -> C-
    • 67% <= average < 70% -> D+
    • 63% <= average < 67% -> D
    • 60% <= average < 63% -> D-
    • 0% <= average < 60% -> F

Tentative Schedule

  1. Overview of Linux (one week)
  2. how to learn (one lecture and ongoing discussion)
  3. overview of vi (one lecture)
  4. assign first module to work through on their own, taking notes, writing down questions, etc. Questions emailed to me 2 hours before start of discussion of the module.
  5. discussion of learning that occurred during first module
  6. Listen to first module in class, taking notes and pausing as need be.
  7. assignment. Create a Linux vm and another vm using more than defaults. Make some changes to it.
  8. exam over Linux, vi, learning, and module 1
  9. get app for google installed on own machine.
  10. talk about a learning journal!
Monday Wednesday Friday
Aug 19 Aug 21 Aug 23
Course and Linux Overview
Aug 26
Linux Overview including vi
Aug 28
Lesson discussion
Aug 30
No class -> Redo first lesson
Sep 2
Labor Day
Sep 4
First lesson discussed in class
Sep 6
Discussion of first assignment
Sep 9
Discussion of learning assignments, etc. for rest of the semester
Virtual Machines
Sep 11 Sep 13
Sep 16 Sep 18
Storage in the Cloud
Sep 20
Sep 23 Sep 25
Containers in the Cloud
Sep 27
Sep 30 Oct 2
Applications in the Cloud
Oct 4
Oct 7 Oct 9
Project discussion
Oct 11
Fall Break
Oct 14 Oct 16 Oct 18
Developing, Deploying, and Monitoring in the Cloud
Oct 21
Oct 23
Oct 25
Project discussion
Oct 28
Big Data and Machine Learning
Oct 30 Nov 1
Nov 4 Nov 6 Nov 8
Nov 11 Nov 13 Nov 15
Nov 18 Nov 20 Nov 22
Nov 25 Nov 27
Nov 29
Dec 2
Project Presentation
Dec 4
Project Presentation
Dec 6
Project Presentation
Dec 9
Finals Week
Dec 11
Final 8:00am
Dec 13


ADA Statement for Syllabi: The Americans with Disabilities Act (ADA) is a law which provides civil rights protection for people with disabilities. Bethel University, in compliance with equal access laws, requests that students with disabilities seeking to acquire accommodations make an appointment with the Center for Academic Success—Disability Services. It is located in the Miller-Moore Academic Center, 033. You may also phone 574-807-7460 or email for an appointment.

Topics to cover


  • component one: accountability assignments associated with lessons modules
  • Assignments practicing what is learned
  • project
  • exams (including comprehensive exam)