 |
CEG 233: Linux and Windows
Syllabus
|
Catalog Description: Introduction to Linux and Windows
systems. GUI and Windowing Systems. Files and
Directories. Ownership and Sharing. Programs and Processes.
System calls, Libraries. Loading. Dynamic linking. Command
Line Shells. Scripting languages. Regular
expressions. Clients and Servers. Web browser clients and
servers. Secure shell, sftp. SSL/TSL. HTTPS. System
Administration. 4 credit hours. 3 hours lectures, 2 hours
labs. Prerequisites: CS 240 or CS 220 or equivalent.
Overview
This is a freshman-level 4 credit hour course conducted in a
10-week term. Its goal is to develop in the minds of students an
effective operational model of computer systems running either Linux
or Windows. This course is lab-oriented.
Source Materials
- Mark G. Sobell, "A Practical Guide to Linux Commands,
Editors, and Shell Programming", Prentice Hall, 2009, 1080
pp.
http://proquest.safaribooksonline.com.
ezproxy.libraries.wright.edu:2048/0131478230/
- Bruce Payette, Windows PowerShell in Action, Manning
Publications, 2007; 576 pp.;
http://proquest.safaribooksonline.com.ezproxy.libraries.wright.edu:
2048/9781932394500
- William R. Stanek, Windows 7 Administrator's Pocket Consultant, Microsoft
Press, 2009, 704 pp;
http://proquest.safaribooksonline.com.ezproxy.libraries.wright.edu:2048/9780735634732
- Web site:
http://www.cs.wright.edu/~pmateti/Courses/233/Top/index.html
Prerequisites
General exposure to PCs, and MS Windows which is so common that we
do not list it as official prerequisites. CEG233 does not assume
prior exposure to Unix/Linux. Familiarity with a
programming language (such as C++, or Java) is expected. It is assumed
that you are comfortable with control structures such as loops and
if-statements.
Content
The topics are grouped based on coherence. Even though there
are nine items below, worth one week each, they are not to be taken
literally as weekly schedules.
Unix/Linux command names are well-known, whereas their
Windows-equivalents are often hidden behind a GUI; so, only Linux
command names are shown, but the equivalent Windows operations are
also included.
- GUI and Windowing Systems. Mouse clicks etc. as
events. Coupling of events to actions. Focus.
Cut and paste models. X11, KDE, Gnome, xterm. Fonts,
bit maps, vector drawings. Tiled and overlapped windows.
- Files and directories. File names and extensions. Operations on
files and directories. Compression. File systems: ISO9660,
ext2/3/4, vfat, ntfs. Fragmentation. Sequential and
random access. Large streaming files.
rwx-permissions. Ownership and sharing. Access control
lists. Alternate data streams. Hard and soft
links. Commands: ls, ln, cp, mv, rm, cat, chmod, chown,
umask, dd, gzip, tar, file, wc, sort, uniq.
- Programs and Processes. System calls, libraries. Virtual
memory. Swap space. Loading. Dynamic linking. Unix/Linux ELF,
COFF and a.out. Windows COM, EXE. Signals. Single CPU
Multi-tasking, multiple CPUs and SMP. Commands: kill, ps, top,
nice, bg, fg, ldd, size, task manager.
- Command Line Shells. Scripting languages. Linux bash. Windows
PowerShell.
File system browsers. Cygwin.
- Utilities. Regular expressions, Version control. Commands: grep,
diff, patch, make, find, od, svn.
- Networking. Host names, IP addresses. Protocols. TCP and UDP.
DNS. ports. URLs. Sockets. Clients and servers. Web browsers
and clients. Secure shell, sftp. SSL/TSL. HTTPS. NFS and
Samba. Commands: ssh, sftp, ping, traceroute, wget.
- Users. Classes of users and their privileges. Passwords,
MD5. Power users, Administrators, etc. SUID programs. Commands:
passwd, newusers, userdel, sudo, su.
- System Administration. File system integrity, virus scanning,
patch management. Archives. System restore. Windows Registry.
Booting of OS. Power on self test. BIOS. Boot loaders: NTLDR,
GRUB. Process init. login. Suspend v. hibernation. Linux
distributions: Debian, RedHat, etc. Windows XP and Vista. Open
source movement. Commands and files: df, du, mount, umount,
/etc/passwd, /etc/shadow, /etc/fstab, /etc/inittab, init.d
scripts.
- Recap. Operating Systems? Kernels? Systems programs?
Applications? Layered view. Components: Processes, Virtual
Memory, File Systems, Networking, Events, and Device Drivers.
Services: Resource management, protection, multi-programming,
multi-tasking.
Grading
Two on-line exams worth 20% and 35%. Nine labs each worth 5% each.
Course grades will be based on the total score as follows. A: 90-100,
B: 80-89, C:70-79, D: 60-69, F: below 60. Grades may be further curved
if appropriate.
Lab Oriented
This course is lab-oriented. Expected number of labs: 10 or 9;
about one per week. Lab work is scheduled for 100 minutes in OSIS lab
(429 Russ) with PCs that can dual boot into Linux or Windows.