Many CS undergraduate students need one year capstone project. Go to instructor to ask time to talk to the students. 200 lines of code per day for full-time person (500 lines of code for 20 hours a week). With students, check bug list.
Waterfall Model of Software Design
REQUIREMENTS: requirement document with what you want...spend LOTS of time here. Specifications & use cases (put self in role of different audiences).
DESIGN: how to make it, Flow doc, UML,
...if do not take enough time in Requirements & Design phase, problems propogate exponetially and take a lot of time and money to fix after implementation.
IMPLEMENTATION: Where it is made
VERIFICATION: testing it, testing docs
MAINTENANCE: post mortem
INCREMENTAL MODEL (Loop)
(Initial planning feed into loop-->) Requirements-->Design-->Implementation-->(deployment peals off)-->Testing-->Evaluation-->
Good model for growing a project because you can add elements each time through the loop (while testing earlier aspects).
*Individuals & Interactions (Pair programming)
*Working Software (having a product is more important than documentation)
QUOTE: Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen interactions throughout the development cycle. The Agile Manifesto introduced the term in 2001.
QUOTE: The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation, and Maintenance.
QUOTE: Researcher Alan Craig joins XSEDE as humanities, arts, social sciences specialist
Digital Humanities Specialist dedicated to furthering computation in HASS disciplines
Alan Craig, research scientist at the National Center for Supercomputing Applications (NCSA), recently was named Digital Humanities Specialist for the Extreme Science and Engineering Discovery Environment (XSEDE) project.
QUOTE: The Text Encoding Initiative (TEI) is a consortium which collectively develops and maintains a standard for the representation of texts in digital form. Its chief deliverable is a set of Guidelines which specify encoding methods for machine-readable texts, chiefly in the humanities, social sciences and linguistics. Since 1994, the TEI Guidelines have been widely used by libraries, museums, publishers, and individual scholars to present texts for online research, teaching, and preservation. In addition to the Guidelines themselves, the Consortium provides a variety of supporting resources, including resources for learning TEI, information on projects using the TEI, TEI-related publications, and software developed for or adapted to the TEI.
QUOTE: A game design document (often abbreviated GDD) is a highly descriptive living design document of the game design for a video game. A GDD is created and edited by the developer team and it is primarily used in the video game industry to organize efforts within a developer team. The document is created by the developer team as result of collaboration between their designers, artists and programmers as a guiding vision which is used throughout the game development process. When a game is commissioned by a game publisher to the developer team, the document must be created by the developer team and it is often attached to the agreement between publisher and developer; the developer has to adhere to the GDD during game development process.
QUOTE: Iterative and Incremental development is at the heart of a cyclic software development process developed in response to the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interactions in between.