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.
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:
- First Monday (August 23rd): Attendance is required for class overview.
- Monday and Wednesday (lecture): Attendance is strongly encouraged. The
lecture will be on textbook and Moodle materials. There will be a
corresponding lab assignment for pretty much every lecture (sometimes
more than one). Lectures will be recorded, but there will be a processing
delay to get them posted.
- Friday (lab): Attendance is optional for lab sessions. This will be where
you can ask questions on the lab assignments from Monday and Wednesday.
Earlier assignments are simple, but later assignments are complex, so
please take advantage of this time to help with completing the
assignments. Labs will not be recorded.
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).
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
None.
4 semester units. 3 units lecture (150 minutes), 1 unit lab (150 minutes).
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.
Elective for Computer Information Systems (CIS), Selected elective for
Information Security (IS)
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/
- Part 1: A Practical Guide to Linux Commands, Editors, and Shell
Programming, 4th Edition, Mark G. Sobell, ISBN-13: 978-0134774602,
https://learning.oreilly.com/library/view/a-practical-guide/9780134774626/
- Part 2: UNIX and Linux System Administration Handbook, 4th Edition,
Nemeth, Snyder, Hein & Whaley, ISBN-13: 978-0131480056,
https://learning.oreilly.com/library/view/unix-r-and-linux-r/9780132117364/
Supporting information relating to the course will be posted on Moodle.
Melissa Danforth, Steve Garcia
This course covers the following ACM/IEEE CS2013 (Computer Science)
Body of Knowledge student learning outcomes:
- CS-IAS/Foundational Concepts in Security
- CS-OS/Security and Protection
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.
-
Part 1: Command-Line Interface (CLI) - Sobell textbook |
Week | Chapter(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 |
Week | Chapter(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 |
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.
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/
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/
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
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
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
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.
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.
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.
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:
- Part 1 checkpoint exam 1: Friday September 10, 2021
- Part 1 checkpoint exam 2: Monday September 27, 2021
- Part 1 culminating exam: Friday October 8, 2021
- Part 2 checkpoint exam: Friday November 5, 2021
- Part 2 culminating exam: See section on Final Exam below
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.
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.
Melissa Danforth on 18 August 2021. Last update on 20 August 2021.
Approved by CEE/CS Department in Spring 2014
Effective Fall 2016