The department maintains two CS labs, both in the basement of Root Hall. Room A-017 is used primarily for courses, with 40 Linux PCs available for student use during lecture and lab time. Room A-015, the "Unix Lab", has 12 Linux PCs and additional seating for those with laptops. The room also has a couch, microwave, and coffee maker. Students are encouraged to work on assignments and projects in the Unix lab, and are free to socialize as long as other students are not distracted.
Unix Lab Hours and Help
The Unix lab is staffed by lab assistants so that it can remain open during most business hours. Each lab assistant makes sure to stay up to date on a few of the CS courses, so that students from the course can come to ask questions when that lab assistant is on duty.
Open Hours For the fall 2016 semester, the lab is normally open the following days/times. Note that the lab is normally open from the first day of classes to the last day of study week. During exam week if the door is open you may work in the lab as long as someone with a key is present, but GAs and student workers are not "on duty" to help you.
Problem/recitation sessions TBD
Who Covers My Course The following is a list of which lab assistants are the primary point of contact for each course. The person listed stays up to date on assignments, etc. (and comes to observe the lecture in the course at least once, might help with grading that course). Note that we are not able to provide help for all CS courses (we just don't have enough funding to do this, we wish we could).
- CS 101, 151, 500, 201, 202 - all lab assistants
- CS 170 - Lavanya is an instructor
- CS 101 - Ali is the instructor
- CS 500 - Aaron is an instructor
- CS 260 - Andy is the instructor
- CS 303, 600, 617 - Fatemeh is the grader/TA
Teaching Teams GAs who teach are grouped into teams with faculty mentors to make sure all is swell. The teaching teams for this year are: (A) Ali, Sharath, Andy, Nathan; Steve Baker, Rob Sternfeld, (B) Aaron, Fatemeh, Lavanya; Geoff Exoo, R.B. Abhyankar. Each person in the team observes one other person's course and gets observed at least once per semester. GAs in a team should check in with each other about once per week on how things are going. CS faculty who are not participating in a teaching team will be a separate teaching team - (C) Jeff Kinne, Laci Egri, Arash Rafiey, Tevis Boulware.
GA duties Most GAs are instructors or graders for half of their 20 hours per week, and schedule 10 hours per week in the lab for the rest of their hours. The 10 hours in the lab is divided into 8 "general purpose" hours and 2 hours of problem/recitation.
Unix Lab Policies
Here are a few do's and don't's for those using the CS lab and those working in the lab...
- CS 101 versus CS 151 - CS 151 is the first course in the CS major and is required for IT majors. Most students are prepared to take CS 151 - the main requirements are "maturity" (will do assigned work) and basic computer skills. For those who find they are under-prepared or not ready, talk to your instructor or the CS program director about switching to CS 101. Students who "have no clue" or "are completely lost" by the second or third week might consider switching to CS 101.
- Food - be reasonable. Don't leave crumbs, don't spill drinks (you break it, you buy it). If you make a mess clean it up. Leave the lab in a state that is better than or equal to when you arrived.
- Working together - each instructor has a different policy on whether students are allowed to work together on assignments. It is your responsibility to know your instructor's policy.
- Lab Assistants should never take the keyboard and type for someone they are helping. Lab assistants shoud always be respectful of people asking questions, no matter how basic and simple. Try to remember when you didn't know much, or think of some relative who is computer illiterate and think how you'd explain things to them.
- If a student clearly is not prepared to even begin an assignment, lab assistants should suggest some starting point. For example, suppose a the student clearly doesn't know how to copy files, compile programs, or get rid of syntax errors, and they are asking for help on an assignment to make a prime tester program. The lab assistant would suggest that they first start with a "hello world" program that doesn't do anything.
- Lab assistants are not responsible for teaching material to students. If you are a student who skips classes and misses material, you will have to read and catch up mostly on your own, and only ask the lab assistants to clarify your understanding.
- Working together policies For CS 151, don't sit at a computer together and work together; it is okay to talk about. For other courses, talk to your instructor and see the next note.
- Rule of thumb for students... You should be able to delete what you worked on in the lab, start over from scratch, and do it on your own without help from friends or lab assistants. If you cannot do that, then it isn't your work and you shouldn't turn it in.
- Students, don't ask questions like "can you explain loops to me". Do ask questions like "here's a program with a loop to add up the first 10 odd numbers, is it right that I would change ______ to make it do the evens between 100 and 200". Or, "here is the directory where my instructor keeps class files, could you explain ____ file that has loops in it".
- Coding style The CS group by default requires/endorses XYZ style. To be coordinated with Steve Baker and Geoff Exoo, check back later. Probably: 2 spaces for tabbing, blank lines ..., camelcase or _, ... Note - Aaron suggests rc files for emacs and vim that can shared with people ...
- Card swipe By default, CS students working for the department and CS faculty have their Id numbers added to the card swipe lock for the unix lab. Others who think they would need access to the lab when it is not normally open should contact the CS program director.