The course instructor for CSCI 373.005 is J Dean Brock.
CSCI 373.005 meets on Tuesday evening from 5:10 PM to 7:40 PM in either RRO 217 or RRO 223..
Class home page
All class handouts, including homework assignments, can be found through the following URL:
The creation and management of enterprise systems: file systems, computer security, information assurance, scripting languages, virtual machines and cloud-based systems. Prerequisite: CSCI 181 or 182.
Degree requirements fulfilled
CSCI 373.005 can be used to fulfills part the the “extra hours” in the Computer Science major and minor; and, of course, all students can use CSCI 373.005 to fulfill 3 credit hours of the required 120 for graduation.
- System management — file systems and processors
- Network management — user and system management
- People management — herding cats and managing the boss
- Automating the work with scripting — Python and bash
- Experience with Raspberry Pi and Google Compute Engine
Textbook and readings
Readings for this course will be available from on-line sources. This will include sections of some books available on-line through the UNC Asheville library. Assigned readings will be listed on the course lecture schedule page.
In the beginning of the term, we will frequently turn to The Linux command line: a complete introduction by William E. Shotts, Jr. You can buy it, view it for free from the UNC Asheville library, or download a PDF (legal and free) from linuxcommand.org .
The recently published Linux Pocket Guide by Danial Barett, also online at UNC Asheville, is another succinct user-level reference to the Linux system. For information about the workings of Linux, look at How Linux Works by Brian Ward. This useful book is also available as a UNC Asheville on-line reference. Finally, there is the most frequently used text for system administration UNIX and Linux System Administration Handbook by by Evi Nemeth, Garth Snyder, Trent Hein, Ben Whaley and others. Although this was published in 2010, it remains the most popular textbook-style book for Unix and Linux. And, of course, it is available as a UNC Asheville on-line reference.
Another very useful resource for scripting will be the extensive Advanced Bash-Scripting Guide by Mendal Cooper which can also be downloaded as a 916 page PDF file.
Finally, here is a list of a few books available on-line from the UNC Asheville library that are closely related to the course.
- CompTIA Linux+ study guide by Roderick Smith
- The official Ubuntu book by Matthew Helmke, Elizabeth K. Joseph, José Antonio Rey with Benjamin Mako Hill
- A practical guide to Linux commands, editors, and shell programming by Mark G. Sobell
- Linux shell scripting cookbook by Shantanu Tushar and Sarath Lakshman
- Python for Unix and Linux system administration by Noah Gift and Jeremy Jones
Finally, since we have some Ubuntu systems in the departments, here are some references for them.
- Ubuntu 14.04 desktop guide
- Ubuntu 16.04 server guide
- Ubuntu 14.04 server guide
- Ubuntu 16.04 server guide
Software and Hardware resources
We will frequently use the department’s Linux servers and workstations in these course. We have also have access to two platforms where you will be in charge of a real computer system during the term. Some system administration tasks will be performed on Raspberry Pi systems provided by the university. You will be able to check out Raspberry Pi systems provided by the university for the duration of this course. We also have an educational account for individual virtual cloud computers on the Google Compute Engine. I expect that experience with the Google Compute Engine will look good on a resume.
Because the good (and well-paid) system administrator knows how to write scripts to automate administration tasks, you will be expected to write Bash scripts and Python programs that manipulate files, invoke system utilities, and stop and start services. Although you are not expected to have previous knowledge of Python, your previous programming experience should enable you to quickly learn a new programming language.
There are many free on-line resources for learning Python. Google for Education has a Python course that provides a good introduction. The Python Software Foundation also offers its own Python tutorials for both Python 2 and Python 3. Learn Python the Hard Way is also a good reference.
There are a large number of Python references that you can access on-line though the UNC Asheville library. Here are a few I that I have examined.
- Python: Visual QuickStart Guide by Toby Donaldson
- Python in 24 Hours, Sams Teach Yourself by Katie Cunningham
- Python for Kids: A Playful Introduction to Programming by Jason R. Briggs
- Introduction to Computation and Programming Using Python by John Guttag
- The Python Quick Syntax Reference by Gregory Walters
- Python Pocket Reference by Mark Lutz
Many Python programmers use the IDLE IDE. (Ask a Monty Python fan to explain the name.) However, you may find it a bit primitive when compared to the NetBeans (or even the processing) IDE. We have the free versions of both PyCharm and Wingware installed in the lab. You may wish to install them on you personal systems.
The following weights are used in computing the course grade.
Students will complete near-weekly assignments to be turned in at class or submitted via the UNC Asheville moodle system.
Students are required to cite any sources, including the work or advice of other students, used in completing their assignments. This rule implies that students must submit the names of any students with whom they have discussed a homework assignment. If this is not done, no credit will be given for the homework. Intensive use of other sources can result in adjustments to the homework grade.
Every system administrator needs the skills to complete some useful task. In many homework assignments you will demonstrate your skills are a system administrator.
Undoubedly, when we look at this in twenty years, we will find many of these skills very dated. Maybe system administration in 2030 will resemble how it is done in the movie Her.
On the other hand, there are a few concepts in programming that a system administrator need to master. This includes regular expressions and file system programming.
All homework assignments will have a specific due time. A penalty of 1% per hour, rounded up to the next hour, will be applied to late homework.
This course will two equally-weighted exams, a midterm and a final. Both of the exams will be offered in the lab. Students are allowed access to all network resources, except for those used to communicate with other people.
UNC Asheville’s Academic Policies and Procedures do provide excused absences for “travel on university-sanctioned business” and “up to two excused absences per semester for religious observances” when seven days notice is given. The instructor will announce exam times with at least ten days notice. This will allow the instructor to reschedule exams to avoid excused absences.
The following numerical scale will be used in assigning grades based on Score, the score computed using the weights described above.
|Score ≥ 93||A|
|Score ≥ 90 & Score < 93||A-|
|Score ≥ 87 & Score < 90||B+|
|Score ≥ 83 & Score < 87||B|
|Score ≥ 80 & Score < 83||B-|
|Score ≥ 77 & Score < 80||C+|
|Score ≥ 73 & Score < 77||C|
|Score ≥ 70 & Score < 73||C-|
|Score ≥ 67 & Score < 70||D+|
|Score ≥ 60 & Score < 67||D|
|Score < 60||F|
The classroom is a place where students and faculty behave professionally. We are polite and attentive. We avoid talk of politics and religion. We do not use offensive language.
We all try to come to class on time. If students are late, they sit near the door. (A late instructor still must come to the front of the room.)
Electronics in the classroom
You are welcome to use your electronic devices to take notes. However, you should read the article Why students using laptops learn less in class even when they really are taking notes from the Washington Post before you give up on handwritten notes.
Electronic devices should not be used for gaming and social media during class. This distracts others in the class.
Sometimes you may need to discretely respond to a TXT message received during class. In these cases, it usually is best to leave the room. Do not use TXT messages to communicate to others in class. That is very impolite.
Some class activities, such as exams and labs, generate grades. You will receive a grade of 0 for the activities you miss. If you have an authorized excuse, you will be given an opportunity for a make-up.
Some class periods may be dedicated to student presentations. You are expected to attend all presentations by your fellow students. If you do not, your grade for own presentation will be adjusted.
It is never proper to claim another’s work as your own in graded work.
There are several impermissible actions that will result in the imposition of course or university sanctions. Impermissible actions in homework assignments include the following:
- Copying any portion of another student’s work by any method.
- Allowing another student to copy your work by any method.
- Incorporating program code, images, circuit diagrams, etc. into your homework solution that you did not create without citing the source.
Impermissible actions on exams include the following:
- Use of any unauthorized devices or sources of information.
- Giving and receiving information to another student by any method.
Sometimes these rules may be modified or clarified for specific assignments and exams. For example, ”pair“ programming may be allowed for an assignment, or simple scientific calculators may be allowed during an exam.
Course sanctions for impermissible actions
The first offense will result in a grade of 0 for the related assignment or exam. The second offense will result in a grade of F for the course.
University policy on academic misconduct
The UNC Asheville Student Handbook has a section devoted to Academic Misconduct. It states the following:
A student accused of academic dishonesty should talk with his or her instructor. In all situations where a student has been disciplined for plagiarism or cheating, the instructor is to submit to the VCAA a brief statement of the case; the student is to receive a copy of this document. Depending upon the severity and/or repetition of the offense, the VCAA may choose to impose a penalty of cancellation of graduation with honors; cancellation of scholarships; dismissal from the university; or any other penalty which he or she deems logical and deserved. A student has 10 class days to respond to this document, in writing; this response is to be sent to the VCAA for attachment to the document submitted by the instructor.
In practice, students who have been involved in academic misconduct in three courses will be suspended for a semester. However a single significant offense, such as the submission of a plagiarized paper, can result in immediate dismissal.
Accommodations for Students with Disabilities
Statement from the Office of Academic Accessibility
University of North Carolina at Asheville is committed to making courses, programs and activities accessible to persons with documented disabilities. Students requiring reasonable accommodations must register with the Office of Academic Accessibility by providing supporting documentation. All information provided will remain confidential. For more information please contact the Office of Academic Accessibility at (828)232-5050 or email@example.com or visit them in the OneStop Student Services Center.
Specific clarifications for CSCI 373.005
Students who have been approved for extended time for exams by the Office of Academic Accessibility must have their exams administered by the Office of Academic Accessibility and must take their exams at a time overlapping the scheduled in-class exam.
For more information
I have office hours on Tuesday from 2:30 to 4:00 and Wednesday 1:0o to 3:30. The best way to get in touch with me is to send email to firstname.lastname@example.org. If you need to see me, send email to arrange an appointment.
I get lots of email, so please include CSCI 373 in the subject line.
Email and FERPA
Academic administrators at UNC Asheville have told instructors that information protected by the Family Educational Rights and Privacy Act should only be sent to official university email addresses. Information related to recorded grades is clearly protected, as is any discussion that would allow a reader to draw conclusions about your performance or attendance in class.