|
|
The two classes, CSCI 201
and CSCI 200, will cooperate to design and
build a manufacturing assembly cell. The CSCI 201 team will do the backend,
while the CSCI 200 will do the GUI and animation.
The teams will cooperate in the design of the API between the backend and frontend.
|
|
Points and Deadlines
|
(Please note that access to homework assignments is restricted.)
[BC: paragraph added 10/3/2011]
The team member list for the Factory project teams have been made available.
If you would like to swap a team member with another team, please let me know by 10/7/2011.
I would require an e-mail from each of the two team members saying that they agree to the swap.
[BC: paragraph added 10/20/2011]
Usage guide for SVN can be found here (.doc).
You can also get up to 10 extra credit project points if you participate in the
USC
Joint Education Program. The detail of this will be given out
at the beginning of Lecture 2
|
|
Grading
|
[BC: section changed 11/7/2011]
There are two major changes to the grading policy for the Factory project:
- Unlike HW submissions, your project submissions are expected to be on-time.
Late submissions will risk a grade of zero.
- There are only "team points" and no "individual points". The TAs will try
their best to give "extra credits" to individual if the team can
document which students performed above and beyond their assigned duties.
Finally, if a team manager informs the instructor that a certain student
should not receive credit for a particular deliverable, that student will
receive a grade of zero for his/her "team points" for that deliverable.
|
|
The Operational Concepts Description
|
(According to the CS 201 web page.)
|
|
Factory Project Description
|
Please see The Kitting Cell.
|
|
Managers
|
Each team will be managed by a student taking the software management class.
The managers will NOT assist with the design, implementation, or integration.
Instead, the managers will manage: attend meetings, make sure meetings are
effective, check to see if students are on plan, etc.
Managers will produce a weekly status report for the instructors.
|
|
eXtreme Programming
|
You are to use the eXtreme programming methodology.
Mostly that means detailed plans for delivery and task cards for individuals.
These task cards will be reviewed by the managers.
How you implement task cards (physical cards or pages on the wiki) is up to
you and your manager.
|
|
Subversion
|
Subversion is a repository for managing your code.
Rather than emailing code around, you will store it, check it out, and update it.
More about subversion will be forthcoming.
|
|
Deliverables
|
There will be six deliverables (due dates below):
A design for the v.0 skeleton.
This includes interaction diagrams, agent/backend design (for CSCI 201),
frontend design (for CSCI 200), and the DoXXX(...) API.
The point of v.0 is to get the teams off to a quick start and have some
code working without worrying about the full integration.
[BC: added 10/17/2011]
For CS 200 students, this means that you need to:
- For every screen your team can think of, draw a layout of the screen.
This includes all the control panels.
- For every class the CS 200 part of the team needs to implement,
figure out what properties/attributes it should have.
- Jointly design and document the DoXXX(...) API
with your CS 201 teammates.
v.0: A skeleton.
This will be stored in the tags part of your repository as
"KittingCell-v0".
Your skeleton will have 3 non-integrated parts:
- The kit robot picking kits from the agv/conveyor,
putting them on the stand, and the reverse.
- The parts robot picking up parts from the nests and
putting them in the kit - includes vision.
- Parts dumped into bins and fed down the lanes.
A final design that includes both v1 and v2. This includes interaction diagrams,
agent/backend design (for CSCI 201), frontend design (for CSCI 200), and the
DoXXX(...) API. The design is a living document for the life of
the project. As design decisions change, this document should be updated.
The design must handle the non-normative scenarios.
v.1: A working version of the normative scenario for the cell.
This will be stored in the tags part of your repository as "KittingCell-v1".
v.2: A second and full delivery of the cell with all the non-normative cases
handled. This will be stored in the tags part of your repository as "KittingCell-v2".
Final Presentations during the last week of classes.
|
|
Academic Integrity Policy
|
Please make sure you read the Academic
Integrity Policy of this course.
|
|