CS44 Lab 4: Relational Algebra

Due by 11:59 p.m., Thursday, Nov. 3, 2016

For this assignment you will work in an assigned small group. The way I'd like you to work is the following:

  1. First, you and your regular lab partner work together to solve all the problems.
  2. Next, you meet with the other partner pairing in your group, compare answers, and together agree on the correct answers that you will write up as your single group solution and submit.

Lab 4 Partner and Group List

Lab 4 Goals

The goals of this lab assignment are to:
  1. Solve problems using relational algebra.
  2. Use latex, particularly its math mode.
  3. Effectively working in a larger group.

Lab 4 Starting point
Both you and your partners should find your Lab4-partner1-partner2-partner3-partner4 git repo off the GitHub server for our class: CS44-f16

Next, clone your Lab 4 git repo into your cs44/labs subdirectory, cd into your repo:

cd cs44/labs
git clone [the ssh url to your repo]
cd Lab2-partner1-partner2-partner3-partner4
Here are some instructions on Using Git page (follow the instructions for repos on Swarthmore's GitHub Enterprise server).

If all was successful, you will have cloned your Lab4 starting point including a .gitignore file for latex.

Lab 4 overview

You and your partner, and your group, should solve the following problems: lab4 assignment.

You will then meet with the other pair in your group to come up with a single joint solution that the four of your will submit for grading.

For this lab, I'd like you to use latex for your write-up. You will submit your solution in the lab4.tex file. Add your answer in under each problem that is listed in the assigment.

You and your partner may want to create a copy of the lab4.tex file that you add your solution into before you meet with your group to create your group's solution in lab4.tex that you will submit. You can create a .pdf from a .tex file by:

pdflatex file.tex
I suggest running pdflatex (or use the makefile to do it for you) frequently as you edit the .tex file. This will help you catch early and fix more easily latex syntax errors. You can also make use of git to add and commit your partial changes as you go, or make a copy of the last version that compiled before adding in new edits.

Before submiting your solution for grading, make sure that your lab4.tex file correctly builds into a .pdf before submitting it:

make clean
evince lab4.pdf   # or some other pdf veiwer
If okay, then do a make clean, git add lab4.tex, git commit, git push.

I don't want the latex part to be the hard part of this assignment. The lab4.tex file has lots of latex examples that should help make the latex part relatively easy. However, run make a lot so if you make a syntax error, you will be able to find it more easily. Come get help and help each other out with latex errors and syntax questions. Don't spend hours trying to figure out a latex compiling error.


Submitting your lab

Before the Due Date, push your solution to github from one of your local repos to the GitHub remote repo. Only one of you and your partners needs to do this, but it doesn't hurt if you all do.

From your local repo (in your ~you/cs44/labs/Lab04-partner1-partner2-partner3-partner4 subdirectory)

make clean  
make view   # make sure your .tex file builds and correctly creates your .pdf solution

make clean
git add README.md
git add lab4.tex
git commit -m "solution for lab 4"
git push

If that doesn't work, take a look at the "Troubleshooting" section of the Using git page. Also, be sure to complete the README.md file, add and push it.