CpSc 207, Systems Software and Architecture for End Users

Syllabus, Fall, 2009

Dr. Conlon

For a printable version of this syllabus, click here.


Catalog Description: This course introduces the student to prevalent operating systems and the hardware and networking of those systems. User level commands in the current PC operating system and the Unix operating system for managing files, system utilities, and task management are introduced. The architecture of the PC and how it relates to the OS is discussed conceptually and physically examined. The hardware and software required for inter-connecting systems are discussed. (3 credits)

Professor's Description: In this course you will learn the architecture of the IBM-PC-compatible computer, basics of networking, and the command-line (shell) interfaces to the Windows and, especially, Linux operating systems. Unix shell programming will be emphasized.

Class Meeting:

Section

Time

Place

1

TR D (2:00-3:15 p.m.)

ATSH 224

Instructor

Name

Phone

Email

Office

Michael P. Conlon, Ph.D.

724-738-2143

michael.conlon@sru.edu

ATSH 252

Office hours: MW 2:00-3:45 p.m., R 3:30-5:00 p.m., or by appointment.

Office hours are for you. Please feel free to visit me to discuss any problems. Do not wait until problems become unmanageable. If I am doing other work during my office hours, it is because no student has come to see me. I will gladly drop what I am doing to help you. If my office hours are inconvenient, see me before or after class and we will find a better time to meet.

Text: A Practical Guide to Linux Commands, Editors, and Shell Programming, © 2005, by Sobell, Prentice Hall. ISBN #0-13-147823-0.

Software: This course will use both the Linux operating system extensively. It is strongly suggested that you install Linux on your personal computer. I recommend Kubuntu Linux, available from http://www.kubuntu.org. Linux can be installed side-by-side with Windows on your hard drive, such that you can choose which OS to load at boot time.

Linux is available both in the Unix Lab, ATSH 224, and when using granite.sru.edu. However, it is a lot more convenient to have Linux running on your own computer.

Grading:

Exams

Lab

Homework, service, etc.

Projects

35%

20%

10%

35%

Late Assignment Policy: Late assignments will not be accepted, but will receive a grade of zero. Exceptions will be made only in extraordinary circumstances.

Exam dates:


Exam 1

Exam 2

Final

Section 1

Tue, Sep 29

Tue, Nov 10

Wed, Dec 17, 10:30 a.m.-12:30 p.m.

Do not expect to be dismissed after you complete an exam. Class work may follow the exam.

Attendance, reading, and participation: You are expected to attend every class and to arrive on time. Do not expect to be admitted to class if you are late. Please do all assigned reading before the class in which it is covered. You are expected to attend and participate in class, and you must do the reading and homework to participate.

Exams: Exams will cover both text and lecture material; some text material may not be covered in class. If you must be absent for an examination, please see me one week in advance to make alternate arrangements to take the exam. Please take care of bodily needs before coming to an exam: you will not be permitted to leave the room during an exam until your paper is handed in. All electronic communication, computation, and entertainment devices must be turned off and put away during exams. Use of such devices during an exam will be considered cheating.

Labs: Labs will be graded mostly on completion. Your first responsibility in lab is to complete the lab assignment. When that is complete, you may work on CpSc 207 project work or homework. If you have no outstanding homework or project, make and test modifications to programs you have completed, or work on a shell programming project of your choice. Your lab grade will be reduced if you are not working on coursework during lab time. If you do not complete your lab assignment during lab time, it will be marked as a zero unless you complete it and demonstrate it to the instructor within two classes.

Email: I may communicate via electronic mail, using your SRU address. Assignments may be announced this way. Be sure your email account is properly set up. You are responsible for checking your SRU email regularly.

Recording of Lectures: Video and/or audio recording of lectures is generally prohibited. The instructor reserves the right to reduce your grade should you make illicit recordings. Permission to record will be granted if there is an educational need for you to do so.

Plagiarism policy: Plagiarism or collusion will earn you a failing grade for the course. You are not to cooperate with others in any way in the development of your programming projects, except as specified in the assignment. Cooperation in doing homework and labwork is encouraged. If you have cooperated with anyone in your homework projects, you must indicate that person's name in your header comments.

Copyright permission: By registering in this course you grant the SRU Computer Science Department permission to copy any of your work from the course for use in assessment or accreditation processes. Identifying information will be removed from such work.

Course Outcomes: This course and its outcomes support the Information Technology Learning Outcomes of Problem Solving and Critical Thinking (PS&CT) and Ethical and Professional Responsibilities (E&PR). These Information Technology Learning Outcomes are tied directly to the University Wide Outcomes of Critical Thinking and Problem Solving, Communication, and Values and Ethics.

Degree

Program Objective

Course Objective

IT

I. a. Apply programming and system management techniques to address information technology problems.

1. Identify and use system utilities to manage files, processes, network connections and other resources on two computing platforms.

IT

III. b. Recognize important legal issues and demonstrate appropriate social responsibilities in information technology.

2. Understand the basic concepts of system and network security and use the related system tools.

IT

III. c. Demonstrate an understanding of the Association of Computing Machinery (ACM) Code of Professional Ethics.

3. Recognize the ethical, legal, and social implications of system deployment.

IT

III. e. Recognize the need for continuing professional development.

4. Use new tools and utilities in the solution for information technology problems.



Additional Course Objectives include:

The student will be able to:

  1. Define and identify terms related to computer systems, telecommunications, and networking.

  2. Manipulate and configure system resources.





Calendar (tentative), with assigned readings:


Date


Topic

Reading

Sep

1

Introduction. Windows, Unix, Linux

Sobell, Ch. 1; http://www.vanwensveen.nl/rants/microsoft/IhateMS.html, chapter 2.


3

Windows CLI commands

Handout: Using the Windows Command-line Environment






8




10

Windows network commands







15

Linux introduction: telnet, ssh, Exceed, and X/Open CD

Sobell, Ch. 2


17

Linux Shell Commands

Sobell, Ch. 3






22




24

The Linux Filesystem

Sobell, Ch. 4






29

Exam 1


Oct

1

The Shell

Sobell, Ch. 5






6

The Vim Editor

Sobell, Ch. 6


8

Bash: the Bourne Again Shell

Sobell, Ch. 8






15








20

Bash programing

Sobell, Ch. 11


22








27




29

Grep and regular expressions

Sobell, pp. 683-687; Appendix A





Nov

3




5








10

Exam 2



12

Awk

Sobell, Ch. 12










17




19

Sed

Sobell, Ch. 13






24

Bash scripts






Dec

1




3

HTML and CGI

HTML/CGI Handout






8




10








17

Final, 10:30 a.m.-12:30 p.m.