Project 1: Warm-up Project
Due: Friday 9/23/16, 6 pm
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:
Note that the project specification has changed in multiple ways from the previous discussion section videos, but the general ideas and tips are still the same.
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.
If you are not completely comfortable coding in C, 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:
You may also want to watch this video for a C tutorial. The tutorial is given by a former CS 537 instructor and goes over details of C that are especially useful for the projects in CS 537. The following topics are covered: pointers and arrays, structs, function pointers, preprocessor, multiple files, and gdb. Again, you might want to pause the video while you try out the examples yourself.
This project 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.
Keep your source code in a private directory. An easy way to do this is
to log into your account and first change directories into
Do well on this project! If you don't have a partner for later projects, we will use the score from this one to match you up with someone who performed similarly. Thus, if you are looking for a project partner, your score on P1 is particularly important! Work hard and get a good score; there is no reason you should not be able to get 100 on this project.
Handing It In
For the C/Linux part of this project (sorting), 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
Your handin directory is
shell% cp varsort.c ~cs537-1/handin/DISCUSSION/LOGIN/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/DISCUSSION/LOGIN/p1/xv6 shell% cd ~cs537-1/handin/DISCUSSION/LOGIN/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 (especially if you ran into problems and did not implement something). The most important bit, at the top, however, should be the authorship of the project.