UCSD Main WebsiteUCSD Jacobs SchoolDepartment of Computer Science and Engineering
spacer gif
spacer gif
CSE 223B
spacer gifspacer gif
spacer gif
spacer gifCourse Overview
spacer gifspacer gifStructure
spacer gifspacer gifGrading
spacer gifspacer gifUseful books
spacer gif
spacer gifspacer gifSchedule
spacer gif
spacer gifspacer gifReadings
spacer gif
spacer gifProjects (UCSD only)
spacer gif
spacer gifLabs
spacer gif   Lab 1
spacer
gif   Lab 2
spacer
gif   Lab 3
spacer gif
spacer gif
spacer gif
Search
spacer gifspacer gifspacer gif
Advanced search  arrows gif

spacer gif
spacer gifspacer gif
spacer gif
spacer gif
spacer gif
spacer gif
spacer gifspacer gifspacer gif
spacer gif

Course mailing List

The first thing you should do before attempting any of the lab assignments is to add yourself to the course mailing list, cse223b@cs.ucsd.edu. Any information regarding updates, clarifications, or modifications to the lab assignments will be distributed using this mailing list, so please make sure you're on it. You can add yourself to the mailing list at the following URL:

https://www.cse.ucsd.edu/mailman/listinfo/cse223b

Class Machines

Many of you will find it most convenient to work on one (or more) of the many (virtual) machines in the (virtual) cluster allocated for this class. The machines are:
    1.cse223b.snoeren.usher.ucsdsys.net
    2.cse223b.snoeren.usher.ucsdsys.net
    3.cse223b.snoeren.usher.ucsdsys.net
    4.cse223b.snoeren.usher.ucsdsys.net
    5.cse223b.snoeren.usher.ucsdsys.net
    6.cse223b.snoeren.usher.ucsdsys.net
    7.cse223b.snoeren.usher.ucsdsys.net
    8.cse223b.snoeren.usher.ucsdsys.net
    9.cse223b.snoeren.usher.ucsdsys.net
    10.cse223b.snoeren.usher.ucsdsys.net
While you are free to complete your assignments on any platform you'd like, the labs are developed assuming you'll be using one of these machines runing Linux. There should be no difficulty using machines running FreeBSD or other version of UNIX, but any complications that arise from using machines other than those in the class cluster are your responsibility.

Account information

Everyone enrolled in class has been issued an account for the class machines. Your account name is your normal UCSD email address, and your initial password is your student ID (including leading A). Please change your password using usher_passwd after logging in. If, for some reason, you did not recieve an account or have any questions about how to use your account, please contact me (snoeren@cs.ucsd.edu).

For the term project portion of the course, some of you may find it useful to deploy and test your code on PlanetLab, a set of over 100 PCs distributed across the globe. Details on obtaining a Planet Lab account will be provided after you've submitted your project proposal.

Helpful resources

It is assumed you're already comfortable programming in C/C++. If not, I suggest you keep a copy of the classic "C Programming Language" by Kernighan and Ritchie by your side at all times. We will not devote much time in lecture to the lab assignments. Instead, you may find some of the resources below to be helpful.
  • UNIX man pages. Every system call you'll be using (e.g., read, write, select) is documented by the UNIX manual system. You can access the man page for a particular program or system call by typing "man foo", where foo is the name of the thing you're interested in. Type "man man" for further information.
  • The GDB debugger. gdb can be used to conduct a post-mortem analysis of your program to deduce what caused it to crash. More sophisticated users of gdb can use it to monitor the progress of a program as it executes. There are many excellent tutorials on GDB available on line, as is the manual.
  • Stevens. The late W. Richard Stevens wrote several books that should be on every systems programmer's bookshelf. "Unix Network Programming," "Advanced Programming in the UNIX Environment," and "TCP/IP Illustrated, Volume 1" are likely to be especially useful for this course.
If, after consulting the resources above, you are still having difficulty with the lab assignments, please feel free to stop by during office hours or send email to snoeren@cs.ucsd.edu. Any particularly relevant questions and their answers will be broadcast to the class mailing list for everyone's benefit.

spacer gif

spacer gif
spacer gifback to top ^
spacer gif
spacer gif
spacer gif
spacer gif
9500 Gilman Drive, La Jolla, CA 92093-0114
spacer gif
About CSE | CSE People | Faculty & Research | Graduate Education | Undergraduate Education
Department Administration | Contact CSE | Help | Search | Site map | Home
snoeren@cs.ucsd.edu
Official web page of the University of California, San Diego
Copyright © 2008 Regents of the University of California. All rights reserved.
spacer gif