SlideShare a Scribd company logo
1 of 13
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 PracticesJérôme Kehrli
 
Chapter 3 software engineering.pptx
Chapter 3 software engineering.pptxChapter 3 software engineering.pptx
Chapter 3 software engineering.pptx02LabiqaIslam
 
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.docxnormanibarber20063
 
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.pdfrochellelittaua
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptDurga Prasad
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingAYUSH JAIN
 
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.pptxBypassFrp
 
03 - Agile Software Development.pptx
03 - Agile Software Development.pptx03 - Agile Software Development.pptx
03 - Agile Software Development.pptxALI2H
 
CIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.comCIS 375 Focus Dreams/newtonhelp.com
CIS 375 Focus Dreams/newtonhelp.combellflower87
 

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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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 .docxLizbethQuinonez813
 
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 .docxLizbethQuinonez813
 
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 .docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
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.docxLizbethQuinonez813
 
Inferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing ResearchInferential AnalysisChapter 20NUR 6812Nursing Research
Inferential AnalysisChapter 20NUR 6812Nursing ResearchLizbethQuinonez813
 
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 CycLizbethQuinonez813
 
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 diLizbethQuinonez813
 
Infectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntroduInfectious DiseasesNameCourseInstructorDateIntrodu
Infectious DiseasesNameCourseInstructorDateIntroduLizbethQuinonez813
 
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 paLizbethQuinonez813
 
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-trLizbethQuinonez813
 
Individual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working witIndividual DifferencesSelf-Awareness and Working wit
Individual DifferencesSelf-Awareness and Working witLizbethQuinonez813
 

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

ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 

Recently uploaded (20)

ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 

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