This course is designed to introduce students to a variety of Unix based commands, utilities and languages such as shell scripts, Perl, Python, 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 students 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
- Be able to develop Perl programs to perform simple data analysis and other simple programming tasks
- Be able to develop Python programs to solve simple programming problems
- Be familiar with other Unix tools such as sed, awk, and expect, etc.
- Be able to use network monitoring tools such as ping, traceroute, netstat, tcpdump, etc
- Be able to use Unix programming utilities such as editors, debuggers, make, CVS, etc
- Be able to use Unix/Linux based digital forensic tools (if time permits)
All students in this class are expected to have a working knowledge of UNIX from the user standpoint, 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
- A practical guide to Linux Commands, Editors, and Shell Programming, 3rd Edition, by Mark G. Sobell. Prentice Hall.
- Useful textbooks:
- UNIX Power Tools, by Jerry Peek, Tom O'Reilly, and Mike Loukides. Publisher: O'Reilly.
- Learning Perl, by Randal L. Schwartz, brian d foy, and Tom Phoenix. Publisher: O'Reilly.
- Learning Python, by Mark Lutz. Publisher: O'Reilly.
- Unix in a Nutshell, by Arnold Robbins. Publisher: O'Reilly.
- Linux administration handbook, by Evi Nemeth et al. Publisher: Prentice Hall PTR.
- Programming Perl, Larry Wall et al. Publisher: O'Reilly.
- Network programming with Perl, by Lincoln D. Stein. Addison-Wesley. 2001.
- Homework assignments: 55% (including both written assignments and programming assignments)
- Midterm exam: 20%
- Final exam: 25%
A [90-100] A- [87-90) B+ [84-87) B [81-84) B- [78-81) C+ [75-78) C [72-75) C- [70-72) D [60-70) F <60
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.
NOTE: recitation attendance is required. Both announced and unannounced quizzes will be given during recitations.
Missed exam Policy:A missed exam will be recorded as a grade of zero. We will follow the university rules regarding missed final exams (see http://registrar.fsu.edu/dir_class/fall/exam_schedule.htm), for all the exams, including the final exam.
Late Assignment Policy: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 24 hours late will be scored with a 10% penalty.
- An assignment that is turned in more than 24 and no less 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.
Incomplete Grade (Grade of 'I') Policy:The grade of 'I' will be assigned only under the following exceptional circumstances:
- The final exam is missed with an accepted excuse for the absence. In this case, the final exam must be made up during the first two weeks of the following semester.
ACADEMIC HONOR POLICY:
The Florida State University Academic Honor Policy outlines the University's expectations for the integrity of students' academic work, the procedures for resolving alleged violations of those expectations, and the rights and responsibilities of students and faculty members throughout the process. Students are responsible for reading the Academic Honor Policy and for living up to their pledge to . . . be honest and truthful and . . . [to] strive for personal and institutional integrity at Florida State University. (Florida State University Academic Honor Policy, found at http://fda.fsu.edu/Academics/Academic-Honor-Policy.)
AMERICANS WITH DISABILITIES ACT (ADA):
Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Student Disability Resource 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.
This syllabus and other class materials are available in alternative format upon request.
For more information about services available to FSU students with disabilities, contact the:
Student Disability Resource Center
874 Traditions Way
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
Remember that the goal of programming assignments and homework is to enhance your analysis, reasoning, and programming skills. Indulging in academic dishonesty defeats this purpose apart from being unfair to other students. In case you have any questions about whether an act of collaboration may be construed as academic dishonesty, please clarify the issue with the instructor before you collaborate.
All students should follow FSU Academic Honor Code. You might be assigned a grade of 'F', if you are found to have indulged in academic dishonesty.
It is understandable that discussing a problem with other people may lead to more insight into the issues involved. Thus discussing a problem in assignments/homeworks with other people is fine. However, discussing the solutions to the problem is NOT acceptable.
Every student must write his/her own code and homework. Showing your code or homework to members of other teams, giving it to them, or making it accessible to them (e.g., by making the files world-readable) is academic dishonesty.
You are responsible for ensuring that your code/documentation/results are adequately protected and not accessible to other teams. Change permissions of your working directory to 0700 ('chmod 0700 <directory>).
Consulting code/material from a textbook, or from the Internet, in order to understand specific aspects of your assignment is fine. However, copying such code/material will be considered academic dishonesty. If you borrow small parts of code/material from these sources, you must acknowledge this in your submission and additionally you must clearly understand and be able to explain the borrowed code/material.
Plagiarism detection tools, such as Moss (A system for detecting software plagiarism), will be used in this course.
This syllabus is a guide for the course and is subject to change with advance notice.