Labs and Office Hours
Note - if you are looking for help in Math courses, see the Math tutoring information on the department webpage.
Rooms A-017 and A-019 in Root Hall are used primarily for courses, with 36 Linux PCs available in each 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, and 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 The CS homepage shows who is currently on duty. The lab is normally open roughly 9am-5pm Monday-Thursday and 9am-noon Friday.
Who Covers My Course See People for which lab assistants can help with which courses. All lab assistants can help with CS 101, 151, 201, 256, 202, 500. For other courses you can ask but the lab assistant might not be able to help you.
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...
- Lab attendance - if your instructor asks you to go to the unix lab for credit, they will let you know what they want you to do. One possibility is that they would ask you to say hello to the lab assistant on duty and ask the lab assistant to log your attendence. In this case you need to login to one of the computers with your cs class account (cs15100, or whatever your cs class account is) to show the lab assistant who you are. Your instructor may ask you to have a brief conversation with the lab assistant, or speak about a particular topic.
- 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 assistant chairperson of CS 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 assistant chairperson of CS.
Lab Assistant Duties
All lab assistants (whether grad or undergrad) have the following duties.
- Mondays 3pm - lab meeting.
- Show up when you are on duty (at least 5 minutes early).
- Reply to emails from department faculty and staff (mostly assistant chairperson of CS and department administrative assistant) promptly (within 1/2 a day, say).
- Spend 30 minutes per week cleaning the unix lab. A schedule is created at the beginning of the term of what you are responsible for cleaning each week.
- Be on campus from the first day of classes through the last day of classes.
- Complete any task asked of you by the CS faculty, department chairperson, or department administrative assistant.
- Help with programming review sessions when your schedule allows.
- Available to help with the CS website.
Graduate assistants have the following additional duties.
- Be on campus through the end of exams.
- Finish grading within 3 days of receiving it (and to it how the faculty ask you to).
- Look for cheating in the assignments you grade - either copied from the internet or from other students. It is suspicious if someone with low quiz/exam grades has code that is too good, or if a student is using something that wasn't taught in class.
- You are scheduled to be in the lab 7 hours per week. Each of your class assignments (as listed on the people page) is for 6.5 hours of grading or other work for that faculty member per week. If the faculty member has not given you grading work to do, then use your 6.5 hours to stay up to date on assignments and content in the course. If you finish that, then spend some extra time in the unix lab.
- Attend any events and complete any training required of GAs by the College of Graduate and Professional Studies.
- Help with the annual programming contest(s).
- Be available to help with the department's homecoming table on the Saturday of homecoming (typically mid-October).