Yale CPSC 427 - Term Project Assignment
School name Yale University
Pages 5

Unformatted text preview:

ScheduleRequirementsProject ProposalFinal Project SubmissionProject SuggestionsThe ReportWhat Makes a Good Essay?Required Form of the ReportWriting ToolsHintsYALE UNIVERSITYDEPARTMENT OF COMPUTER SCIENCECPSC 427a: Object-Oriented Programming Handout #9 (rev 1)Professor M. J. Fischer October 31, 2011Term Project Assignment1 ScheduleSunday, November 13 One-page project proposal due.Friday, December 9(last day of Reading Period)Project and report due.This deadline can be extended only by a Tempo-rary Incomplete authorized by the student’s residen-tial college dean.2 RequirementsThe purpose of the project is to give you a chance to explore in some depth a topic that isrelated to the subject matter of this course. The project consists of two parts, an activityand a report.1. The activity involves scholarly work—exploring a topic, reading relevant literature,writing software and running experiments, and so forth—and must include a substan-tial amount of programming.2. The report is a short paper (8–15 pages) describing the results of the activity andshould reflect the substantial amount of work that you put into the activity. Thepaper should make clear how you approached your topic, what resources you used,what you actually did (papers read, code written), and what you learned. It shouldpresent your own conclusions and perspectives that you acquired in the course of yourwork. The report will be graded for writing quality as well as for technical content,so attention should be paid to organization, grammar, spelling, and scholarly style.All references used, both text and code, must be properly cited in the bibliography.2.1 Project ProposalThe project proposal should state what you intend to do and to briefly outline how youplan to carry it out. It should identify needed reference materials and software tools. Thepurpose is to make sure you get started early on the project and to enable me to provideearly feedback. A PDF of your one-page project proposal should be submitted online asassignment number “8-proposal” using the Zoo submit script.2.2 Final Project SubmissionThe completed project, including the project report, code written, and any supportingmaterials such as experimental data collected should be submitted online as assignmentnumber “9-project” using the Zoo submit script.2 Term Project Assignment3 Project SuggestionsAlmost anything related to the course material is acceptable as a project topic. Becausethis is a course on object-oriented programming the main criterion for appropriateness iswork that relates to the design and implementation of object-oriented programs.One kind of appropriate project is to develop a substantial application, where the projectis to specify, design, implement, and document a C++ program to solve a particular tasksuch as playing a simple game, maintaining a CD-sharing library, or handling play lists ina music player.A word of warning here: Time is short, so the chosen project must be quite limited inscope. People often vastly underestimate the amount of time (and code) required to solvea problem. A small project that is carefully done and documented is much better than anoverly-ambitious one that is half-finished. Anyone proposing a development project shouldstructure the proposal into a sequence of steps, where the first step provides just a skeletonof the full application, and successive steps along the way add features a few at a time.That way, when time runs out you can wrap up the portion completed and have somethingto show for your efforts.Another kind of project is to explore a topic related to the course in greater depth.For example, one might study design patterns, compare object-oriented design with otherpopular software design methodologies, or investigate large C++ template libraries such asSTL, Boost, or gtkmm, with an eye to learning how they are designed and implemented.Performance studies might also make good projects, e.g., explore some of the availableprofiling tools in order to get better understanding of where a program spends its timethan is possible with the simple stopwatch tool, get a better understanding of the costof polymorphic derivation, or find out how good the implementations are of some of thealgorithms in the standard libraries.Much more important than the choice of topic is what you are able to do with it. Iwant to see an original well-written report that explains, integrates, and contrasts materialfrom various sources, not one that simply condenses or paraphrases. If reporting on adevelopment project, then the report should describe the goals for the application, theprogram itself, its strengths and limitations, and how the design methodology learned inthis course was used in creating and debugging the code. For a research-style project, thepaper should state the problem, survey the relevant literature and prior work, explain whatyou did, and present your results and conclusions.My goals for the project are that you should learn something new, your paper shouldteach me something new, and you should write a substantial amount of high-quality C++code involving several classes.For undergraduates registered for CPSC 427a: I expect a well-written report thatreflects a significant amount of effort put into the project.For graduate students registered for CPSC 527a: In addition, I expect the projectand report to show a greater degree of originality and professionalism than I expectfrom undergraduates.Handout #9 (rev 1)—October 31, 2011 34 The Report4.1 What Makes a Good Essay?Past experience has shown that many Yale students do not know how to write an essay orscholarly paper. I can’t really tell you how to write a paper in this brief handout, but thesection title is intended to remind you that a project report is an essay of sorts, and thethings you have learned in other courses about logical organization, writing style, use ofproper grammar and spelling, and proper methods of citing other people’s work all applyhere.Like an essay, the project report should have some ideas of your own to report. It shouldreach some conclusion, and it should give logical arguments and relevant data to supportthat conclusion. What I do not want in a paper is a simple paraphrasing of somebodyelse’s work. Quoting other people’s work as a way to make a point is perfectly acceptable,if properly attributed; simply copying their work, attributed or not, is not acceptable. Iwant to read about your ideas, your code, and


View Full Document

Yale CPSC 427 - Term Project Assignment

Download Term Project Assignment
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Term Project Assignment and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Term Project Assignment 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?