Lab 3: Managing a C project

The goal of this lab is to work on a collaborative project using the project management tools we saw in class yesterday. It also introduces C programming with structs.

In this lab, you will work in pairs but each pair will work on different parts of the project, with one product produced at the end. The work of the two pairs will be coordinated using Mercurial.

1. Introduction

You are writing software for a Twitter knock-off called Chatter. In the Chatter system, users send messages at most 140 characters long. Additionally, each message has the user id of the user who sent the message (at most 16 characters long), a time stamp indicating the time the message was sent (a long int indicating the number of milliseconds since midnight, Jan 1, 1970), and up to 5 hash codes indicating categories or topics the message falls under (each hash code is at most 10 characters long).

I have provided some code for producing "random" text components and "random" user names. Your tasks will include designing and implementing a struct to represent messages, writing functions for displaying and sorting messages, and completing drivers to test these messages.

2. Set up

Even though we are continuing your work from last week, set up a new directory for this lab and move into it.

mkdir lab3
cd lab3

Now, get your local repository and working copy

hg clone /homes/tvandrun/Public/cs245/repositories/chatter

3. Given code

The chatterUtil library provides the following functions:

3. Tasks

You need to complete the following tasks:

Divide this work between the two groups and sync up as you go along so you can test the code as you go.


Thomas VanDrunen
Last modified: Thu Sep 9 10:30:00 CDT 2010