Section: | 3262 |
---|---|
Name: | Jorge Cabrera |
Email: | cabrera@sonoma.edu |
Office Hours: | To be determined. |
Schedule: | Thu 9:00 AM to 11:50 AM @ Stevenson 1034 |
---|---|
Prerequisites: | GE Math eligibility and previous or concurrent enrollment in CS 215, or consent of instructor. |
Laboratory, 3 hours. An introduction to the use of Unix as a programming environment. Communicating with a Unix host, shells and shell commands, files and directories, editors, scripting, processes, programming utilities.
The course will be taught following a mixture of demonstration, direct instructions, and self-directed, skill-building exercises. Students will work in class through exercises provided by the instructor. Assigned short readings and exercises will provide context and foundational knowledge for the class.
Students will demonstrate the ability to employ common commands and utilities, to gain independence and be productive in a Unix environment.
Upon successful completion of this course, students will be able to:
Readings from the book The Linux Command Line will be assigned as a supplement of the material covered in class. You can download and electronic copy of this book at no cost from http://linuxcommand.org/tlcl.php. If you prefer, you can also obtain a hard copy of the book (ISBN-10: 1593273894).
The book “A practical Guide to Linux Command, Editors, and Shell Programming, 2nd edition”, from Mark Sobell is a recommended optional resource.
You will need an account to log into blue.cs.sonoma.edu
. If you have not obtained this access, please make sure you reach out to Roger Mamer (roger.mamer@sonoma.edu - Office next to Darwin 25) to have your account set up.
A detailed description of readings, assignments and weekly course topics will be posted to the schedule on Moodle. The schedule is subject to change, with fair notice via Moodle.
Week | Topic |
---|---|
1 | Introduction to the Shell |
2 | The File System |
3 | File Permissions |
4 | Wildcards - Finding Files |
5 | I/O Redirection |
6 | Shell Script Basics |
7 | Midterm |
8 | Expansions |
9 | Text Processing |
10 | Regular Expressions |
11 | Shell Scripts II |
12 | Shell Scripts III |
13 | Processes |
14 | Make, GDB and Version Control |
15 | SSH |
16 | Final |
Moodle will be used to maintain grades, syllabus, schedule, assignments and class resources. Moodle always holds the most current and authoritative set of due dates, exam dates, assignment instructions and other course material. Course announcements will be done on Moodle, so you should check it frequently and adjust your notification settings as appropriate.
Moodle is SSU’s Learning Management System (LMS). Moodle is the place where you will find the course syllabus, read posted announcements in the news forum, participate in online class discussions with classmates, submit your assignments online and view the materials for this course. To access the Moodle course use your SSU Seawolf ID and password to log into SSU’s Online Services Portal https://login.sonoma.edu. Click on the Moodle link. When you get to the Moodle site home, click on the “My Courses” menu located on the top navigation. Click on the link for this course (classes are listed by course name and number). Note: The Login link is also conveniently located at the top of the Sonoma State University homepage http://www.sonoma.edu and many other university pages.
Visit Learning with Moodle http://www.sonoma.edu/it/students/moodle.html to review frequently asked questions about using Moodle and also to view a list of technical recommendations.
Your overall course grade will be determined by the following:
Item | Percentage |
---|---|
Skill Drills | 20% |
Lab Reports | 40% |
Midterm Exam | 15% |
Final Exam | 15% |
Mini-Project | 10% |
Your final grade will be determined as follows:
Percentage | Grade |
---|---|
100% – 94% | A |
93% – 90% | A- |
89% – 87% | B+ |
86% – 84% | B |
83% – 80% | B- |
79% – 77% | C+ |
76% – 74% | C |
73% – 70% | C- |
69% – 67% | D+ |
66% – 63% | D |
62% – 60% | D- |
below 60 | F |
These are in-class quizzes in the form of mini-exercises, and tipically will evaluate the topics discussed during the class or assigned reading/exercises in the previous class. The two lowest grades will not count towards the final grade.
These will be in class, and will have a duration of 60 minutes. After the midterm exam, you will be required to complete the lab assigned on that date.
During the test you will have access to a computer and you will be allowed to use the internet; however, you should not use this resource to ask others for help (Refer to the collaboration section below). You can also bring books or written notes.
Absolutely no cell phone usage will be permitted during tests.
If you have an emergency or need to make a phone call during a test, let the instructor know before taking or making the call. Use of any chat software/application will be strictly forbidden during tests.
In every lab there will be several activities (the Lab Worksheets) that you are required to complete and submit a report. Electronic submissions in PDF format are preferred. Alternatively, you can submit a hard copy at the begining of the next lab.
Your reports will be evaluated in terms of:
The idea of the mini-project is to put the class materials into practice. The details of the project will be given to you after the mid-term, so you will have plenty of time to work on your project.
Regrade requests will be accepted up to 7 days after an assignment is returned. The reason for the regrade request must be explained in writing and submitted as a hard copy along with the assignment to be regraded
Labs reports are due at the start of the next lab, and the mini-poject will be due the date of the last session. You may deliver a lab report or project at a later time, but for every 24 hours after the start of the next lab, 20% of the assignment’s grade will be deducted.
During tests (which includes the skill drills) absolutely no collaboration is allowed, unless the instructor explicitly states the contrary. This includes shoulder surfing, peeking at other people’s screens, using Unix utilities to communicate with remote users, IRC or any other chat software, etc. The lab is not large enough to spread-out much; please be proactive in reducing your neighbor’s temptation by not using an overly-large font and by not pushing written work to the edge of your workspace during these testing situations. All normal, real-world materials are available to you (Internet, man pages, etc) during tests.
You are encouraged to work on the mini-project in groups of 2-3 students, however, if you prefer to work individually, you may do so.
During the labs and for your lab reports, you are encouraged to discuss ideas and approaches with other students and the course staff, but you should work out all details and write-up all solutions on your own. You are encouraged to check your work through discussion with other students. When encountering significant technical problems, you are encouraged to help peers and seek help from your peers during and outside lab. The following actions, however, will be penalized as academic dishonesty:
Students should be familiar with the University’s Cheating and Plagiarism policy http://www.sonoma.edu/UAffairs/policies/cheating_plagiarism.htm. Your own commitment to learning, as evidenced by your enrollment at Sonoma State University and the University’s policy, require you to be honest in all your academic course work. Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another person’s ideas without giving proper credit) will result in a failing grade and sanctions by the University.