Professor Zhenhai Duan
Office: 162 Love Building
Office hours: 10:00AM - 11:00AM, MW, or by appointments
301 Love Building
3:35PM - 4:50PM, MW
This course is designed to introduce students to a variety of Unix based commands, utilities and languages such as shell scripts, the perl language, debuggers, editors, and others such as the ones used for network monitoring. The utilities are available to assist users, researchers, programmers and system administrators who operate in a Unix/Linux environment. Given the time constraints, students will not be expected to achieve complete mastery of these tools. Rather, the student will be introduced to their function and utility with the expectation that students, now having knowledge of same, will further advance their skills when the need for a specific tool arises.
- Be able to develop simple Unix shell programs to solve general problems
- Master Perl programming (intermediate level) to conduct data analysis
- Be able to use Unix programming utilities such as editors, debuggers, make, CVS, etc
- Be able to use network monitoring tools such as ping, traceroute, netstat, tcpdump, etc
- Familiar with other Unix tools such as sed, awk etc.
All students in this class are expected to have a working knowledge of UNIX from the user standpoint, be familiar with a simple UNIX-based editor (such as pico) and have successfully completed at least one programming classes. This course is designed to expand the student's understanding of the Unix environment beyond that point, covering topics not (or lightly) covered in other Computer Science courses
Talk with the instructor if you have any concerns.
- Required textbook
- UNIX Power Tools (3rd edition), Jerry Peek, Tom O'Reilly, and Mike Loukides, O'Reilly & Associates.
- Useful textbooks:
- Unix in a Nutshell: A Desktop Quick Reference for SVR4 and Solaris 7, Arnold Robbins, O'Reilly & Associates
- Learning Perl (3rd edition), Randal L. Schwartz and Tom Phoenix; O'Reilly & Associates (This book is strongly recommended since we will cover the materials in this book for Perl)
- Programming Perl, Larry Wall, Tom Christiansen and Randal L. Schwartz
Week Topic 1 class logistics, basic Unix environment (UPT, Ch 1) 2 Getting help and saving time on command line (UPT Ch 2 and 28) 3 Use of history and move in a hurry (UPT Ch 30, 31) 4 Regular expression (UPT Ch 32) 5 Unix programming environment (emacs/vi, make, gcc, debugger, CVS) 6 Shell Programming (UPT Ch 35, 36, 37) 7 Shell Programming (UPT Ch 35, 36, 37) 8 network monitoring tools; review and midterm 9 Perl (introduction and basic data types) (LP 1-3) 10 Perl (functions, hash, basic I/O) (LP 4, 5, 6) 11 Perl (regular expression) (LP 7, 8, 9) 12 Perl (control structure, file handles) (LP 10, 11) 13 Perl (directory operations) (LP 12, 13) 14 Perl (Process management, strings and sorting) (LP 14, 15) 15 review for final
- Home assignment: 50%
There will be a series of research / programming assignments requiring the investigation and/or use of the commands, tools and languages under consideration. All such assignments will be due by Midnight of the due date and must be submitted via email to TA with the exact subject line required (for example, Assignment1). Each student must cc the mail to him/herself and keep a copy of same (with the headers intact) or no argument that an email was lost/delayed will be entertained (this is very rare, in any event).
Programming assignments will be graded according to the following guidelines:0-59: The program was not turned in on time, or was too incomplete to determine whether the principles behind the assignment were understood. Programs showing little effort will likely be given a zero.
60-69: The program indicates some understanding of principles behind the assignment but does not work correctly on public test data supplied by the instructor.
70-79: The program works correctly on public test data, is based on correct algorithms, and shows understanding of most of the principles underlying the assignment.
80-89: The program works correctly on public test data as well as other data that may be used by the instructor in grading, indicates understanding of all the principles behind the assignment and shows meaningful effort in completing the assignment.
90-100: The program is correct and is also well written in an economical clear style. (This includes use of economical algorithms and data structures, and adequate documentation explaining the data structures used and the effect of each subprogram in terms of its parameters and any global variables it uses.)- Quizzes: 15%
To ensure that students are keeping up with course readings and assignments, a series of short unannounced quizzed will given covering recent work (including the assignment for that day). Missed quizzes will be given the grade of zero.- Midterm exam: 15%
- Final exam: 20%
- Final Letter grade:
A: 90 - 100
B: 80 - 89
C: 70 - 79
D: 60 - 69
F: 00 - 59
Attendance Policy:
The university requires attendance in all classes, and it is also important to your learning. The attendance record may be provided to deans who request it. If your grade is just a little below the cutoff for a higher grade, your attendance will be one of the factors that we consider, in deciding whether to "bump" you up to the higher grade. Missing three or fewer lectures will be considered good attendance. In rare cases, such as medical needs or jury duty, absences may be excused with appropriate documentation. You should let me know in advance, when possible, and submit the documentation I seek. You should make up for any materials missed due to absences.In order to enable us to provide timely solutions to assignments, we have the following policy regarding submission of late assignments. * An assignment that is turned in no more than 48 hours late will be scored with a 20% penalty. * An assignment that is turned in more than 48 hours late will receive the score of zero, though we will review it and comment on it.
Late Assignment Policy:You will gain confidence in your ability only when you do the work independently. On the other hand, one does learn a lot through discussions with ones peers. In order to balance these two goals, I give below a list of things that you may, and may not, do. Things you may not do: You should not copy from the assignments of other students. This includes directly copying or making modifications to others' assignments. If you happen to find a solution to an assignment problem from source, you may not copy it. Furthermore, you should take steps to ensure that others cannot copy your assignment. Things you may do: You may ask others about (i) terminology that you do not understand, (ii) clarifications on what is required of you in an assignment problem (though you may be much better of asking me), and (iii) how to submit your assignment. After the assignment has been graded, you are encouraged to discuss each others' solutions.
Professional ethics:Students are expected to uphold the academic honor code published in "The Florida State University Bulletin" and the "Student Handbook". Please read the provisions of the Academic Honor Code: http://www.fsu.edu/Books/Student-Handbook/codes/honor.html. Also read the section on "Honor code" below.
Honor Code:Plagiarism is "representing another's work or any part thereof, be it published or unpublished, as ones own. For example, plagiarism includes failure to use quotation marks or other conventional markings around material quoted from any source" (Florida State University General Bulletin 1998-1999, p. 69). Failure to document material properly, that is, to indicate that the material came from another source, is also considered a form of plagiarism. Copying someone else's program, and turning it in as if it were your own work, is also considered plagiarism.
Plagiarism:Students with disabilities needing academic accommodation should (1) register with and provide documentation to the Student Disability Center, and (2) bring a letter to the instructor indicating the need for accommodation and what type. This should be done during the first week of class. For more information about services available to FSU students with disabilities, contact: Student Disability Resource Center Dean of Students Department 08 Kellum Hall Florida State University Tallahassee, FL 32306-4400 (850) 644-9566 (voice) (850) 644-8504 (TDD) SDRC@admin.fsu.edu http://www.fsu.edu/~staffair/dean/StudentDisability/
ADA: