CMPS 2650 Linux Environment and Administration
Catalog Description
CMPS 2650 Linux Environment and Administration (3 + 1)
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. Each week lecture meets for 150 minutes and lab meets for 150 minutes.  
Prerequisites by Topic
None.
Units and Contact Time
4 semester units. 3 units lecture (150 minutes), 1 unit lab (150 minutes)
Type
Elective skill development, recommended for Computer Science majors. 
Required Textbook
A Practical Guide to Linux Commands, Editors and Shell Programming, 1st edition. Mark G Sobell. Publisher: Prentice Hall, 2005. ISBN: 0131478230
Unix and Linux System Administration Handbook. Nemeth, Snyder, et al. Prentice Hall. The current edition is the 4th edition, ISBN 0-13-148005-7
Recommended Textbook and Other Supplemental Materials
Linux Pocket Guide. Daniel J. Barrett. Publisher: O'Reilly, 2004. ISBN: 0596006284 Linux Administration: A Beginner’s Guide, Sixth Edition, Wale Soyinka, McGraw-Hill, ISBN-13: 978-0-07-176758-3
Essential Linux Administration: A Comprehensive Guide for Beginners
, Chuck Easttom, Cengage Learning PTR, ISBN-13: 978-1435459564
Coordinator(s)
Steve Garcia
Student Learning Outcomes
Ability to work at the Linux/Unix command line, edit and search text files and understand and manage file permissions.
Ability to work remotely at both the command line and using graphical interfaces.
Ability to write simple to moderately complex shell scripts.
Ability to use the specialty programming utilities available for unix-like environments.
Ability to understand and configure unix-like servers, including startup files, filesystems, networking, user accounts, hardware, and backup.
Ability to understand and configure basic system services including backup, periodic services, DNS and email.
Ability to understand the core concepts behind information security and the best ways to approach security.
An understanding of what further topics to pursue.

ABET Outcome Coverage
Not applicable to this course.
Lecture Topics and Rough Schedule

Sobell Chapter 1, 2, 3 and 6
Intro, getting started, command line and vim editor
Week 1
Sobell Chapter 4 and 5
Linux filesystem and the shell
Week 2
Sobell Chapter 1 and 3
X11, networking, command line utilities
Week 3

Regular expressions and grep
Week 4
Sobell Chapter 6 and 13
Regular expressions, vim and sed
Week 5
Sobell Chapter 8 and 11
BASH and programming the shell
Week 6
Sobell Chapter 10
Programming tools
Week 7 and 8
Nemeth Chapter 1, 32, 24
Background, policies and virtualization
Week 9
Nemeth Chapter 3, 6, 8
Booting, startup scripts and filesystems, storage
Week 10
Nemeth Chapter 5, 4, 7
Root, processes and daemons, adding users
Week 11
Nemeth Chapter 9, 10, 13
Cron, backups, kernel
Week 12
Nemeth Chapter 11, 14, 15
Logging, networking, routing
Week 13
Nemeth Chapter 17, 20
DNS, Email
Week 14
Nemeth Chapter 22
Security
Week 15
Design Content Description
  Not applicable to this course.
Prepared By
Steve Garcia on July 30, 2014
Approval
Approved by CEE/CS Department on [date]
Effective [term]