Project 1: Warm-up Project
Due: Wednesday, 9/17, by 9pm (or so).
Send questions to firstname.lastname@example.org (or, of course, visit us in person during office hours!). If the question is about your code, hand in all of your code and include your login in your email (you are free to modify the contents of your handin directory prior to the due date). Also include all other relevant information, such as cutting and pasting what you typed and the results from the screen. In general, the more information you give, the more we can help!
There are two parts to this project:
Click on the above links to learn more about what you should do. READ EACH CAREFULLY! Note: it will take a long time to read each and really make sure not to miss anything.
Before beginning, read this tutorial. It has some useful tips for programming in the C environment.
Read K+R (the course textbook on C) as it is a great introduction to the language. Familiarizing yourself with these topics will help you complete the programming projects:
This project, unlike all others this semester, must be done alone. Note that it is always OK to talk to others about your code, as well as help them debug their code. Copying code, however, is considered cheating. Don't do it! How will you learn that way? Read this for more info on what is OK and what is not.
Handing It In
For the C/Linux part of this project (the birthday paradox), you should turn in one
so make sure it compiles in such a manner. You should copy this file into your handin directory into the subdirectory called
The handin directory (for Section 1) is
shell% cp paradox.c ~cs537-1/handin/harter/p1/linux/
For the xv6 part of the project, copy all of your source files (but not .o
files, please, or binaries!) into the
shell% cp -r . ~cs537-1/handin/harter/p1/xv6 shell% cd ~cs537-1/handin/harter/p1/xv6 shell% make shell% make clean
Finally, into your p1 directory, please make a README file. In there, describe what you did a little bit. The most important bit, at the top, however, should be the authorship of the project.
TestsWe are releasing tests for the paradox program and xv6. To run these tests, you need to be logged into a CSL machine - this will not work on your laptop or home computer.
To test your paradox program, enter
Similarly, to test your xv6 code, enter
The command will tell you what tests your code passed or failed. If your code passes all the tests, you will get a perfect grade. On the other hand, since we are releasing the tests, the onus on submitting code that compiles is on you - if your code does not compile, you will get no points.