SlideShare a Scribd company logo
Imagine that you are a public health nurse, and you and your
colleagues have determined that the threat of a deadly new
strain of influenza indicates a need for a mass inoculation
program in your community. What public health data would
have been used to determine the need for such a program?
Where would you locate public health data? What data will be
collected to determine the success of such a program? How
might you communicate this to other communities or
internationally?
For weekly discussions, please do NOT use quotes. Information
should be paraphrased with an in-text citation. Quotes should be
used in rare situations.
1
CS 5551 Team Project
This team project aims to help you gain a firm understanding of
the key principles and practices
for developing clean, dependable software through an
incremental and iterative process. It might
be worth listing your experience with this project in your
resume for future job hunting.
1. Grouping
Each team should have 3-5 members. You are not supposed to
work alone even if you can.
Teams must be formed before the third week of the semester.
Each team should choose a name that can appear in public. Each
team should have a coordinator,
e.g., for taking the lead in setting up group meetings, making
contact with the instructor, and
integrating the project reports. Each team coordinator should
email the instructor the name of
their team and the names of all the team members.
2. Problem Description
Your customer is asking you to develop software simulating the
American checkers (also known
as English Draughts) board game. The game is described in the
following wiki pages:
https://en.wikipedia.org/wiki/English_draughts
https://en.wikipedia.org/wiki/Draughts
There are some differences between these pages. Your team will
need to clarify what rules your
project follows.
Everyone needs to get familiar with the game because software
development requires a solid
understanding about the business logic of the application. The
general knowledge about the game
will be tested through quizzes, the midterm exam, and the final
exam. You may play against
existing programs1 to get some ideas for the game. However,
you should not copy any code from
the existing resources.
Your project should consider using an algebraic notation for the
game board. It is useful for not
only communication among team members, but also
requirements specification, design,
programming, and testing. The following shows a possible
notation.
1 Examples: (1)
https://play.google.com/store/apps/details?id=mkisly.american.c
heckers&hl=en_US (2)
https://cardgames.io/checkers/ (3)
https://www.mathsisfun.com/games/checkers-2.html
https://en.wikipedia.org/wiki/English_draughts
https://en.wikipedia.org/wiki/Draughts
2
An alternative notation is given below. It is similar to the one
widely used for chess2. For
example, a8 is an unoccupied light square. a1-h8 is a diagonal
line of dark squares.
a b c d e f g h
8
8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
a b c d e f g h
The basic project requirements are as follows:
• The software should be implemented as a standalone
application, a web-based
application, or a mobile app.
• The software should allow a user to play the checkers game
against either another user or
a computer opponent. The rules of the game must be followed
strictly. The minimum
functions include game playing via a graphic user interface,
game recording (e.g., date,
time, and all moves), and replay of an existing game step by
step (e.g., forward and
backward).
• User account management is optional for extra credit. If
implemented, it should use a
SQL or NoSQL database system to manage user account
information, including
username, email address, and password. You may define your
own username and
password policies. Security requirements (strong passwords
stored in an encrypted
format) should be considered.
• The software design should consider the extensibility for other
variants of the game as
described at https://en.wikipedia.org/wiki/Draughts although the
implementation of
variants is not required.
• The implementation must use a general-purpose object-
oriented programming
language (e.g., Java, C#, C++, or Python) and maximize the
practices of object-oriented
programming.
• The development environment must include a unit test
framework (e.g., Junit for Java)
and a code coverage tool (e.g., EclEmma for Eclipse/Java).
• You should use a public project hosting site such as
github.com and a version control
system such as git.
• You should apply the software engineering principles and
practices introduced in class
throughout the development process, such as design by contract,
agile principles, design
patterns, refactoring, and secure design.
3. Deliverables
2 https://en.wikipedia.org/wiki/Algebraic_notation_(chess)
3
The development process consists of project planning (sprint 0)
and three iterations (sprints 1-3).
In each sprint, the minimum conditions of “Definitions of
Done” for the implementation of
required user stories include all acceptance criteria passing
(through automated tests or
completed performance of manual tests) and all unit-level tests
passing, in addition to the
required documentation.
At the end of each sprint, your team will demonstrate your
working software to the instructor and
submit a project report including the main software artifacts.
The demonstration should show
that your working software has met the minimum conditions of
“Definitions of Done” of the
corresponding sprint and present any unique features or
enhancements of your project. The
detailed instructions and templates of the project reports will be
provided in separate documents.
The reports will be incremental, expanded and improved upon
from one sprint to the next.
• Sprint 0: Make decisions on the programming language, GUI
library, IDE, unit test
framework, code coverage tool, programming style, and project
hosting site (e.g., at
github.com); Learn GUI programming in the language of your
choice (e.g., lines, text,
and buttons)
• Sprint 1: Specify all requirements of the target product in
terms of user stories and their
acceptance criteria and implement the first set of basic
functions: user registration, login,
logout, and visualization of new game board. Note that the
board class should be
separated from its graphical user interface.
• Sprint 2: Implement all the functionality for a logged-in user
to play a complete game
against another logged-in user, save the game, retrieve the game
record, relay a selected
game.
• Sprint 3: Enhance the software to allow a registered user to
play against a computer
opponent. The computer opponent should make a reasonable
attempt at beating the
human player. Optimal or perfect play is not required.
4. Deadlines and Grading Policy
• Deadlines:
Sprint 0 report: Midnight, Thursday September 23
Sprint 1 report: Midnight, Tuesday October 12
Sprint 2 report: Midnight, Tuesday November 9
Sprint 3 report: Midnight, Tuesday December 7
For sprints 1-3, your team will have up to a few minutes to
show off your working code.
It should focus on demonstrating that your software has met the
minimum conditions of
“Definitions of Done” of the corresponding sprint and
presenting any unique features or
enhancements of your project for consideration of extra credit.
The demonstration should
be consistent with the corresponding project report.
• Project Grades
4
Sprint 0: 2%
Sprint 1: Demonstration 5%, Report 20%
Sprint 2: Demonstration 8%, Report 25%
Sprint 3: Demonstration 10%, Report 30%
• Individual Grades
An individual may not receive credit unless the team’s project
report presents explicit
evidence of his/her contribution to the team project (e.g., listed
as a developer). The
minimum expectation is 400 or more lines of production and
test code.
Each student will rate the performance of each of the other
members of his/her group
with a rating between 0 and 1. The average of the ratings each
student receives from
other members will be multiplied by the project grade to
determine individual grades. To
safeguard against a capricious rating, if a group member
receives one and only one buddy
rating below 0.8, it will be discarded.
• Extra credit: Up to 5% may be added to your final grade for
quality or other
enhancements, for exceptionally well-written reports, for well-
implemented user account
management, and for overall impression of the project, which
the instructor deems to be
deserving of special recognition.
5. Suggestions on the First Team Project Meeting
Before the meeting, everyone should have done their homework
-- getting a good understanding
about the game and reading the project documents carefully.
Everyone should become a good
player of the game as soon as possible.
During the meeting, the team may focus on the following topics
(of course, you may add other
items to your agenda). Remember to have someone take notes
during the meeting.
• Discuss the game logic
(https://en.wikipedia.org/wiki/English_draughts,
https://en.wikipedia.org/wiki/Draughts) and play a few games
together using a sample
program on the Internet.
• Discuss the requirements of the team project based on these
documents:
CS5551TeamProject Introduction (this document),
CS5551TeamProject Sprint 0.docx,
and CS5551TeamProject Sprint 1.docx. The goal is to get a
common understanding. If
anything is unclear, contact the instructor.
• Make decisions on the programming language, GUI library,
IDE, unit test framework,
code coverage tool, and programming style guide.
Sample programming style guides:
o Google Java Style Guide:
https://google.github.io/styleguide/javaguide.html
o Google C++ Style Guide:
https://google.github.io/styleguide/cppguide.html
https://google.github.io/styleguide/javaguide.html
https://google.github.io/styleguide/cppguide.html
5
o Google Python Style Guide:
https://google.github.io/styleguide/pyguide.html
• Set up a project hosting site (e.g., at github.com)
• Decide when to meet and how team will communicate
• Create a list of action items and assign each member specific
tasks that should be done
before the next meeting
• Schedule the next meeting
After the meeting, edit and approve the meeting minutes by the
whole team (e.g., via email).
https://google.github.io/styleguide/pyguide.htmlCS 5551 Team
Project

More Related Content

Similar to Imagine that you are a public health nurse, and you and your colle

Systems development
Systems developmentSystems development
Systems developmentElijah Liu
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
Jérôme Kehrli
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
02LabiqaIslam
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
FarjanaAhmed3
 
Algorithms and Application Programming
Algorithms and Application ProgrammingAlgorithms and Application Programming
Algorithms and Application Programmingahaleemsl
 
Instructions Need task completed for Ds portion of the pr.docx
Instructions Need task completed for Ds portion of the pr.docxInstructions Need task completed for Ds portion of the pr.docx
Instructions Need task completed for Ds portion of the pr.docx
normanibarber20063
 
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdfArts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
rochellelittaua
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
Durga Prasad
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
AYUSH JAIN
 
SE.pdf
SE.pdfSE.pdf
SE.pdf
BdBangladesh
 
How Custom Software Development is Transforming the Traditional Business Prac...
How Custom Software Development is Transforming the Traditional Business Prac...How Custom Software Development is Transforming the Traditional Business Prac...
How Custom Software Development is Transforming the Traditional Business Prac...
christiemarie4
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
BypassFrp
 
Climberreport
ClimberreportClimberreport
Climberreport
LuckyTolani1
 
03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptx
ALI2H
 
CIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.comCIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.com
bellflower87
 

Similar to Imagine that you are a public health nurse, and you and your colle (20)

Systems development
Systems developmentSystems development
Systems development
 
Periodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and PracticesPeriodic Table of Agile Principles and Practices
Periodic Table of Agile Principles and Practices
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx
 
Software design.edited (1)
Software design.edited (1)Software design.edited (1)
Software design.edited (1)
 
Algorithms and Application Programming
Algorithms and Application ProgrammingAlgorithms and Application Programming
Algorithms and Application Programming
 
Beekman5 std ppt_13
Beekman5 std ppt_13Beekman5 std ppt_13
Beekman5 std ppt_13
 
01.intro
01.intro01.intro
01.intro
 
Table of contents
Table of contentsTable of contents
Table of contents
 
Instructions Need task completed for Ds portion of the pr.docx
Instructions Need task completed for Ds portion of the pr.docxInstructions Need task completed for Ds portion of the pr.docx
Instructions Need task completed for Ds portion of the pr.docx
 
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdfArts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
SE.pdf
SE.pdfSE.pdf
SE.pdf
 
How Custom Software Development is Transforming the Traditional Business Prac...
How Custom Software Development is Transforming the Traditional Business Prac...How Custom Software Development is Transforming the Traditional Business Prac...
How Custom Software Development is Transforming the Traditional Business Prac...
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 
Online exam
Online examOnline exam
Online exam
 
Climberreport
ClimberreportClimberreport
Climberreport
 
03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptx
 
CIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.comCIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.com
 

More from LizbethQuinonez813

In this module, we examined crimes against persons, crimes against p.docx
In this module, we examined crimes against persons, crimes against p.docxIn this module, we examined crimes against persons, crimes against p.docx
In this module, we examined crimes against persons, crimes against p.docx
LizbethQuinonez813
 
In this module, we explore how sexual identity impacts the nature of.docx
In this module, we explore how sexual identity impacts the nature of.docxIn this module, we explore how sexual identity impacts the nature of.docx
In this module, we explore how sexual identity impacts the nature of.docx
LizbethQuinonez813
 
In this module, we have studied Cultural Imperialism and Americaniza.docx
In this module, we have studied Cultural Imperialism and Americaniza.docxIn this module, we have studied Cultural Imperialism and Americaniza.docx
In this module, we have studied Cultural Imperialism and Americaniza.docx
LizbethQuinonez813
 
In this Reflection Activity, you will be asked to think and write ab.docx
In this Reflection Activity, you will be asked to think and write ab.docxIn this Reflection Activity, you will be asked to think and write ab.docx
In this Reflection Activity, you will be asked to think and write ab.docx
LizbethQuinonez813
 
In this lab, you will observe the time progression of industrializat.docx
In this lab, you will observe the time progression of industrializat.docxIn this lab, you will observe the time progression of industrializat.docx
In this lab, you will observe the time progression of industrializat.docx
LizbethQuinonez813
 
In this module we have discussed an organizations design and how it.docx
In this module we have discussed an organizations design and how it.docxIn this module we have discussed an organizations design and how it.docx
In this module we have discussed an organizations design and how it.docx
LizbethQuinonez813
 
In this lab, you will gather data about CO2 emissions using the .docx
In this lab, you will gather data about CO2 emissions using the .docxIn this lab, you will gather data about CO2 emissions using the .docx
In this lab, you will gather data about CO2 emissions using the .docx
LizbethQuinonez813
 
In this five-page essay, your task is to consider how Enlightenment .docx
In this five-page essay, your task is to consider how Enlightenment .docxIn this five-page essay, your task is to consider how Enlightenment .docx
In this five-page essay, your task is to consider how Enlightenment .docx
LizbethQuinonez813
 
In this reflection, introduce your professor to your project. Speak .docx
In this reflection, introduce your professor to your project. Speak .docxIn this reflection, introduce your professor to your project. Speak .docx
In this reflection, introduce your professor to your project. Speak .docx
LizbethQuinonez813
 
In this discussion, please address the followingDiscuss how oft.docx
In this discussion, please address the followingDiscuss how oft.docxIn this discussion, please address the followingDiscuss how oft.docx
In this discussion, please address the followingDiscuss how oft.docx
LizbethQuinonez813
 
In this course, we have introduced and assessed many noteworthy figu.docx
In this course, we have introduced and assessed many noteworthy figu.docxIn this course, we have introduced and assessed many noteworthy figu.docx
In this course, we have introduced and assessed many noteworthy figu.docx
LizbethQuinonez813
 
In this Assignment, you will focus on Adaptive Leadership from a.docx
In this Assignment, you will focus on Adaptive Leadership from a.docxIn this Assignment, you will focus on Adaptive Leadership from a.docx
In this Assignment, you will focus on Adaptive Leadership from a.docx
LizbethQuinonez813
 
Inferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing ResearchInferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing Research
LizbethQuinonez813
 
Industry CompetitionChapter Outline3-1 Industry Life Cyc
Industry CompetitionChapter Outline3-1 Industry Life CycIndustry CompetitionChapter Outline3-1 Industry Life Cyc
Industry CompetitionChapter Outline3-1 Industry Life Cyc
LizbethQuinonez813
 
Infancy to Early Childhood Case AnalysisPart IFor this di
Infancy to Early Childhood Case AnalysisPart IFor this diInfancy to Early Childhood Case AnalysisPart IFor this di
Infancy to Early Childhood Case AnalysisPart IFor this di
LizbethQuinonez813
 
Infectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntroduInfectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntrodu
LizbethQuinonez813
 
Individual Focused Learning for Better Memory Retention Through
Individual Focused Learning for Better Memory Retention Through Individual Focused Learning for Better Memory Retention Through
Individual Focused Learning for Better Memory Retention Through
LizbethQuinonez813
 
Infectious diseases projectThis project is PowerPoint, or a pa
Infectious diseases projectThis project is PowerPoint, or a paInfectious diseases projectThis project is PowerPoint, or a pa
Infectious diseases projectThis project is PowerPoint, or a pa
LizbethQuinonez813
 
Individual Project You are a business analyst in a publicly-tr
Individual Project You are a business analyst in a publicly-trIndividual Project You are a business analyst in a publicly-tr
Individual Project You are a business analyst in a publicly-tr
LizbethQuinonez813
 
Individual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working witIndividual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working wit
LizbethQuinonez813
 

More from LizbethQuinonez813 (20)

In this module, we examined crimes against persons, crimes against p.docx
In this module, we examined crimes against persons, crimes against p.docxIn this module, we examined crimes against persons, crimes against p.docx
In this module, we examined crimes against persons, crimes against p.docx
 
In this module, we explore how sexual identity impacts the nature of.docx
In this module, we explore how sexual identity impacts the nature of.docxIn this module, we explore how sexual identity impacts the nature of.docx
In this module, we explore how sexual identity impacts the nature of.docx
 
In this module, we have studied Cultural Imperialism and Americaniza.docx
In this module, we have studied Cultural Imperialism and Americaniza.docxIn this module, we have studied Cultural Imperialism and Americaniza.docx
In this module, we have studied Cultural Imperialism and Americaniza.docx
 
In this Reflection Activity, you will be asked to think and write ab.docx
In this Reflection Activity, you will be asked to think and write ab.docxIn this Reflection Activity, you will be asked to think and write ab.docx
In this Reflection Activity, you will be asked to think and write ab.docx
 
In this lab, you will observe the time progression of industrializat.docx
In this lab, you will observe the time progression of industrializat.docxIn this lab, you will observe the time progression of industrializat.docx
In this lab, you will observe the time progression of industrializat.docx
 
In this module we have discussed an organizations design and how it.docx
In this module we have discussed an organizations design and how it.docxIn this module we have discussed an organizations design and how it.docx
In this module we have discussed an organizations design and how it.docx
 
In this lab, you will gather data about CO2 emissions using the .docx
In this lab, you will gather data about CO2 emissions using the .docxIn this lab, you will gather data about CO2 emissions using the .docx
In this lab, you will gather data about CO2 emissions using the .docx
 
In this five-page essay, your task is to consider how Enlightenment .docx
In this five-page essay, your task is to consider how Enlightenment .docxIn this five-page essay, your task is to consider how Enlightenment .docx
In this five-page essay, your task is to consider how Enlightenment .docx
 
In this reflection, introduce your professor to your project. Speak .docx
In this reflection, introduce your professor to your project. Speak .docxIn this reflection, introduce your professor to your project. Speak .docx
In this reflection, introduce your professor to your project. Speak .docx
 
In this discussion, please address the followingDiscuss how oft.docx
In this discussion, please address the followingDiscuss how oft.docxIn this discussion, please address the followingDiscuss how oft.docx
In this discussion, please address the followingDiscuss how oft.docx
 
In this course, we have introduced and assessed many noteworthy figu.docx
In this course, we have introduced and assessed many noteworthy figu.docxIn this course, we have introduced and assessed many noteworthy figu.docx
In this course, we have introduced and assessed many noteworthy figu.docx
 
In this Assignment, you will focus on Adaptive Leadership from a.docx
In this Assignment, you will focus on Adaptive Leadership from a.docxIn this Assignment, you will focus on Adaptive Leadership from a.docx
In this Assignment, you will focus on Adaptive Leadership from a.docx
 
Inferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing ResearchInferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing Research
 
Industry CompetitionChapter Outline3-1 Industry Life Cyc
Industry CompetitionChapter Outline3-1 Industry Life CycIndustry CompetitionChapter Outline3-1 Industry Life Cyc
Industry CompetitionChapter Outline3-1 Industry Life Cyc
 
Infancy to Early Childhood Case AnalysisPart IFor this di
Infancy to Early Childhood Case AnalysisPart IFor this diInfancy to Early Childhood Case AnalysisPart IFor this di
Infancy to Early Childhood Case AnalysisPart IFor this di
 
Infectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntroduInfectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntrodu
 
Individual Focused Learning for Better Memory Retention Through
Individual Focused Learning for Better Memory Retention Through Individual Focused Learning for Better Memory Retention Through
Individual Focused Learning for Better Memory Retention Through
 
Infectious diseases projectThis project is PowerPoint, or a pa
Infectious diseases projectThis project is PowerPoint, or a paInfectious diseases projectThis project is PowerPoint, or a pa
Infectious diseases projectThis project is PowerPoint, or a pa
 
Individual Project You are a business analyst in a publicly-tr
Individual Project You are a business analyst in a publicly-trIndividual Project You are a business analyst in a publicly-tr
Individual Project You are a business analyst in a publicly-tr
 
Individual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working witIndividual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working wit
 

Recently uploaded

Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
ArianaBusciglio
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
chanes7
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 

Recently uploaded (20)

Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
Assignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docxAssignment_4_ArianaBusciglio Marvel(1).docx
Assignment_4_ArianaBusciglio Marvel(1).docx
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
Digital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments UnitDigital Artifact 1 - 10VCD Environments Unit
Digital Artifact 1 - 10VCD Environments Unit
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 

Imagine that you are a public health nurse, and you and your colle

  • 1. Imagine that you are a public health nurse, and you and your colleagues have determined that the threat of a deadly new strain of influenza indicates a need for a mass inoculation program in your community. What public health data would have been used to determine the need for such a program? Where would you locate public health data? What data will be collected to determine the success of such a program? How might you communicate this to other communities or internationally? For weekly discussions, please do NOT use quotes. Information should be paraphrased with an in-text citation. Quotes should be used in rare situations. 1 CS 5551 Team Project This team project aims to help you gain a firm understanding of the key principles and practices for developing clean, dependable software through an incremental and iterative process. It might be worth listing your experience with this project in your resume for future job hunting. 1. Grouping
  • 2. Each team should have 3-5 members. You are not supposed to work alone even if you can. Teams must be formed before the third week of the semester. Each team should choose a name that can appear in public. Each team should have a coordinator, e.g., for taking the lead in setting up group meetings, making contact with the instructor, and integrating the project reports. Each team coordinator should email the instructor the name of their team and the names of all the team members. 2. Problem Description Your customer is asking you to develop software simulating the American checkers (also known as English Draughts) board game. The game is described in the following wiki pages: https://en.wikipedia.org/wiki/English_draughts https://en.wikipedia.org/wiki/Draughts There are some differences between these pages. Your team will need to clarify what rules your project follows.
  • 3. Everyone needs to get familiar with the game because software development requires a solid understanding about the business logic of the application. The general knowledge about the game will be tested through quizzes, the midterm exam, and the final exam. You may play against existing programs1 to get some ideas for the game. However, you should not copy any code from the existing resources. Your project should consider using an algebraic notation for the game board. It is useful for not only communication among team members, but also requirements specification, design, programming, and testing. The following shows a possible notation. 1 Examples: (1) https://play.google.com/store/apps/details?id=mkisly.american.c heckers&hl=en_US (2) https://cardgames.io/checkers/ (3) https://www.mathsisfun.com/games/checkers-2.html https://en.wikipedia.org/wiki/English_draughts https://en.wikipedia.org/wiki/Draughts
  • 4. 2 An alternative notation is given below. It is similar to the one widely used for chess2. For example, a8 is an unoccupied light square. a1-h8 is a diagonal line of dark squares. a b c d e f g h 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 a b c d e f g h The basic project requirements are as follows:
  • 5. • The software should be implemented as a standalone application, a web-based application, or a mobile app. • The software should allow a user to play the checkers game against either another user or a computer opponent. The rules of the game must be followed strictly. The minimum functions include game playing via a graphic user interface, game recording (e.g., date, time, and all moves), and replay of an existing game step by step (e.g., forward and backward). • User account management is optional for extra credit. If implemented, it should use a SQL or NoSQL database system to manage user account information, including username, email address, and password. You may define your own username and password policies. Security requirements (strong passwords stored in an encrypted format) should be considered. • The software design should consider the extensibility for other variants of the game as described at https://en.wikipedia.org/wiki/Draughts although the implementation of variants is not required.
  • 6. • The implementation must use a general-purpose object- oriented programming language (e.g., Java, C#, C++, or Python) and maximize the practices of object-oriented programming. • The development environment must include a unit test framework (e.g., Junit for Java) and a code coverage tool (e.g., EclEmma for Eclipse/Java). • You should use a public project hosting site such as github.com and a version control system such as git. • You should apply the software engineering principles and practices introduced in class throughout the development process, such as design by contract, agile principles, design patterns, refactoring, and secure design. 3. Deliverables 2 https://en.wikipedia.org/wiki/Algebraic_notation_(chess) 3 The development process consists of project planning (sprint 0) and three iterations (sprints 1-3).
  • 7. In each sprint, the minimum conditions of “Definitions of Done” for the implementation of required user stories include all acceptance criteria passing (through automated tests or completed performance of manual tests) and all unit-level tests passing, in addition to the required documentation. At the end of each sprint, your team will demonstrate your working software to the instructor and submit a project report including the main software artifacts. The demonstration should show that your working software has met the minimum conditions of “Definitions of Done” of the corresponding sprint and present any unique features or enhancements of your project. The detailed instructions and templates of the project reports will be provided in separate documents. The reports will be incremental, expanded and improved upon from one sprint to the next. • Sprint 0: Make decisions on the programming language, GUI library, IDE, unit test framework, code coverage tool, programming style, and project hosting site (e.g., at
  • 8. github.com); Learn GUI programming in the language of your choice (e.g., lines, text, and buttons) • Sprint 1: Specify all requirements of the target product in terms of user stories and their acceptance criteria and implement the first set of basic functions: user registration, login, logout, and visualization of new game board. Note that the board class should be separated from its graphical user interface. • Sprint 2: Implement all the functionality for a logged-in user to play a complete game against another logged-in user, save the game, retrieve the game record, relay a selected game. • Sprint 3: Enhance the software to allow a registered user to play against a computer opponent. The computer opponent should make a reasonable attempt at beating the human player. Optimal or perfect play is not required. 4. Deadlines and Grading Policy • Deadlines:
  • 9. Sprint 0 report: Midnight, Thursday September 23 Sprint 1 report: Midnight, Tuesday October 12 Sprint 2 report: Midnight, Tuesday November 9 Sprint 3 report: Midnight, Tuesday December 7 For sprints 1-3, your team will have up to a few minutes to show off your working code. It should focus on demonstrating that your software has met the minimum conditions of “Definitions of Done” of the corresponding sprint and presenting any unique features or enhancements of your project for consideration of extra credit. The demonstration should be consistent with the corresponding project report. • Project Grades 4 Sprint 0: 2% Sprint 1: Demonstration 5%, Report 20% Sprint 2: Demonstration 8%, Report 25%
  • 10. Sprint 3: Demonstration 10%, Report 30% • Individual Grades An individual may not receive credit unless the team’s project report presents explicit evidence of his/her contribution to the team project (e.g., listed as a developer). The minimum expectation is 400 or more lines of production and test code. Each student will rate the performance of each of the other members of his/her group with a rating between 0 and 1. The average of the ratings each student receives from other members will be multiplied by the project grade to determine individual grades. To safeguard against a capricious rating, if a group member receives one and only one buddy rating below 0.8, it will be discarded. • Extra credit: Up to 5% may be added to your final grade for quality or other enhancements, for exceptionally well-written reports, for well- implemented user account
  • 11. management, and for overall impression of the project, which the instructor deems to be deserving of special recognition. 5. Suggestions on the First Team Project Meeting Before the meeting, everyone should have done their homework -- getting a good understanding about the game and reading the project documents carefully. Everyone should become a good player of the game as soon as possible. During the meeting, the team may focus on the following topics (of course, you may add other items to your agenda). Remember to have someone take notes during the meeting. • Discuss the game logic (https://en.wikipedia.org/wiki/English_draughts, https://en.wikipedia.org/wiki/Draughts) and play a few games together using a sample program on the Internet. • Discuss the requirements of the team project based on these documents: CS5551TeamProject Introduction (this document), CS5551TeamProject Sprint 0.docx, and CS5551TeamProject Sprint 1.docx. The goal is to get a
  • 12. common understanding. If anything is unclear, contact the instructor. • Make decisions on the programming language, GUI library, IDE, unit test framework, code coverage tool, and programming style guide. Sample programming style guides: o Google Java Style Guide: https://google.github.io/styleguide/javaguide.html o Google C++ Style Guide: https://google.github.io/styleguide/cppguide.html https://google.github.io/styleguide/javaguide.html https://google.github.io/styleguide/cppguide.html 5 o Google Python Style Guide: https://google.github.io/styleguide/pyguide.html • Set up a project hosting site (e.g., at github.com) • Decide when to meet and how team will communicate • Create a list of action items and assign each member specific tasks that should be done before the next meeting • Schedule the next meeting After the meeting, edit and approve the meeting minutes by the
  • 13. whole team (e.g., via email). https://google.github.io/styleguide/pyguide.htmlCS 5551 Team Project