One class project with three deliverable: 1) Codebase, 2) Presentation and 3) Technical report shaped as an academic paper.

II. Projects

Each student is required to complete a mid-size project being part of a larger team. The project description will be given to the teams by the 4th week of the class. If you do not form your own teams, the teams will be assembled by the TAs according to the grade distribution of the first quiz. That is, we will create even teams that will tackle these course-long projects. We anticipate the teams to be between 5 and 8 students. The responsibilities for the team will be to provide a 10 page technical report around their project.

The codebase needs to be either in C, Python or Go. It also needs to contain clear technical documentation about 1) the environment assumptions, and 2) the execution process. The TAs and I should be able to operate your code without you being in the room. Each team will be assigned a Debian virtual environment that should be used to prototype their project. The (no more than 10 pages) report should include at least 4 sections: 1) A brief (no more than 3 paragraphs) description of the problem and the proposed solution, 2) a background and related work, 3) an overview of the proposed solution to the problem and 4) the results from the experiments.

The paper, code base for the project and the presentation is due the same day for all teams (04/18/17). In the last two weeks of classes, each team will have to give a 30-45 minute research presentation for their project, a 5 minutes demonstration in class that their codebase actually works, and answer questions from the audience.

Clearly, this project requires a lot of work. Therefore, mandatory requirements for the project to be successful are: 1) learn to work as part of a team, 2) learn to write code that other people may use, 3) learn to write a technical report, and 4) learn to present your ideas. The grade distribution for the project is as follows: 40% codebase, 30% presentation, and 30% the technical report.

Ideas for the team projects.

In the first two weeks we will discuss some project ideas during class. Beyond those ideas, you are free to submit your own ideas to me alongside the team composition. Your ideas could include the development of a component or the modification of a system that have been already proposed by academic researchers. Systems for which we should be able to provide you data and resources for are:

There is no curve in this course. However, we may elect to include extra credit assignments at various times during the semester. The grading breakdown is as follows: NOTE: Grading subject to minor changes.

Quizzes 30%

Project 30%

Midterm 35%.

Class participation 5%.

IV. Letter Grades

Letter grades are given according to the following cutoffs with no rounding:

90.0 <= A <= 100

80.0 <= B < 90.0

70.0 <= C < 80.0

60.0 <= D < 70.0

0 <= F < 60.0

V. Appealing Grades

You have the right to question your grade on any assignment; but you must initiate discussion about the grade within one week of receiving the grade. All re-grade requests should be sent via email to the TA for your section. In the email, include your T-square id and a clear description of which questions you would like reviewed and why.

Grade issues addressed outside of the requirements listed above will not be considered. Pay attention to your grades. If something doesn't look right, address it immediately! Be sure to follow the guidelines outlined in the "Problem Escalation Policy".

It is your responsibility to ensure that all the grades in T-Square are correct before finals week. After that, the only grade appeal will be about grading your final.

VII. Problem Escalation Policy

If you need help and/or have a problem, you should contact the following people in the following order:

(1) Your TA

(2) Your Head TA

(3) Your Instructor (via e-mail)

If you are not comfortable talking to your TA about a particular issue, please contact the professor ASAP.

VIII. Excused Absences

If you must miss an exam for a school-approved reason, it is your responsibility to provide adequate documentation and get approval. If you miss your test / exam period without prior approval or a valid excuse, you may be approved to take a makeup test, but you will be penalized 25% of the maximum test score possible (so the maximum score). ***CAUTION: the preprinted note from the infirmary stating that you visited the infirmary is not sufficient documentation.*** Please contact the Dean of Students with your excuse and they can provide you with the proper documentation.

IX. Open Door Policy

The instructor maintains an open door policy. You are free to visit me during the posted office hours or, if you prefer a different time, arrange an appointment with me. It is very important to contact me as soon as you feel that you might need to. Problems, unlike fine wines, typically do not to improve with age.

Full Disclosure: Portion of the class policies have been stolen from the syllabus of CS1371, created by Charles E. Phillips.