CMPS 2650 - Linux Environment and Administration
Sections 60 and 61 - Fall 2021
Instructor and Contact Information
Instructor: Dr. Melissa Danforth (she/her)
Office Hours: MTuWThF 12:00-1:00pm via Discord and Zoom (link posted on Moodle)
Email: melissa@cs.csub.edu or mdanforth@csub.edu
Other: You can direct message me on Discord to contact me at any time I am at the campus computer. There is also a class channel to talk with other students.

Virtual Class Information
Moodle website: https://moodle3.cs.csub.edu/course/view.php?id=60

Course meets MW 5:30-6:45pm (lecture) and Fr 4:00-6:30pm (lab) on Zoom (Zoom information will be posted on Moodle).

General Class Structure: Contact me if you have any issues with attending sessions, such as Internet issues, power outages, technical difficulties, work conflicts, or other university excused absences.

Webcams will not be required of students. I have configured Zoom to allow phone call-ins and to mask phone numbers for those who have to call in to attend.

Recording is set to record the speaker, shared screen, and public chat. This means the recording will capture anything in the public chat and anything said over audio, but it will not capture the "gallery view" of the course. So if you do not wish to have your name appear in the recording, you can private chat questions to me and I will anonymously relay them to the course, then answer them.

Videos of the lectures will be posted to Moodle after processing and closed-captioning. Give at least a few days for that to occur (longer if the automatic closed-captioning requires significant editing).

Catalog Description
This course covers common Linux commands, shell scripting, regular expressions, tools and the applications used in a Linux programming environment. The tools to be introduced include make utility, a debugger, advanced text editing and text processing (vi, sed, tr). These basic skills are extended to cover the knowledge and skills critical to administering a multi-user, networked Linux system. Administrative topics include kernel and network configuration, managing daemons, devices, and critical processes, controlling startup and shutdown events, account management, installing software, security issues, shell scripting. Many concepts will be demonstrated during hands-on labs.

Catalog Prerequisites: None

Prerequisites by Topic
None.

Units and Contact Time
4 semester units. 3 units lecture (150 minutes), 1 unit lab (150 minutes).

Class Expectations/Overview
As an elective course, students are expected to engage in independent learning in this course through reading assignments and lab assignments. Critical thinking, independent evaluation, and troubleshooting are important skills for this course and the system administration profession.

This class is divided into two parts: (1) Linux command-line tools and skills and (2) Linux system administration. The first part will be for the first half of the semester, and the second part will be for second half of the semester. Each part will have its own lab assignments, checkpoint exams, and culminating exam. Assignments and exams are labeled "1-" and "2-" on Moodle to let you know which part they are in.

The first part of the course will require an account on the department server Odin. If you do not have an Odin account, look for an email from Steve Garcia to your CSUB.edu email account with your Odin login information. The first week assignments and lectures will cover how to connect to Odin for those who are new to using Odin.

You will need to use virtual machines (VMs) in the second part of the course, so you can create the Linux VM (or multiple VMs if you like) for the lab assignments in the second part. The department has complimentary VMware software for all students enrolled in CMPS courses. Steve Garcia will email your VMware account at the start of the course.

Plan to spend an average of 8-12 hours outside of class each week on this course, particularly if you opt to not attend the lab sessions. More time may be required in some weeks.

Type
Elective for Computer Information Systems (CIS), Selected elective for Information Security (IS)

Required Textbooks
Both textbooks are available in e-book (ePub and/or webpage) format for free through the CSU O'Reilly Safari Tech Books subscription. Prior to clicking the textbook links, click on the following link to log in to Safari with your myCSUB account (if you forget to login, you'll just get a preview instead of the complete book): https://go.oreilly.com/california-state-university-bakersfield/

Recommended Textbook and Other Supplemental Materials
Supporting information relating to the course will be posted on Moodle.

Coordinator(s)
Melissa Danforth, Steve Garcia

Student Learning Outcomes
This course covers the following ACM/IEEE CS2013 (Computer Science) Body of Knowledge student learning outcomes:

ABET Outcome Coverage
The course maps to the following student learning outcomes for Computer Science (CAC/ABET):
1. An ability to analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
4. An ability to recognize professional responsibilities and make informed judgements in computing practice based on legal and ethical principles.

