CS Labs

Note - if you are looking for help in Math courses, see the Math tutoring information on the department webpage.

Room A-017 in Root Hall 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, 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.

See the CS People Page for graduate and undergraduate assistants who might be in the lab. See also the ACM Page for the ACM officers who might be in the lab.

See below for lab policies and lab assistant duties.

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 calendar below shows (will be updated soon to show) who is on duty. The lab is typically open during the fall and spring semesters during most business hours.

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...

  • 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.

Lab Assistant Duties

All   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 CS program directory 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.
  • All lab assistants should be able to help students with CS 101, 151, 170, 201, 202. If you need to refresh any of the content, use some of your lab time when there are no students needing help, to refresh the content from those classes (C and C++ programming, html/css and javascript, basic data structures and algorithms).
  • 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.

GAs   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).