COS 231

Introduction to unix

 

George Markowsky

University of Maine

GOALS

 

1.         To teach you about some of the important aspects of operating systems.

 

2.         To teach you about unix and Linux, along with some of their utilities.

 

3.         To show you how the unix utilities form a powerful problem solving environment.

 

4.         To introduce you to some of the unix programming languages.

 

5.         To improve your capabilities as a programmer.

 

PREREQUISITES

 

1.         Some programming experience, preferably in C or C++.

 

2.         An interest in learning about unix/Linux.

 

3.         You must have access to hardware on which you can install and run Red Hat Linux Version 9. If you don’t have such hardware, please do not take this course. You will learn a lot more by running your own linux workstation.

 

GRADING

 

Your COS 231 final grade will be based on the average of all your homework grades. There will be no exams in this course. The list below shows how your final grade is computed

 

A

90 or above

C

70 to 72

A-

85 to 89

C-

65 to 69

B+

83 or 84

D+

63 or 64

B

80 to 82

D

60 to 62

B-

75 to 79

D-

55 to 59

C+

73 or 74

F

54 or below

 

 

ADDITIONAL NOTES

 

1.         I want people to work on the homework individually.  You can talk to each other and give help, but this help should not take the form of letting other people copy your work. It is important that you understand how to do all the problems on your own.

 

2.         Cheating has become widespread, but ultimately it is counterproductive. You really should focus on doing your own work so that you actually learn the subject. Cheating includes such things as copying other students' homeworks or submitting work found on the web as one’s own work. .  Cheating is bad for the class and bad for you. I am assuming that you took this course to learn how to make linux work for you, so it is not clear how you expect this to happen if you don’t do the work yourself. I will take action against people who cheat.

 

3.         Homework grading will be strict since the goal is to make you more careful. Errors are the source of much mischief, so it is important to reduce them as much as possible. Even minor arithmetical mistakes will result in points being lost, so do your work carefully.

 

4.        If a problem asks you to write a program, a function or a procedure, always submit a listing and output, even if the problem does not explicitly ask for these. Since you will be submitting your homeworks electronically, you will not be able to submit handwritten code (SCANS of handwritten code are not acceptable).

 

5.         If your programs have bugs, I expect you to make a reasonable effort to find the bug on your own. I will be happy to help you find problems in your programs, but you must supply evidence that you have tried to find the problem on your own and the program I see should have evidence of your efforts to debug it.

 

6.         If you run out of time and must turn in a program that doesn’t run, submit enough material to explain what you have done as well as a listing.   Look up an error messages in the Help facility and try your best to solve the problem on your own.

 

7.         Be sure   that your listings include comments that explain   what   you are doing if it is not completely obvious.  It is up to you to   explain what you are doing.

 

8.         If   you do not understand a problem get a clarification from me.    Do not waste a lot of time working on something that you don't understand.

 

9.         There will be due dates and last dates for each homework assignment. Homeworks not completed by the last date will automatically get a grade of 0. The purpose of the due date is to help you stay on a reasonable schedule.

 

TEXT

Because of a last minute switch in texts at the UMaine bookstore, and because of a new version of Red Hat Linux now being available, people can use one of the following text books for this course. You only need to buy one of these texts. The texts are: Red Hat Linux 9 Bible by Christopher Negus, Wiley, 2003, Red Hat Linux Bible Fedora and Enterprise Edition by Christopher Negus, Wiley, 2004, and Red Hat Linux 9 Unleashed by Bill Ball and Hoyt Duff, Sams Publishing, 2003. There will also be some notes posted on my website for topics not covered in the textbook, and we will also use resources from the web.

 

OFFICE HOURS

    

 

Office

237 Neville Hall

Office Hours

By appointment

Phone

581-3940

e-mail

markov on any CAPS or CS Dept. Network

I will not be keeping regular office hours during the summer, but I will be around the office rather often. If you need to see me or the grader, please contact us directly to make an appointment. You can check by either calling my number or the Computer Science Department (581-3941). If you have problems with this course and need help come in to see me immediately.  Don't fool around until the end of the semester and then try to learn all the material in a week.

 

 

CLASS MEETINGS

There are no scheduled class meetings at this time. The primary means of communication will be via e-mail.  You can call me if you need to speak to me, although I recommend using e-mail first to set up a time to speak over the phone.

 

I will be e-mailing you information directly, as well as posting it on the website. If there is enough interest, I will set up some sort of class discussion area on the web. Please let me know if you would be interested in having such an option.

 

GRADER

Jeremy Logan (Jeremy_Logan@umit.maine.edu) will be the grader for this course. If you have any questions about how a particular homework was graded, please send an e-mail to Jeremy first. If you and he cannot resolve the matter satisfactorily, then contact me.

 

DISABILITIES

 

If you have a legitimate disability that is interfering with your performance in this course, please let me know about it.  I will try to accommodate it as much as possible.

 

 

DUE DATES

 

Each homework will have a due date and a last date. The due date is when you should try to submit your homework. The last date is the date after which you will receive a 5 points per week penalty for lateness. If there are extenuating circumstances (medical, professional, etc.) please contact me so we can work out some scheme. The main purpose of these dates is to have you working smoothly throughout the semester, and to prevent massive cramming at the end.

SYLLABUS

The following shows roughly the order in which we will go through the book(s). This is all variable and subject to change. I will indicate roughly which chapters go with which topic. The two books by Negus have the same chapter structure and I will just use N to represent them. The book by Ball and Duff I will just represent by BD. The numbers following the letters represent chapters in the books.

 

 

Week of 5/10

Installing Red Hat 9 and Basic Configuration (N 1-2; BD 1-4)  HW-1 Assigned

Week of 5/17

Installing Red Hat 9 and Basic Configuration (N 1-2; BD 1-4) 

Week of 5/24

First Steps with Linux (N 3-5; BD 5-6) HW-2 Assigned, HW-1 Due

Week of 5/31

First Steps with Linux (N 3-5; BD 5-6)

Week of 6/7

Document Preparation and Games (N 6-7; BD 25, 27)  HW-3 Assigned, HW-2 Due

Week of 6/14

The Web & HTML (N  8-9, BD 26, Notes)  HW-4 Assigned, HW-3 Due

Week of 6/21

Basic Administration (N 10-11; BD 7-10)  HW-5 Assigned, HW-4 Due

Week of 6/28

Scripts Etc (N 12-13; BD 11, 22, Notes)  HW-6 Assigned, HW-5 Due

Week of  7/5

Computer Security (N 14; BD 13-15)

Week of  7/12

perl (BD 23, Notes) HW-7 Assigned, HW-6 Due

Week of  7/19

Javascript & CGI (Notes) HW-8 Assigned, HW-7 Due

Week of  7/26

Finishing Up HW-8 Due this week