Difference between revisions of "BTP300 Project Requirements 20113"

From CDOT Wiki
Jump to: navigation, search
(Stage 2)
(Due Dates)
 
(12 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
|-
 
|-
 
|Assignment 2 - Field Classes
 
|Assignment 2 - Field Classes
|October 28
+
|November 3
 
|-
 
|-
 
|Assignment 3 - More Field Classes
 
|Assignment 3 - More Field Classes
|November 18
+
|November 30
 
|-
 
|-
 
|Assignment 4 - Application
 
|Assignment 4 - Application
Line 28: Line 28:
  
 
== Stage 2 ==
 
== Stage 2 ==
* [https://cs.senecac.on.ca/~btp300/pages/assignments/a2.html Field Classes] - Coded and Submitted as a Group
+
* [https://cs.senecac.on.ca/~btp300/pages/assignments/a2.html Frame Classes] - Coded and Submitted as a Group
  
Before starting the coding for stage 2, read [[Hints for Using SVN to collaborate on school projects]] and do the following:
+
Before starting stage 2, read [[Hints for Using SVN to collaborate on school projects]] and do the following:
# Update your team's wiki page with your team's repository path information under '''Repo Path'''
+
# Update your team's wiki page with your team's repository path under '''Repo Path'''
# Add assignment 1 to your team's repository
+
# Add assignment 1 to the trunk of your team's repository as follows
 
## Checkout your team's empty repository to a new directory on a local computer
 
## Checkout your team's empty repository to a new directory on a local computer
## Create the branches, tags, and trunk subdirectories under this directory
+
## Create the branches, tags, and trunk subdirectories under this new directory
## Under branches create a subdirectory for each team member
+
## Under the branches subdirectory create a sub-subdirectory for each team member using their seneca id
## Under one of the team member's branch create a new subdirectory named '''assignment_1'''
+
## Under the sub-subdirectory for one of the team members create a new sub-sub-subdirectory named '''assignment_1'''
## Move to the head of the repository directory and add this new directory structure by right clicking on '''...SVN/Add'''
+
##* You can do this manually or by creating a new Visual Studio solution named '''assignment_1''' under the team member's sub-sub-directory
## Commit the directory structure to the repository server by right clicking on '''SVN Commit'''. Add the comment "Created Directory Structure"
+
## Copy the source files for assignment 1 into this directory, compile it and run it. Once it runs successfully, you are ready to add it to the repository server
## Add the code for assignment 1 to the assignment_1 subdirectory under branches, compile it, and run it. Once the assignment runs successfully, add it and then commit it to the repository server
+
## Move to the head of the repository directory and add the new directory structure along with the source code for the assignment by right clicking on '''...SVN/Add''' and checking the folders and files to be added
 +
## Commit the directory structure to the repository server by right clicking on '''SVN Commit'''. Add the comment "Created Directory Structure and added assignment 1"
 
## Branch the committed assignment to '''trunk'''
 
## Branch the committed assignment to '''trunk'''
## Your team members can now checkout the repository to their local computers, branch trunk to their own workspaces, and start working on their own tasks
+
# The repository is now ready for each team member to start working on their own version of the code in their own workspace
 +
## Checkout the repository to your own local computer
 +
## Branch trunk to your own workspace
 +
## Checkout your workspace
 +
## Work within your own workspace
 +
## Commit your code at the end of each session
 +
##* Make sure to add descriptive comments to each commit
 +
##* Uncommented commits will not be marked or reviewed
 +
If your team is using Visual Studio as its development platform, mark the '''.sln''', the '''.vcxproj''', the '''.vcxproj.filters''', and the source files as versioned, but not the binaries or executables.
  
<!--
+
Each team member should have their own successfully compiled version of the assignment 1 in their own workspace under the branch sub-directory of their team's repository.
## Create an Visual Studio Project named '''assignment_1''' in '''trunk'''
 
Your team members should checkout your team's empty repository,
 
add the branches, tags, and trunk directories
 
and create the initial code [[]]
 
# Create a directory with your seneca id under the branch sub-directory of your team's repository. This will be your home directory for development. For details see 
 
==== Directory Structure ====
 
<big><pre>
 
|-- Team_Repository_Account
 
  +--branches
 
  | +-- member-id1  <-- this is a team member's home within branches
 
  |  +-- Task1
 
  |  +-- Task2
 
  | +-- member-id2  <-- this is a team member's home within branches
 
  |  +-- Task1
 
  |  +-- Task2
 
  |  +-- Task3
 
  | +-- member-id3  <-- this is a team member's home within branches
 
  |  +-- Task1
 
  +--tags
 
  | +-- R0.1
 
  | +-- R0.11
 
  | +-- R0.2
 
  | +-- R0.21
 
  | +-- ...
 
  | +-- R0.3
 
  | +-- R0.31
 
  | +-- ...
 
  | +-- R1.0
 
  | +-- R1.1
 
  +--trunk
 
</pre></big>
 
  
===== branches =====
+
Branch submission path: svn://zenit.senecac.on.ca/btp300_113_?/branches/SenecaID/assignment1
* '''branches''' is the common directory for all team members' workspaces.
 
* Each team member should create their own home directory or '''workspace''' (member-id1, member-id2,...) for their own development tasks within '''branches'''.
 
* Each team member should divide their workspace into several sub-directories (workspaces) during the development of the project. These workspaces(Task1, Task2, ...) are usually copies of the '''trunk''' to be worked on.
 
*: ''These sub-directories(Task1, Task2,...) are called branches of trunk. When the word '''branch''' is used as a verb, it means copying the whole '''trunk''' into a sub-directory, either in '''branches''' or '''tags'''.
 
  
===== tags =====
+
Each team member should add their name to the header comments of the '''consoleplus.h''' and '''consolelineedit.cpp''' files as follows:
* '''tags''' is the directory that holds '''copies''' of successful stages of '''trunk''' throughout development. (''Also called as '''Milestones''''')
+
# Edit the source code to include your name
* '''tags''' are never modified or edited. ''You may branch a directory of tag into branches under a workspace and then modify the branch and apply the changes back to trunk, but you should never change the contents of a tag''
+
# Go to '''trunk'''
* The action of '''branch'''ing the trunk into '''tags''' is often referred to as a '''release'''.
+
# Merge your modified source files with '''trunk''' '''...SVN/Merge'''
* We use the '''tags''' directory to submit the work for marking. ''Your instructor will specify the requirements of a release.
+
# Go to the project page and change the repo status to "being committed by your name"
** A release is usually tagged by a version number like: R0.1, Prj0.2, As1_1.0
+
# Commit to the repository with the comment "name added"
** When a release is due, your instructor will always mark the latest version of that release.
+
# Go back to the project page and change the repo status to "committed by your name"
**: ''If R0.3 is due, and R0.3, R0.31, R0.32 are present in '''tags''', then your instructor will mark R0.32
 
  
===== trunk =====
+
See  [http://zenit.senecac.on.ca/wiki/index.php/Hints_for_Using_SVN_to_collaborate_on_school_projects#Merging_your_work_back_to_trunk Merging your work back to trunk] for details
* '''trunk''' is the directory that holds the project in its current stage, '''complied and run-able'''
 
* '''trunk''' should never hold non-compiled code. Usually trunk is an exact copy (or better than) the latest version in '''tags'''.
 
* Since only one project is within the repository, trunk has no project level sub-directory and is the root of the project.
 
-->
 
<!--
 
# One of your team members should export svn://zenit.senecac.on.ca/btp300_113/trunk into the trunk of your team's repository
 
#: For detailed steps see [[Hints for Using SVN to collaborate on school projects#Start_the_project_by_continuing_an_existing_work | Start the project by continuing an existing work]]
 
 
 
Each team member should have their own successfully compiled version of the assignment 1 in their own workspace in the branch sub-directory of their team's repository.
 
Branch submission path: svn://zenit.senecac.on.ca/gam666dps901_113??/branches/SenecaID/assignment1
 
 
 
: ''Start doing the above by branching the Framework into svn://zenit.senecac.on.ca/gam666dps901_113??/branches/SenecaID/assignment2. See here for help: [http://zenit.senecac.on.ca/wiki/index.php/Hints_for_Using_SVN_to_collaborate_on_school_projects#Preparing_Branches.2Fworkspace_for_development Preparing Branches/workspace for development]''
 
 
 
 
 
The source code for the upgraded sample should include the following updates:
 
* your own name in the caption for the dialog box
 
* your team name in the window title
 
 
 
 
 
Merge all of the team members' Framework workspaces back to trunk so that the caption of the dialog box shows all of the names of the team members. See  [http://zenit.senecac.on.ca/wiki/index.php/Hints_for_Using_SVN_to_collaborate_on_school_projects#Merging_your_work_back_to_trunk Merging your work back to trunk] for details
 
 
 
 
 
The purpose of this first phase of the project is twofold:
 
* to define your game in both scope and detail and thereby to give your instructor some idea of your design, so that your instructor can give you some feedback whether what you intend is too simple, too complex, or about right
 
* to show your instructor that you are ready to work with your own branch of your team's repository and ready to start modifying the framework to suit your team's design.
 
 
 
Your team should decide its own group to individual ratio for grading purposes and post the agreed ratio on its project page.
 
 
 
Your team should arrange a time and date to meet with your instructor to review your proposal and to identify the different responsibilities of the team members. This meeting should take place during week 6 of the semester.
 
-->
 
  
 
== Stage 3 ==
 
== Stage 3 ==

Latest revision as of 14:25, 9 November 2011


BTP300 Fall 2011 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources

Due Dates

Assignment 1 - Line Editing Facility September 23
Assignment 2 - Field Classes November 3
Assignment 3 - More Field Classes November 30
Assignment 4 - Application December 9

The official due dates are in Moodle. If there are any discrepancies, the due dates in Moodle shall apply.

Project Requirements

Each game is a team effort. The structure of each team is up to the team members. Each member must contribute their own work in a selected area or areas of their choosing.

Stage 1

Stage 2

Before starting stage 2, read Hints for Using SVN to collaborate on school projects and do the following:

  1. Update your team's wiki page with your team's repository path under Repo Path
  2. Add assignment 1 to the trunk of your team's repository as follows
    1. Checkout your team's empty repository to a new directory on a local computer
    2. Create the branches, tags, and trunk subdirectories under this new directory
    3. Under the branches subdirectory create a sub-subdirectory for each team member using their seneca id
    4. Under the sub-subdirectory for one of the team members create a new sub-sub-subdirectory named assignment_1
      • You can do this manually or by creating a new Visual Studio solution named assignment_1 under the team member's sub-sub-directory
    5. Copy the source files for assignment 1 into this directory, compile it and run it. Once it runs successfully, you are ready to add it to the repository server
    6. Move to the head of the repository directory and add the new directory structure along with the source code for the assignment by right clicking on ...SVN/Add and checking the folders and files to be added
    7. Commit the directory structure to the repository server by right clicking on SVN Commit. Add the comment "Created Directory Structure and added assignment 1"
    8. Branch the committed assignment to trunk
  3. The repository is now ready for each team member to start working on their own version of the code in their own workspace
    1. Checkout the repository to your own local computer
    2. Branch trunk to your own workspace
    3. Checkout your workspace
    4. Work within your own workspace
    5. Commit your code at the end of each session
      • Make sure to add descriptive comments to each commit
      • Uncommented commits will not be marked or reviewed

If your team is using Visual Studio as its development platform, mark the .sln, the .vcxproj, the .vcxproj.filters, and the source files as versioned, but not the binaries or executables.

Each team member should have their own successfully compiled version of the assignment 1 in their own workspace under the branch sub-directory of their team's repository.

Branch submission path: svn://zenit.senecac.on.ca/btp300_113_?/branches/SenecaID/assignment1

Each team member should add their name to the header comments of the consoleplus.h and consolelineedit.cpp files as follows:

  1. Edit the source code to include your name
  2. Go to trunk
  3. Merge your modified source files with trunk ...SVN/Merge
  4. Go to the project page and change the repo status to "being committed by your name"
  5. Commit to the repository with the comment "name added"
  6. Go back to the project page and change the repo status to "committed by your name"

See Merging your work back to trunk for details

Stage 3


Stage 4