Lecture Topics and Rough Schedule
Part 1: Command-Line Interface (CLI) - Sobell textbook
WeekChapter(s)Topics
1 Chapters 1-6 (various subsections) History, Getting started, Basic utilities, Filesystem, Basic vi/vim
2 Chapters 1, 3, and 5 Networking, X Windows, File utilities, Text utilities
3 Appendix A, Chapters 12 and 13 Regular expressions
4 Appendix A, Chapters 6, 12, and 13 Regular expressions continued, Advanced vi/vim, Customizing your environment
5 Chapters 8 and 10 Shell scripting
6 Chapter 3, Part VI - Command reference Programming tools: make, tar, gdb
7 Chapter 3, Part VI - Command reference Programming tools: Source code management, diff, patch, compiler options
Part 2: System Administration (SysAdmin) - Nemeth textbook
WeekChapter(s)Topics
8 Chapters 1, 3, 24, and 32 SysAdmin background, Policies, Virtual machines, Boot up, Shutdown
9 Chapters 4-6 Filesystem (deeper dive), Controlling processes, Access control, Superuser
10 Chapters 7, 9, and 31 User accounts, Serial devices, Daemons, Cron jobs
11 Chapters 8 and 10 Storage, Adding disks, Backups
12 Chapters 11 and 13 Drivers, Kernel, Syslog, Log files
13 Chapters 14-16 TCP/IP networking, Routing, Network hardware
14 Chapters 17 and 20 DNS, Email
15 Chapters 21 and 22 Security, Network management, Network troubleshooting

Attendance
Students are responsible for their own attendance. The topics covered in lecture will be listed on Moodle along with my personal lecture notes before class. Recordings of the classes will be posted to Moodle after processing.

Academic Integrity Policy
You may discuss the assignments with others in the class. A message board is available on Moodle for discussions, as well as the class channel on Discord.

All assignments however are individual assignments. That means each student must respond to essay, short-answer, and programming/scripting questions in their own words and with their own work; no direct copying from any source is allowed. Questions which are asking for the proper command-line command to issue are allowed to have similar responses, since there is limited variability in how one can issue a command.

Refer to the Academic Integrity policy in the campus catalog and class schedule for more details. You can also refer to the Academic Integrity policy at the Office of Student Rights and Responsibilities at https://www.csub.edu/osrr/

Academic Accommodations
To request academic accommodations, please contact the Office of Services for Students with Disabilities (SSD) and email me an accommodations letter from the SSD Office. Policies from the SSD Office relating to accommodations, such as scheduling policies for using their testing center, must also be followed. For more information about the services and policies of the SSD Office, contact their staff by email and/or visit their website at https://www.csub.edu/ssd/

Basic Needs Assistance
If you are experiencing challenges related to basic needs, such as food insecurity, housing insecurity, or other challenges, there are resources available to you.

The campus Food Pantry, located next to the Student Union, is open and available to all students, staff, and faculty. Please visit the Food Pantry website for hours and information at https://www.csub.edu/sustainability/foodpantry/. Information about food distributions, CalFresh, and other food resources can be found at https://www.csub.edu/basicneeds/food-security. Information about food assistance at the Antelope Valley campus is at https://www.csub.edu/basicneeds/resources-students-csub-av-campus

For housing concerns, please contact Jason Watkins, Assistant Director for Basic Needs, at 654-3360 or Ashley Scott, the Assistant Director of Housing. You can find more information about housing assistance and contact email addresses at https://www.csub.edu/basicneeds/housing-stability

More information on basic needs assistance is on the Basic Needs website: https://www.csub.edu/basicneeds

Health and Well-being
This continues to be a trying time mentally, physically, and with work / life balance issues. If you need additional time for assignments due to your current situation, please contact me to discuss the options available to you. Similarly, should something come up unexpectedly in my life that affects a class meeting, I will let everyone know through the Moodle Announcements board, which will also send a notification email to the email address you have on your Moodle profile.

The CSUB Counseling Center has both regular-hours and after-hours counseling services available. Call 654-3366 to connect with their services. After their normal operating hours, you can press 2 at any time to connect to the after-hours service. More information is at https://www.csub.edu/counselingcenter/

CSUB's Student Health Services is available for basic health care needs, at little to no cost for CSUB students. You can find more information about their services at https://www.csub.edu/healthcenter/

Current information about CSUB's COVID-19 plans, policies, and resources can be found at https://www.csub.edu/covid-19

Technology Assistance and Software
If you need help with technology, such as a loaner laptop and/or hotspot, ITS has programs to provide technology assistance to students. Go to the following ITS webpage to learn more about their programs: https://its.csub.edu/step

