CS 795/895 Devops, Containers, & the Cloud (Fall 2020)
Steven J. Zeil
Zoom meeting links and recordings will be available in Blackboard in the “Zoom” and “Media Gallery” tools, respectively.
1 Course Description
Students will explore the process of automating the integration of changes into a code base, the testing of that code on varied platforms, and the delivery and deployment of the code products.
Key concepts to be explored will be:
- Continuous integration and continuous deployment
- Build pipelines
- Automated system testing
- The use of virtual machines and containers as testbeds.
- Conducting testing in the cloud (AWS).
- Deploying products to the cloud.
Ideally, students in this course will already be members of a research group in the CS Dept for which they are developing software that they can use as a testbed for the ideas explored in this course.
This is intended as a prototype for a future course to be offered at the 400/500 level. As the semester progresses, students will be charged with curating a list of relevant readings, creating a series of “How-To” documents detailing the application of specific support technology in a lab or assignment setting, and with demonstrating that technology on their own projects.
1.1 Course Pre-requisites
There is no mechanism for enforcing undergraduate prerequisites to graduate courses and no mechanism for enforcing any prerequisites to Topics (795/895) courses.
Nonetheless, this This is intended as a sequel to CS350, Introduction to Software Engineering and students should have something roughly equivalent in their background.
There will be a week-one survey of all enrolled students to assess their level of familiarity with concepts from the “software construction” phase of Software Engineering. This survey will determine how much time is spend in review/survey of the early part of software development, in order to set up
Students taking this course are expected to have at least some familiarity with the use of
- Version control software (
git) in a team context.
- Modern forge sites such as
- 3rd generation automated build managers (e.g.,
- Unit test frameworks (e.g.
JUnit), Test-Driven Development and Test-First Development
- Agile development practices.
|Steven Zeil||E&CS 3208|
Please make sure to include the course name “CS350” in the subject line of any email related to this course.
1.2.1 Office Hours
Office hours are posted online at http://www.cs.odu.edu/~zeil/officehours/
General questions about course content and reports of website problems should normally be asked in the Forums on Blackboard or via email.
Questions about grades, how to solve assignments and other graded activities must be sent to firstname.lastname@example.org, not posted in Forums.
For more discussion on course communications, please refer to the Communications policy.
1.3 Meeting Times and Delivery Method
Meetings: MW 11:00-1215PM
Although scheduled as a synchronous class (i.e., a class with an assigned days and times), due to the scarcity of suitable classrooms on the ODU campus under the constraints of safe distancing constraints, the course will be delivered via Zoom.
Recordings may be made available, but students are expected to attend at the scheduled time.
2 Basic Course Information
2.1 Required Text
Readings from the Internet will be assigned from the course website.
3 Course Policies
3.1 Due Dates and Late Submissions
Late assignments and make-up exams will not normally be permitted.
3.2 Academic Honesty
Everything turned in for grading in this course must be your own work, or, for team projects, the work of your own team. Opportunities for teamwork will be clearly identified as such.
Students are expected to conform to academic standards in avoiding plagiarism.
- Among other things, this means that if you use ideas found on the internet (outside of the course website) in your answers to an assignment or exam question (including when coding!), you must cite your sources appropriately.
If you use text directly taken from such sources you must appropriately designate the quoted material as such.
The instructor reserves the right to question a student orally or in writing and to use his evaluation of the student’s understanding of the assignment and of the submitted solution as evidence of cheating.
3.3 General University Policies
The ODU Catalog lays out a wide variety of University policies that are binding upon both students and faculty. All students are required to abide by these.
3.4 Grading and Assignment Load
Each student will be expected to prepare a lesson plan on a topic selected in conjunction with the instructor. This lesson plan will consist of
- An introductory document.
- A list of possible readings.
- A step-by-step lab/assignment to introduce use of the relevant technology.
- A presentation by the student to the class walking through the introductory document.
All students will be expected to read all lesson plans.
Each student will also be assigned to formally review two lesson plans created by other students. This review will entail
- Critiquing the introductory document and choice of readings.
- Attempting the lab/assignment, while keeping a log of steps performed and difficulties encountered.
Each student must maintain, through the semester, a demonstration project involving a non-trivial amount of code, preferably code that includes some system dependencies.
- Students will prepare a report to be submitted at the end of the semester detailing the initial state of this project and the course-relevant technologies that have been added to the project.
- Actual progress in developing the project functionality is not relevant to this course and will not be part of the grading.
4 Educational Accessibility
Old Dominion University is committed to ensuring equal access to all qualified students with disabilities in accordance with the Americans with Disabilities Act. The Office of Educational Accessibility (OEA) is the campus office that works with students who have disabilities to provide and/or arrange reasonable accommodations.
If you experience a disability which will impact your ability to access any aspect of my class, please present me with an accommodation letter from OEA so that we can work together to ensure that appropriate accommodations are available to you.
If you feel that you will experience barriers to your ability to learn and/or testing in my class but do not have an accommodation letter, please consider scheduling an appointment with OEA to determine if academic accommodations are necessary.
The Office of Educational Accessibility is located at 1021 Student Success Center and their phone number is (757) 683-4655. Additional information is available at the OEA website http://www.odu.edu/educationalaccessibility/