CPSC 489/589 DevOps Spring 2024

Section

010 15014/15015 Tuesday and Thursday 2:00 pm -   3:15 pm (CAS) 134

Instructor

Dr. Michael L. Collard

Homepage

mlcollard.net

Email

collard@uakron.edu

Office

Arts & Sciences (CAS) 228

Mailbox

Arts & Sciences (CAS) 221

Phone

(330) 972-7191

Office Hours

Available on the instructor’s homepage. Other times are by appointment.

Course Description

A comprehensive overview of the culture and practice of DevOps; the automated and secure continuous integration of version control, software testing, packaging, configuration management, and containers.

"DevOps", a compound of "development" and "operations", is an approach to build and deploy software. Leveraging automation, it ties together version control, software testing, packaging, configuration management, and containers for continuous integration to distribute software updates frequently and with high quality. DevOps combines version control (e.g., git), containers (e.g., Docker), continuous integration tools, systems administrations, SSH, program build tools, and installers, combined with software validation and testing. The course includes the following (but not be limited to or necessarily covered in this order):

Learning Objectives Students successfully completing the course are able to:

Prerequisite: Minimum C- in CPSC 210 CS II (preferably CPSC 480 Software Engineering) or Graduate Standing. Credits: 3    


Textbook: Len Bass, Liming Zhu, Ingo M. Weber, DevOps: A Software Architect's Perspective ISBN-13: 978-0134049847

Textbook: Craig Scott, Professional CMake: A Practical Guide ISBN 978-1-925904-25-3 Getting Started Guide

Grading

Exercises 25%
Projects 25%
Midterm 25%
Final 25%
  100%
A ≥ 93%
A- ≥ 90%
B+ ≥ 87%
B ≥ 83%
B- ≥ 80%
C+ ≥ 77%
C ≥ 73%
C- ≥ 70%
D+ ≥ 67%
D ≥ 63%
D- ≥ 60%
F  

Students enrolled in CPSC 589 have additional project requirements and test questions.

Exercises

To provide immediate practice of material presented in class, exercises are assigned periodically throughout the semester and count for 25% of your overall grade. They are typically due the next day.

Projects

At least 4 projects are assigned, and collectively are 25% of the overall score. Grades for the projects are based on correctness, readability, style, quality, and the application of concepts taught in the course. The projects involve extensive programming and configuration. Successful completion of the projects requires consistent and iterative work. This means starting the projects immediately and working on them throughout the assignment period. Waiting until the last minute will lead to unavailable support, subpar work, and lower grades.

Midterm

The Midterm Exam is 25% of the overall score. It occurs after the 8th week of the semester, with the specific date announced at least one week before.

Final Exam

The Final Exam is in the regular classroom on May 9, 2:30 - 4:30 pm and is worth 25% of your overall score.

General Policies

The course involves exercises often conducted during class. Full credit requires attendance.

Class instruction uses various forms of presentation, including instructor notes, interactive web pages, and writing on the board. The instructor may enter examples and discuss them during class. Attendance is necessary for a complete understanding of the material.

Any source code created must be committed to the proper GitHub Classroom Git repository.

It is up to the student to make up any missed material. Make-ups of any work for this class are given only with an excused absence or a documented, valid emergency. I encourage you to contact me if an emergency arises.

Only students whose names are on the University's official 15-day class list can attend class. Consult University information for specific dates and policies regarding course withdrawal.

Academic Honesty

All submitted work (exercises, projects, and tests) must be your own. Submission of work that is even partly not yours results in a report to the Office of Student Conduct and Community Standards.

AI Policy

AI tools (such as ChatGPT) are powerful tools that can be used to aid in the learning process. Students should look to their instructors for guidance on the fair and ethical use of AI tools for this course. The inappropriate or unethical use of such technologies will violate the Code of Student Conduct as cheating, plagiarism, fabrication, unauthorized collaboration, misrepresentation, and/or gaining an unfair advantage.


The Code of Student Conduct is a University rule that provides the framework for the student conduct process at the University of Akron and defines student misconduct and the process that the University will use to address student misconduct reported to the Department of Student Conduct and Community Standards. Students at the University of Akron are responsible to know and abide by the Code of Student Conduct and all University rules, regulations, and policies.

In this course, students are welcome to use whatever AI tools might help them, however they like, as much as they want. Students must know and abide by The University of Akron Code of Student Conduct.

The use of AI tools in software development is one of the first impactful utilization of this technology. However, these tools' output may often be incomplete, lack the necessary quality, or even fail in some instances. For instance, the code generated may not compile or may use non-existent features. It is the student's responsibility to compile and meticulously test the resulting code. This course emphasizes the process of software development rather than the actual act of writing the code.

COVID-19 Policies

The COVID-19 pandemic is still present and serious. Before entering class, you should have completed your daily health assessment. You should not come to class if you fail your health check or feel ill. At that time, I also ask you notify me that you will be absent. When campus policies require masks to be worn indoors, all students are required to wear a mask during in-person classes. While you are in class on campus, you are required to: always cough or sneeze into your elbow or a tissue and adhere to other public safety protocols and directives for your specific classroom/lab/studio. Students who do not follow these health and safety requirements will be instructed to leave class immediately. Students who violate this protocol will need to leave the classroom and MAY be marked absent. Repeated violations of these health-saving protocols may lead to sanctions under the Student Code of Conduct up to and including suspension or expulsion. Current guidelines can be found at: uakron.edu/return-to-campus.

Diversity Policy

This class, as well as the broader University of Akron community, respects diversity and strives for equity and inclusion of all students. Diversity includes how we as individuals identify along the lines of race, color, religion, sex, sexual orientation, gender identity or expression, age, national or ethnic origin, citizenship status, disability, status as a parent during pregnancy and immediately after the birth of a child, status as a parent of a young child, status as a foster parent, military status, genetic information, or status as a veteran. Inclusion and respect for diversity make the classroom and the larger community stronger and foster dialogue and democratic decision-making. As part of ensuring this class is a safe space for all students, please avoid use of negative stereotypes and insensitive or hateful statements toward groups of people. Please respect your classmates’ pronouns. Each of us is responsible for creating a safer, more inclusive environment. If you feel there is something I can do to make the classroom more inclusive, please let me know in person, via email, or by placing an anonymous note in my mailbox. For support services on campus, go to www.uakron.edu/ie/lgbtq or www.uakron.edu/zipassist.

Special Notice

Any student who feels she/he may need an accommodation based on the impact of a disability should contact the Office of Accessibility at 330-972-7928 in 105 Simmons Hall.

The University of Akron is committed to providing an environment free of all forms of discrimination, including sexual violence and sexual harassment. This includes instances of attempted and/or completed sexual assault, domestic and dating violence, gender-based stalking, and sexual harassment. Additional information, resources, support and the University of Akron protocols for responding to sexual violence are available at uakron.edu/Title-IX