CS 105
LABS

All labs are done with pair programming. Much of the learning takes place in the labs. SO BE SURE TO DO YOUR FAIR SHARE OF WORK IN THE LABS. Slacking is unfair to your partner, and we can guarantee that if you let your partner do all the thinking, you will do poorly on the exams and in the course.

Unless otherwise specified, each lab has a writeup (available in PDF format) and a tar file. The tar file includes the writeup so it's sufficient to download that. Alternatively, you may wish to download the writeup first so you can look it over.

Labs are due as specified in the course calendar.

Some labs have their own submission system others use http://www.cs.hmc.edu/~submissions/submissions/home.py where you each have an account (1stInitialLastname).

Many of the labs make heavy use of the debugger. A Debugger cheat sheet is available to help you with it. A downloadable and printable reference card is also available from the University of Texas.

I am tired of people missing the obvious in many labs. Here is a list of Commands that you should learn, know, and love.

Extra Credit

  • There are extra credit labs. You can do the extra credit labs upto 100 points in place of the Final.
  • You are free to choose a new partner for the extra credit labs.
  • There will be a demo period at the end of the semester in which you need to demo your extra credit labs to me or to a grutor.

    Submission of the labs has changed. See Submission Instructions

    Lab 1: 50 Points Data manipulation (assignment 1)
    • Submit bits.c as assignment #1

    Lab 2: 45 Points Debugger (assignment 2)
    • Submit problem1.c as assignment #2, problem #1
    • Submit problem2.s as assignment #2, problem #2
    • Submit problem3.c as assignment #2, problem #3

    Lab 3: 60 Points Bomb (assignment 3)
    • No file to submit

    Lab 4: 100 Points Bufbomb (assignment 4)
    • No file to submit

    Lab 5: 100 Points Performance Optimization (assignment 5)
    • Submit kernels.c via cs105submit as assignment #5, problem #1

    Lab 6: 70 Points Ring Buffer (assignment 6)
    • Submit ringbuf.c via cs105submit as assignment #6, problem #1

    Lab 7: 75 Points Sockets (assignment 7)
    • Submit echoserver.c via cs105submit as assignment #7, problem #1
    • Submit echoclient.c via cs105submit as assignment #7, problem #2
    • Submit dnsaccess.c via cs105submit as assignment #7, problem #3

    Extra Credit 2: 25 Points Wireshark
    • Submit TCPServer.c via cs105submit as assignment #8, problem #1
    • Submit TCPClient.c via cs105submit as assignment #8, problem #2
    • Submit UDPServer.c via cs105submit as assignment #8, problem #3
    • Submit UDPClient.c via cs105submit as assignment #8, problem #4

    Extra Credit 1: 50 Points Fork Buffer
    • Submit forkbuf.c via cs105submit as assignment #9, problem #1

    Extra Credit 3: 50 Points Sockets and Threads/Processes
    • Submit Techoserver.c via cs105submit as assignment #10, problem #1
    • Submit Pechoserver.c via cs105submit as assignment #10, problem #2
    • Submit TPechoclient.c via cs105submit as assignment #10, problem #3

    Everything above is up to date

    Mike Erlinger

    Last Modified Saturday, 17-Dec-2011 12:04:39 PST