Due Dates
-
Project Work Week: Week 10 (week of Nov. 13). by 11:59pm, Sunday Nov. 19 push
source
andREADME_PWW
to Project repo. -
Midway Presentation due: Tuesday Nov. 21. And add a link to your talk slides to the google doc (Midway Presentations) before 12:45pm.
-
Midway Report due: by 5pm, Wednesday Nov. 22.
This part counts towards 5% of your total grade.
I will not accept any late reports; a late submission results in a zero for this part of the project.
Project Work Week
Project Work Week (Week 10 (week of Nov. 13)) is a full week devoted to working on your course project. Our regular class and lab meeting times are extra times to add to your regular weekly work on your project, as is the extra time due to there being no other assigned work this week.
The goal of Project Work Week is to make substantial progress on your project. In particular, this should be a week devoted to making large strides in the implementation and intial testing of your project. You also may find and record more work related to your project, related work that you will included in your final report.
I’d normally meet with each group this week, but because I’m out of town you should send me a short email letting me know how things are going on Thursday. I will be available via email, or we can set up a zoom meeting if your group wants to chat with me during the week.
Requirements
-
On Thursday your group should send me a short email letting me know how you are progressing. is stuck and would like to chat
-
Everyone should attend our Thursday class meeting. Use this time to send me an email with your group’s progress, and to start a plan for your slides for your mid-way presentation.
-
At the end of Project Work Week (due by 11:59pm, Sunday Nov. 19):
-
push to your repo your project source code (to the
source/
subdirectory), and push any updates to documentation (to theFinalProject
subdirectory). See Using your Project repo for more details. -
add and push a file named
README_PWW
to the top-level of yourProject
repo, telling me whether your code (or some of your code) is build-able and runnable, and if so how to do both (list some command line examples).
-
After Project Work Week, your group will submit a short Midway Report (due by 5pm, Wednesday Nov. 22), and deliver a Midway Presentation to the class on your project (due Tuesday Nov. 21).
Using your Project repo
As you begin working on your project, implementing parts, doing some testing,
and finding other related work, you should be using your Project
repo for
your project code, and for its documentation, results, scripts, notes, etc.
cd ~/cs87/Project-me-partners
ls
FinalReport/ MidwayReport/ ProjectProposal/ README.adoc source/
source/
In the source/
subdirectory you should keep and maintain your project’s
source code. I suggest adding a subdirectory structure inside source/
to
help keep your project’s code and related content (code source(s), scripts,
input files, results, …) organized, and easy to find.
Again, if your project uses large input files, or produces large output
or result files, these should be stored in /local
on a specific machine
or in /scratch
on NFS. Come see me to talk about the best place for
you to use for your project’s large files.
FinalProject/
As you work on your project, you will want to start updating information
that will make up part of your final report. You should start
using your FinalProject
subdirectory of your Project
for written
documentation about your project and results, and about its related work
as you work on your project.
As you find more related work, you will want to update your bib file with
annoted entries as you find them. Make sure to update your final
report .bib
file with this new related work (FinalProject/finalreport.bib
).
You likely will want to start your finalreport.bib
from a copy of your
propsal.bib
that has some related work entries you already added from your
proposal. One way to do this is to copy your proposal.bib
file to your
finalreport.bib
file:
cd ~/cs87/Project-me-partners
cd FinalProject
cp ../Proposal/proposal.bib finalreport.bib
other
Finally, this is your Project repo. Feel free to add additional subdirectories
as it helps. You may, for example, want to add a notes
subdirectory to
keep your notes of ideas, bugs, features, testing, etc. as you go.
Adding more content is fine and encouraged. However, you must use
the structure I’ve given you for the specific purposes I have
(e.g., your midway report must be in MidwayReport
subdirectory in
the report.tex
file).
Midway Report
Due: by 5pm, Wednesday Nov. 22
Prepare a short, about 2 page, written progress report containing the following:
-
An updated project schedule with milestones and dates annotated with information indicating which parts you have completed, which parts you are currently working, and which parts you have yet to start. Include any changes to your plan. Be specific about what you are going to do (or have done), what you have left to do, and in what order you plan to do these things. You may have an altered project plan from the one you submitted with your proposal, which is fine. List a plan that best fits your project now.
Also, annotate your plan with which group member(s) were responsible for completing different parts, and your plan for who is responsible for future parts. If some were worked on by more than one of you, include both/all of you in the annotation for that task.
Basically, this should have more details filled out than your plan with your project proposal, and it should clearly included details that reflect what you have done, any plan changes you have made, and your next steps.
-
One paragraph describing any difficulties you have encountered so far and how you plan to resolve them (or how you did resolve them). If you don’t know how to resolve them or have some ideas but have not completely figured it out yet, then explicitly tell me this so that I can try to suggest some solutions. This should be written using the
report.tex
latex starting point in yourProject/MidwayReport/
subdirectory of your Project repo.-
Project-you-partners/MidwayReport/report.tex
: the latex starting point file for your midway report. -
MidwayReport/Makefile
:make
to compilereport.pdf
.
-
To Submit
Push report.tex
to your repo by the due date
(don’t add the .pdf to your repo, but you should make sure you can
successfully make a .pdf version from you .tex before you push):
make # compile report.pdf
evince report.pdf # check that it looks okay
make clean # remove .pdf file
git add report.tex
git commit -m "midway report"
git push
Midway Presentation
Due: Tuesday Nov. 21, add a link to your talk slide by 12:45pm (see To Submit for details).
Each group with give about an 8 minute presentation to the class, briefly discussing their project, and the progress they have made on it.
You should have a few slides (about 5), that:
-
Introduces your project (about 5 mins). You may assume an audience with CS87 knowledge, but do not assume knowledge of your specific project details (e.g., if you are parallelizing a specific algorithm, describe the algorithm with a simple example(s)).
-
List the milestones you have met, and those you have left to complete.
-
Briefly discuss any difficulties you have encountered along the way.
This as an opportunity to introduce your classmates to your project and to get some feedback from your classmates on some of the work you have done and have left to do.
As an audience member, you are responsible for giving feedback to the other groups. I will provide feedback forms that you will fill out for each group.
Here is a link to my tips for preparing oral presentations. See Resources/Links for more resources.
To Submit
Before 12:45 on the presentation date, at least one group members needs to update this document (Midway Presentations). Follow exactly these steps for the way in which you should update this:
-
Copy a
.pdf
version of your talk slide to yourpublic_html
subdirectory on our system, and set permissions so that they are readable. Follow the directions from the Paper1 assignment for how to set this up if you have not yet done so. And remember you can usescp
to copy a file from your home machine to a CS machine:yourmachine$ scp midwaypres.pdf you@cs.swarthmore.edu:./public_html/.
Then on the CS machine, set permissions so that it is world readable:
cd ~/public_html chmod 644 midwaypres.pdf
You can test it out by loading this url in a browser (where
you
is your CS user name):https://www.cs.swarthmore.edu/~you/midwaypres.pdf
-
Add a link to your talk slides (and update your project title) to the google presentation schedule here: Midway Presentations.
The link should look something like this:
https://www.cs.swarthmore.edu/~you/midwaypres.pdf
. You may additionally add a link to a googledoc version of your slides.
Resources/Links
-
my tips for preparing oral presentations. This includes links to other oral presentation advice.
-
my Research and Writing guide: resources for finding related work, information about creating an annotated bibliography, and organizing report organization, and some other tips for research, writing, and oral presentations.
-
Tools for creating documents (latex, bibtex, and others)
-
Some documentation about useful tools for CS87
-
Some more parallel and distributed computing links and resources