The CEE/CS Department has academic software subscriptions available to students enrolled in CMPS and ECE courses. This currently includes Microsoft, VMware, and Mathematica. Go to the following page for more information: https://www.cs.csub.edu/downloads.php

CSUB ITS has many software products available to students through the Virtual Computer Lab (VCL). You will need to use your myCSUB credentials to access VCL. To see the full list of software and to access VCL, go to https://its.csub.edu/VCL

Grading
Part 1 (CLI) Labs 20%
Part 1 (CLI) Checkpoint Exams (2) 20%
Part 1 (CLI) Culminating Exam 15%
Part 2 (SysAdmin) Labs 20%
Part 2 (SysAdmin) Checkpoint Exam (1) 10%
Part 2 (SysAdmin) Culminating Exam 15%

Grades are posted on Moodle. Note: Moodle does not penalize your grade for any ungraded assignments, so it will show your "current" overall percentage based off the classwork graded to-date.

It is your responsibility to check Moodle for grades and any comments on assignments. If you believe you submitted your assignment on time but the comment field says "assignment not received", contact me.

Labs
Lab assignments are posted on Moodle and the due dates are listed on each assignment. Partial credit will be given for incomplete labs.

Submit your work to Moodle and I will grade it during my next grading session. Do NOT email your submission as the campus spam system sometimes silently blocks emails with attachments.

Moodle Submission Guidelines
Submissions must be in a standardized document format (e.g., ODT, DOC, DOCX, PDF, PNG, JPEG, etc.). Avoid RTF format, as it has caused issues in the past. Also, make sure to check your file after it has uploaded, to be sure there were no upload errors.

You may also write your answers in the Moodle Notes section if you can adequately answer them in Moodle's text box. Note that the Moodle text box does not always properly handle metacharacters like < or &. If you have a large number of these characters, it is safer to upload a file rather than use the Moodle text box.

Moodle records the last time you edit the Notes field or upload a file as the submission time for the assignment. You do not need to hit the "Submit" button for me to see your work.

If you have drawn something out by hand, take a picture or use a scanner and upload the image to Moodle. Please keep the file sizes reasonable, but also make sure the image is legible.

If you submit multiple files, please name them in a fashion that indicates what they contain, e.g. lab1-1_q2_drawing.jpg, lab1-2_part1.pdf, lab1-2_part2.pdf, and so on.

If you have any difficulties submitting to Moodle, contact me or Steve Garcia for help. Emailed submissions are not guaranteed to be accepted since my email volume is so high and the spam detection software can silently drop emails.

Moodle Exams
All of the exams will be given through Moodle as open-book, open-notes exams. Each exam will be open for 48-hours for you to attempt the exam. Once you begin an attempt, a count-down timer will give you 2.5 hours to complete the exam. There will be no class meeting on the exam days, but I will be available during the normal class meeting time via Discord and email if you have any questions or issues with the exam.

Exam schedule:

NOTE: Make sure you begin the exam at least 2.5 hours BEFORE the end of the 48-hour window. Moodle WILL stop all attempts at the end of the window, regardless of how much time is left on your countdown timer.

There is a choice poll on Moodle to determine if the majority of the class would prefer to have the 48-hour window purely on weekdays (e.g., Thursday-Friday and Monday-Tuesday) or if the majority prefer the window to overlap the weekends (e.g., Friday-Saturday and Sunday-Monday).

If you have any connectivity, power, or technology issues (hopefully not meatball sandwich issues) that cause you to lose connection to Moodle during the attempt, email me ASAP so I can reset your attempt.

It is your responsibility to log in to Moodle and take the exams during their windows. I do not give make-up exams. If you miss an exam and you believe you have a valid university excused absence, contact me as soon as possible and I will evaluate the situation. For students where I approve the absence as an excused absence, the other exams will be reweighted to cover the missed exam. For students without an approved excused absence, the exam will be recorded as a 0 in the grade calculation.
Final Exam
The culminating exam for Part 2, System Administration, will be aligned to the final exam time for this course, but will still have a 48-hour window as with the other exams. The final exam day for this course is the first day of final exams, Wednesday, December 8, 2021, so the 48-hour window for the Part 2 culminating exam will be 12:01am Wednesday, December 8, 2021 to 11:59pm Thursday, December 9, 2021.

If you have more than two final exams scheduled on both days in the 48-hour window, contact me at least ONE WEEK before the final exam to schedule an alternative window.

Prepared By
Melissa Danforth on 18 August 2021. Last update on 20 August 2021.

Approval of Course Outline
Approved by CEE/CS Department in Spring 2014
Effective Fall 2016