Posted on

CS7637 Mini-Project 5: Monster Diagnosis Summer 2025

In this project, you’ll implement an agent that can diagnose monster diseases. Based on a list of
diseases and their ailments and a list of elevated and reduced vitamin levels, you will diagnosis the
disease(s) affecting a particular monster. You will submit the code for diagnosing these monsters to the
Mini-Project 5 assignment in Gradescope. You will also submit a report describing your agent to Canvas.
Your grade will be based on a combination of your report (50%) and your agent’s performance (50%).
About the Project
Monster physiology relies on a balance of 26 vitamins, conveniently named Vitamin A through Vitamin Z.
Different monster ailments can cause elevated or reduced levels for different vitamins. Unfortunately,
every ailment affects every monster species differently, so there is no canonical list of all monster
ailments and their effects; instead, the ailments must be interpreted in the context of a particular species.
In this project, you’ll diagnose a particular monster based on its symptoms and a list of ailments and their
effects on that monster species. Both the symptoms of an ailment and a monster’s symptoms will be
represented by a dictionary, where the keys are the different vitamin letters and the values are either +
(for elevated), – (for reduced), or 0 (for normal). For example:
{“A”: “+”, “B”: “0”, “C”: “-“, “D”: “0”, “E”: 0, “F”: “+”, …}
This would represent elevated levels of Vitamins A and F, and a reduced level of Vitamin C. This could
be the symptoms of a particular patient (e.g. “Sully presented with elevated levels of Vitamins A and F,
and a reduced level of Vitamin C), or it could be the symptoms of a particular disease (e.g. “Alphaitis
causes elevated Vitamins A and F and a reduced Vitamin C in monsters like Sully”).
Your Agent
To write your agent, download the starter code below. Complete the solve() method, then upload it to
Gradescope to test it against the autograder. Before the deadline, make sure to select your best
performance in Gradescope as your submission to be graded.
Starter Code
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 1/7
Here is your starter code: MonsterDiagnosisAgent.zip
(https://gatech.instructure.com/courses/453236/files/62351111/download) .
The starter code contains two files: MonsterDiagnosisAgent.py and main.py. You will write your agent in
MonsterDiagnosisAgent.py. You may test your agent by running main.py. You will only submit
MonsterDiagnosisAgent.py; you may modify main.py to test your agent with different inputs.
Your solve() method will have two parameters. The first will be a list of diseases and their symptoms.
This will be provided as a dictionary, where the keys are the names of diseases and their values are
each a dictionary representing its symptoms. For example:
{“Alphaitis”: {“A”: “+”, “B”: “0”, “C”: “-“, “D”: “0”, “E”: “0”, “F”: “+”, …},
“Betatosis”: {“A”: “0”, “B”: “+”, “C”: “-“, “D”: “0”, “E”: “+”, “F”: “-“, …},
“Gammanoma”: {“A”: “0”, “B”: “0”, “C”: “+”, “D”: “+”, “E”: “+”, “F”: “+”, …}, …]
There may be up to 24 diseases. Each disease will have values for all 26 vitamins. Most vitamins will be
unaffected by any particular disease; most diseases only affect 3-6 vitamins.
The second parameter to the function will be a particular set of symptoms, given as a dictionary, such
as:
{“A”: “+”, “B”: “0”, “C”: “-“, “D”: “0”, “E”: 0, “F”: “+”, …}
Your goal is to identify the smallest subset of diseases from the list of ailments that can explain the
monster’s symptoms.
If the patient has two diseases with opposite effects, they cancel each other out. For example, if a
patient had both Alphaitis and Betatosis (according to the definitions above), they would have a normal
level of Vitamin F because Alphaitis elevates F and Betatosis reduces F.
If the patient has two diseases with the same effect, their effect remains the same. For example, if a
patient had both Alphaitis and Betatosis (according to the definitions above), they would have a reduced
level of Vitamin C because both diseases reduce Vitamin C. There is no extra effect from having multiple
diseases with the same effect.
If a patient has more than two diseases, then each Vitamin moves in whichever direction is caused by
the largest number of diseases. For example, if a patient had Alphaitis, Betatosis, and Gammanoma,
they would exhibit reduced levels of Vitamin C: both Alphaitis and Betatosis reduce Vitamin C, while
Gammanoma elevates it. Two reductions plus one elevation leads to a reduction. If, on the other hand,
they had four diseases, two of which reduced Vitamin C and two of which elevated Vitamin C, their
Vitamin C levels would be normal.
Returning Your Solution
Your solve() method should return a list of strings. Each string should be the name of one of the (up to)
24 diseases. Together, the diseases should explain all of the symptoms of the patient. If there are
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 2/7
multiple sets of diseases that can explain all the symptoms, then you should return the set with the
minimum number of diseases according to the principle of parsimony. For this project, you may assume
that all diseases are equally likely and that all symptoms will be covered.
For the two test cases in the starter code, the answers should be: [“Alphaitis”, “Betatosis”] and
[“Gammanoma”, “Deltaccol”, “Epsicusus”].
Submitting Your Solution
To submit your agent, go to the course in Canvas and click Gradescope on the left side. Then, select
CS7637 if need be.
You will see an assignment named Mini-Project 5. Select this project, then drag your
MonsterDiagnosisAgent.py file into the autograder. If you have multiple files, add them to a zip file and
drag that zip file into the autograder.
When your submission is done running, you’ll see your results.
How You Will Be Graded
Your agent will run against 20 test cases. The first two of these will always be the same; these are those
contained in the original main.py. The last 18 will be randomly generated.
You can earn up to 40 points. You will earn one point for each of the test cases for which you correctly
identify a list of diseases that explain all the symptoms. You will earn an additional point for each of the
test cases for which you identify the smallest list of diseases that explain all the symptoms.
You may submit up to 40 times prior to the deadline. The large majority of students do not need nearly
that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent
brute force methods for farming information about patterns in hidden test cases or submitting highly
random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your
individual number of submissions, so we cannot return submissions to you in the case of errors or other
issues, but you should have more than enough submissions to handle errors if they arise.
You must select which of your submissions you want to count for a grade prior to the deadline. Note that
by default, Gradescope marks your last submission as your submission to be graded. We cannot
automatically select your best submission. Your agent score is worth 50% of your overall mini-project
grade.
Your Report
In addition to submitting your agent to Gradescope, you should also write up a short report describing
your agent’s design and performance. Your report may be up to 4 pages, and should answer the
following questions:
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 3/7
How does your agent work? Does it use some concepts covered in our course? Or some other
approach?
How well does your agent perform? Does it struggle on any particular cases?
How efficient is your agent? How does its performance change as the number of diseases grows?
Does your agent do anything particularly clever to try to arrive at an answer more efficiently?
How does your agent compare to a human? Do you feel people approach the problem similarly?
You are encouraged but not required to include visuals and diagrams in your four page report. The
primary goal of the report is to share with your classmates your approach, and to let you see your
classmates’ approaches. You may include code snippets if you think they are particularly novel, but
please do not include the entirety of your code.
Tip: Remember, we want to see how you put the content of this class into action when designing your
agent. You don’t need to use the principles and methods from the lectures precisely, but we want to
see your knowledge of the content reflected in your terminology and your reflection.
Submission Instructions
Complete your assignment using JDF format
(https://gatech.instructure.com/courses/453236/files/folder/Journal%20Templates#) , then save your
submission as a PDF. Assignments should be submitted via this Canvas page. You should submit a
single PDF for this assignment. This PDF will be ported over to Peer Feedback for peer review by your
classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be
provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.)
and submit a PDF that links to or otherwise describes how to access that material.
After submitting, download your submission from Canvas to verify that you’ve uploaded the
correct file. Review that any included figures are legible at standard magnification, with text or symbols
inside figures at equal or greater size than figure captions.
This is an individual assignment. All work you submit should be your own. Make sure to cite any
sources you reference, and use quotes and in-line citations to mark any direct quotes.
Late work is not accepted without advance agreement except in cases of medical or family emergencies.
In the case of such an emergency, please contact the Dean of Students
(https://studentlife.gatech.edu/request-assistance) .
Grading Information
Your report is worth 50% of your mini-project grade. As such, your report will be graded on a 40-point
scale coinciding with a rubric designed to mirror the questions above. Make sure to answer those
questions; if any of the questions are irrelevant to the design of your agent, explain why.
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 4/7
Mini-Project 5 Journal Rubric
Peer Review
After submission, your assignment will be ported to Peer Feedback (http://peerfeedback.gatech.edu/) for
review by your classmates. Grading is not the primary function of this peer review process; the primary
function is simply to give you the opportunity to read and comment on your classmates’ ideas, and
receive additional feedback on your own. All grades will come from the graders alone. See the
course participation policy (https://gatech.instructure.com/courses/453236/assignments/2084928) for full
details about how points are awarded for completing peer reviews.
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 5/7
Criteria Ratings Pts
JDF Format
Does your submission
conform to the
important parts of JDF
formatting—that is,
margin size, line
spacing, font, and font
size? (Deduction only)
0 pts
Agent Description
15 points: How does
your agent work? Does
it use some concepts
covered in our course?
Or some other
approach?
15 pts
Agent Performance
10 points: How well
does your agent
perform? Does it
struggle on any
particular cases?
10 pts
0 pts
Correctly Formatted
Your essay conforms to the
important portions of JDF formatting.
0 pts
JDF Error [Deduction]
Your submission violates JDF format
in one or more substantive ways:
font size, typeface, margins, or line
spacing. See the comment for more
details. As a result, you have been
assigned a negative score on this
rubric item to deduct from your
assignment score.
15 pts
Full Credit
You have
adequately and
thoroughly
described your
agent’s
operations.
10 pts
2/3rds Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking a
couple critical
details, such as
adequate detail
on how it
implements the
method it uses.
See the
comment for
more details.
5 pts
1/3rd Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking
several
significant
details, such as
what strategy it
implements and
the details of
that strategy’s
implementation.
See the
comment for
more details.
0 pts
No Credit
Your journal
makes little to
no effort to
describe how
your agent
operates.
10 pts
Full Credit
You have adequately
described your agent’s
performance, including
how many problems it
gets right and what
kinds of problems (if
any) it struggles on.
5 pts
1/2 Credit
You have made an
attempt to describe
your agent’s
performance, but you
have left out significant
details, such as how
many test cases it gets
right or what it
struggles on and why.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of the
number of problems it
solves and where it
struggles.
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 6/7
Criteria Ratings Pts
Agent Efficiency
5 points: How efficient
is your agent? How
does its performance
change as the number
of diseases grows?
(Note: Using Big O
notation is
recommended, but not
required; it is just
easier to know you’ve
adequately answered
the prompt if you
include a Big O
analysis.)
5 pts
Human Comparison
10 points: How does
your agent compare to
a human? Does your
agent solve the
problem the same way
you would?
10 pts
Total Points: 40
See the comment for
more details.
5 pts
Full Credit
You have described
your agent’s efficiency,
in terms of both how
much time it takes at
present and in terms of
how the runtime
changes as the
number of diseases
grows.
2.5 pts
1/2 Credit
You have made some
attempt to describe the
efficiency of your
agent, but you have left
out one or more
important details, such
as how the runtime
changes as the
number of diseases
grows. See the
comment for more
details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of its
runtime efficiency.
10 pts
Full Credit
You have discussed in
adequate detail how
your agent compares
to a human, including
the similarities and
differences between
both its reasoning
strategy and its likely
performance.
5 pts
1/2 Credit
You have made some
attempt to compare
your agent to humans,
but your analysis is
lacking in one or more
significant areas. It
may be lacking
adequate depth, a
sufficient comparison
in terms of both
similarities and
differences, or a
sufficient comparison
of both performance
and strategy.
0 pts
No Credit
Your journal makes
little to no attempt to
describe how your
agent’s strategy and
performance compares
to that of a human.
5/25/25, 5:41 PM Mini-Project 5
https://gatech.instructure.com/courses/453236/assignments/2084966 7/7

Posted on

CS7637 Mini-Project 4: Monster Identification Summer 2025

In this project, you’ll implement an agent that will learn a definition of a particular monster species from a
list of positive and negative samples, and then make a determination about whether a newly-provided
sample is an instance of that monster species or not. You will submit the code for identifying these
monsters to the Mini-Project 4 assignment in Gradescope. You will also submit a report describing your
agent to Canvas. Your grade will be based on a combination of your report (50%) and your agent’s
performance (50%).
About the Project
For the purposes of this project, every monster has a value for each of twelve parameters. The possible
values are all known. The parameters and their possible values are:
size: tiny, small, medium, large, huge
color: black, white, brown, gray, red, yellow, blue, green, orange, purple
covering: fur, feathers, scales, skin
foot-type: paw, hoof, talon, foot, none
leg-count: 0, 1, 2, 3, 4, 5, 6, 7, 8
arm-count: 0, 1, 2, 3, 4, 5, 6, 7, 8
eye-count: 0, 1, 2, 3, 4, 5, 6, 7, 8
horn-count: 0, 1, 2
lays-eggs: true, false
has-wings: true, false
has-gills: true, false
has-tail: true, false
A single monster will be defined as a dictionary with those 12 keys. Each value will be one of the values
from the corresponding list. The values associated with size, color, covering, and foot-type will be
strings; with leg-count, arm-count, eye-count, and horn-count will be integers; and with lays-eggs, haswings, has-gills, and has-tail will be booleans.
You will be given a list of monsters in the form of a list of dictionaries, each of which has those twelve
keys and one of the listed values. Each monster will be labeled as either True (an instance of the
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 1/7
species of monster we are currently looking at) or False (not an instance of the species of monster we
are currently looking at). You will also be given a single unlabeled monster; your goal is to return a
prediction—True or False—of whether the unlabeled monster is an instance of the species of monster
defined by the labeled list.
Your Agent
To write your agent, download the starter code below. Complete the solve() method, then upload it to
Gradescope to test it against the autograder. Before the deadline, make sure to select your best
performance in Gradescope as your submission to be graded.
Starter Code
Here is your starter code: MonsterClassificationAgent.zip
(https://gatech.instructure.com/courses/453236/files/62351089/download) .
The starter code contains two files: MonsterClassificationAgent.py and main.py. You will write your agent
in MonsterClassificationAgent.py. You may test your agent by running main.py. You will only submit
MonsterClassificationAgent.py; you may modify main.py to test your agent with different inputs.
Your solve() method will have two parameters. The first will be a list of 2-tuples. The first item in each
2-tuple will be a dictionary representing a single monster. The second item in each 2-tuple will be a
boolean representing whether that particular monster is an example of this new monster species. The
second parameter to solve() will be a dictionary representing the unlabeled monster.
Each monster species might have multiple possible values for each of the above parameters. One
monster species, for instance, include monsters with either 1 or 2 horns, but never 0. Another species
might include monsters that can be red, blue, and yellow, but no other colors. Another species might
include both monsters with and without wings. So, while each monster is defined by a single value for
each parameter, the species as a whole may have more variation.
Returning Your Solution
Your solve() method should return True or False based on whether your function believes this new
monster (the second parameter) to be an example of the species defined by the labeled list of monsters
(the first parameters).
Not every list will be fully exhaustive. Your second parameter could, for example, feature a monster that
is a color that never appeared as positive or negative in the list of samples. Your agent’s task is to make
an educated guess. For example, you might determine, “The only difference between this monster and
the positive examples is its color, and its color never appeared in the negative examples, therefore there
is a good likelihood that this is still a positive example.”
You may assume that the parameters are independent; for example, you will not have any species that
has one horn when yellow and two horns when blue, but never one horn when blue. You may assume
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 2/7
that all parameters are equally likely to occur; for example, you will not have any species that is yellow
90% of the time and blue only 10% of the time. Those ratios may appear in the list of samples you
receive, but the underlying distribution of possibilities will be even. You may assume that these
parameters are all that there is: if two monsters have the exact same parameters, they are guaranteed to
be the same species. Finally, you should assume that each list is independent: you should not use
knowledge from a prior test case to inform the current one.
Submitting Your Solution
To submit your agent, go to the course in Canvas and click Gradescope on the left side. Then, select
CS7637 if need be.
You will see an assignment named Mini-Project 4. Select this project, then drag your
MonsterClassificationAgent.py file into the autograder. If you have multiple files, add them to a zip file
and drag that zip file into the autograder.
When your submission is done running, you’ll see your results.
How You Will Be Graded
Your agent will run against 20 test cases. The first four of these will always be the same; these are those
contained in the original main.py. The last 16 will be randomly generated.
You can earn up to 40 points. Because the list of labeled monsters is non-exhaustive, it is highly unlikely
you can write an agent that classifies every single monster correctly; there will always be some
uncertainty. For that reason, you will receive full credit if your agent correctly classifies 17 or more of the
monsters. Similarly, because every label is a simple true/false, even a randomly performing agent can
likely get 50% correct with no intelligence under the hood. For that reason, you will receive no credit if
your agent correctly classifies 7 or fewer monsters.
Between 7 and 17, you will receive 4 points for each correct classification: 4 points for 8/20, 8 for 9/20;
12 for 10/20; and so on, up to 40 points for correctly classifying 17 out of 20 or better.
You may submit up to 40 times prior to the deadline. The large majority of students do not need nearly
that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent
brute force methods for farming information about patterns in hidden test cases or submitting highly
random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your
individual number of submissions, so we cannot return submissions to you in the case of errors or other
issues, but you should have more than enough submissions to handle errors if they arise.
You must select which of your submissions you want to count for a grade prior to the deadline. Note that
by default, Gradescope marks your last submission as your submission to be graded. We cannot
automatically select your best submission. Your agent score is worth 50% of your overall mini-project
grade.
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 3/7
Your Report
In addition to submitting your agent to Gradescope, you should also write up a short report describing
your agent’s design and performance. Your report may be up to 4 pages, and should answer the
following questions:
How does your agent work? Does it use some concepts covered in our course? Or some other
approach?
How well does your agent perform? Does it struggle on any particular cases?
How efficient is your agent? How does its performance change as the number of labeled monsters
grows?
Does your agent do anything particularly clever to try to arrive at an answer more efficiently?
How does your agent compare to a human? Do you feel people approach the problem similarly?
You are encouraged but not required to include visuals and diagrams in your four page report. The
primary goal of the report is to share with your classmates your approach, and to let you see your
classmates’ approaches. You may include code snippets if you think they are particularly novel, but
please do not include the entirety of your code.
Tip: Remember, we want to see how you put the content of this class into action when designing your
agent. You don’t need to use the principles and methods from the lectures precisely, but we want to
see your knowledge of the content reflected in your terminology and your reflection.
Submission Instructions
Complete your assignment using JDF format
(https://gatech.instructure.com/courses/453236/files/folder/Journal%20Templates#) , then save your
submission as a PDF. Assignments should be submitted via this Canvas page. You should submit a
single PDF for this assignment. This PDF will be ported over to Peer Feedback for peer review by your
classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be
provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.)
and submit a PDF that links to or otherwise describes how to access that material.
After submitting, download your submission from Canvas to verify that you’ve uploaded the
correct file. Review that any included figures are legible at standard magnification, with text or symbols
inside figures at equal or greater size than figure captions.
This is an individual assignment. All work you submit should be your own. Make sure to cite any
sources you reference, and use quotes and in-line citations to mark any direct quotes.
Late work is not accepted without advance agreement except in cases of medical or family emergencies.
In the case of such an emergency, please contact the Dean of Students
(https://studentlife.gatech.edu/request-assistance) .
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 4/7
Mini-Project 4 Journal Rubric
Grading Information
Your report is worth 50% of your mini-project grade. As such, your report will be graded on a 40-point
scale coinciding with a rubric designed to mirror the questions above. Make sure to answer those
questions; if any of the questions are irrelevant to the design of your agent, explain why.
Peer Review
After submission, your assignment will be ported to Peer Feedback (http://peerfeedback.gatech.edu/)
for review by your classmates. Grading is not the primary function of this peer review process; the
primary function is simply to give you the opportunity to read and comment on your classmates’ ideas,
and receive additional feedback on your own. All grades will come from the graders alone. See the
course participation policy (https://gatech.instructure.com/courses/453236/assignments/2084928) for full
details about how points are awarded for completing peer reviews.
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 5/7
Criteria Ratings Pts
JDF Format
Does your submission
conform to the
important parts of JDF
formatting—that is,
margin size, line
spacing, font, and font
size? (Deduction only)
0 pts
Agent Description
15 points: How does
your agent work? Does
it use some concepts
covered in our course?
Or some other
approach?
15 pts
Agent Performance
10 points: How well
does your agent
perform? Does it
struggle on any
particular cases?
10 pts
0 pts
Correctly Formatted
Your essay conforms to the
important portions of JDF formatting.
0 pts
JDF Error [Deduction]
Your submission violates JDF format
in one or more substantive ways:
font size, typeface, margins, or line
spacing. See the comment for more
details. As a result, you have been
assigned a negative score on this
rubric item to deduct from your
assignment score.
15 pts
Full Credit
You have
adequately and
thoroughly
described your
agent’s
operations.
10 pts
2/3rds Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking a
couple critical
details, such as
adequate detail
on how it
implements the
method it uses.
See the
comment for
more details.
5 pts
1/3rd Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking
several
significant
details, such as
what strategy it
implements and
the details of
that strategy’s
implementation.
See the
comment for
more details.
0 pts
No Credit
Your journal
makes little to
no effort to
describe how
your agent
operates.
10 pts
Full Credit
You have adequately
described your agent’s
performance, including
how many problems it
gets right and what
kinds of problems (if
any) it struggles on.
5 pts
1/2 Credit
You have made an
attempt to describe
your agent’s
performance, but you
have left out significant
details, such as how
many test cases it gets
right or what it
struggles on and why.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of the
number of problems it
solves and where it
struggles.
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 6/7
Criteria Ratings Pts
Agent Efficiency
5 points: How efficient
is your agent? How
does its performance
change as the number
of labeled monsters
grows? (Note: Using
Big O notation is
recommended, but not
required; it is just
easier to know you’ve
adequately answered
the prompt if you
include a Big O
analysis.)
5 pts
Human Comparison
10 points: How does
your agent compare to
a human? Does your
agent solve the
problem the same way
you would?
10 pts
Total Points: 40
See the comment for
more details.
5 pts
Full Credit
You have described
your agent’s efficiency,
in terms of both how
much time it takes at
present and in terms of
how the runtime
changes as the
number of labeled
monsters grows.
2.5 pts
1/2 Credit
You have made some
attempt to describe the
efficiency of your
agent, but you have
left out one or more
important details, such
as how the runtime
changes as the
number of labeled
monsters grows. See
the comment for more
details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of its
runtime efficiency.
10 pts
Full Credit
You have discussed in
adequate detail how
your agent compares
to a human, including
the similarities and
differences between
both its reasoning
strategy and its likely
performance.
5 pts
1/2 Credit
You have made some
attempt to compare
your agent to humans,
but your analysis is
lacking in one or more
significant areas. It
may be lacking
adequate depth, a
sufficient comparison
in terms of both
similarities and
differences, or a
sufficient comparison
of both performance
and strategy.
0 pts
No Credit
Your journal makes
little to no attempt to
describe how your
agent’s strategy and
performance compares
to that of a human.
5/25/25, 5:36 PM Mini-Project 4
https://gatech.instructure.com/courses/453236/assignments/2084962 7/7

Posted on

CS7637 Mini-Project 3: Sentence Reading Summer 2025

In this project, you’ll implement an agent that can answer simple questions about simple sentences
made from the 500 most common words in the English language, as well as a set of 20 possible names
and properly-formatted times. Your agent will be given a sentence and a question, and required to return
an answer to the question; the answer will always be a word from the sentence. You will submit the code
for answering these questions to the Mini-Project 3 assignment in Gradescope. You will also submit a
report describing your agent to Canvas. Your grade will be based on a combination of your report (50%)
and your agent’s performance (50%).
About the Project
In this project, you’ll be given pairs of sentences and questions. Your agent should read the sentence,
read the question, and return an answer to the question based on the knowledge contained in the
sentences. Importantly, while this is a natural language processing-themed project, you won’t be using
any existing libraries; our goal here is for you to understand the low-level reasoning of NLP, not merely
put existing libraries to work.
To keep things relatively reasonable, your agent will only be required to answer questions about the 500
most common words in the English language, as well as a list of 20 possible names. Your agent should
also be able to interpret clock times: you may assume these will always be HH:MM(AM/PM) or simply
HH:MM. For example, 9:00AM, 11:00, or 12:34PM.
Because there are disagreements (https://en.wikipedia.org/wiki/Most_common_words_in_English) on
what the most common words are, we’ve given you our own list of the 500 most common words for our
purposes, along with the 20 names your agent should recognize: these are contained in the
file mostcommon.txt (https://gatech.instructure.com/courses/453236/files/62351087/download) .
Your Agent
To write your agent, download the starter code below. Complete the solve() method, then upload it to
Gradescope to test it against the autograder. Before the deadline, make sure to select your best
performance in Gradescope as your submission to be graded.
Starter Code
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 1/7
Here is your starter code (and the mostcommon.txt file): SentenceReadingAgent.zip
(https://gatech.instructure.com/courses/453236/files/62351087/download) .
The starter code contains two files: SentenceReadingAgent.py and main.py. You will write your agent in
SentenceReadingAgent.py. You may test your agent by running main.py. You will only submit
SentenceReadingAgent.py; you may modify main.py to test your agent with different inputs.
You can use a library like spacy (https://spacy.io/usage/linguistic-features) to preprocess the
mostcommon.txt file. There are others that could be used but you must use them in preprocessing only.
You cannot import the library into Gradescope. You must include whatever preprocessing you’ve done
into your SentenceReadingAgent.py. Do not use another file (.txt or .csv).
The mostcommon.txt contains all the words you will need, but depending on the preprocessing step not
all libraries will lex the file the same and you are encouraged to expand these in your agents knowledge
representation.
Your solve() method will have two parameters: a string representing a sentence to read, and a string
representing a question to answer. Both will contain only the 500 most common words, the names listed
in that file, and/or clock times. The only punctuation will be the apostrophe (e.g. dog’s) or the last
character in the string (either a period for the sentence or a question mark for the question).
For example, an input sentence could be:
“Ada brought a short note to Irene.”
Questions about that sentence might include:
“Who brought the note?” (“Ada”)
“What did Ada bring?” (“note” or “a note”)
“Who did Ada bring the note to?” (“Irene”)
“How long was the note?” (“short”)
Another input sentence could be:
“David and Lucy walk one mile to go to school every day at 8:00AM when there is no snow.”
Questions about that sentence might include:
“Who does Lucy go to school with?” (“David”)
“Where do David and Lucy go?” (“school”)
“How far do David and Lucy walk?” (“mile” or “one mile”)
“How do David and Lucy get to school?” (“walk”)
“At what time do David and Lucy walk to school?” (“8:00AM”)
You may assume that this second example will be the upper limit of complexity you may see in our
sentences.
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 2/7
Returning Your Solution
Your solve() method should return an answer to the question as a string. You may assume every
question will be answerable by a single word from the original sentence, although we may accept multiword answers as well (such as accepting “mile” and “one mile” above).
Submitting Your Solution
To submit your agent, go to the course in Canvas and click Gradescope on the left side. Then, select
CS7637 if need be.
You will see an assignment named Mini-Project 3. Select this project, then drag your
SentenceReadingAgent.py file into the autograder. If you have multiple files, add them to a zip file and
drag that zip file into the autograder.
When your submission is done running, you’ll see your results.
How You Will Be Graded
Your agent will be run against 20 question-answer pairs. The first nine will always be the same; these
are the nine contained within the main.py file provided above. The remaining 11 will be randomly
selected from a large library of sentence-question pairs.
You can earn up to 40 points. You will earn 2 points for each of the 20 questions you answer correctly.
You may submit up to 40 times prior to the deadline. The large majority of students do not need nearly
that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent
brute force methods for farming information about patterns in hidden test cases or submitting highly
random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your
individual number of submissions, so we cannot return submissions to you in the case of errors or other
issues, but you should have more than enough submissions to handle errors if they arise.
You must select which of your submissions you want to count for a grade prior to the deadline. Note that
by default, Gradescope marks your last submission as your submission to be graded. We cannot
automatically select your best submission. Your agent score is worth 50% of your overall mini-project
grade.
Your Report
In addition to submitting your agent to Gradescope, you should also write up a short report describing
your agent’s design and performance. Your report may be up to 4 pages, and should answer the
following questions:
How does your agent work? Does it use some concepts covered in our course? Or some other
approach?
How well does your agent perform? Does it struggle on any particular cases?
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 3/7
How efficient is your agent? How does its performance change as the sentence complexity grows?
Does your agent do anything particularly clever to try to arrive at an answer more efficiently?
How does your agent compare to a human? Do you feel people interpret the questions similarly?
You are encouraged but not required to include visuals and diagrams in your four page report. The
primary goal of the report is to share with your classmates your approach, and to let you see your
classmates’ approaches. You may include code snippets if you think they are particularly novel, but
please do not include the entirety of your code.
Tip: Remember, we want to see how you put the content of this class into action when designing your
agent. You don’t need to use the principles and methods from the lectures precisely, but we want to
see your knowledge of the content reflected in your terminology and your reflection.
Submission Instructions
Complete your assignment using JDF format
(https://gatech.instructure.com/courses/453236/files/folder/Journal%20Templates#) , then save your
submission as a PDF. Assignments should be submitted via this Canvas page. You should submit a
single PDF for this assignment. This PDF will be ported over to Peer Feedback for peer review by your
classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be
provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.)
and submit a PDF that links to or otherwise describes how to access that material.
After submitting, download your submission from Canvas to verify that you’ve uploaded the
correct file. Review that any included figures are legible at standard magnification, with text or symbols
inside figures at equal or greater size than figure captions.
This is an individual assignment. All work you submit should be your own. Make sure to cite any
sources you reference, and use quotes and in-line citations to mark any direct quotes.
Late work is not accepted without advance agreement except in cases of medical or family emergencies.
In the case of such an emergency, please contact the Dean of Students
(https://studentlife.gatech.edu/request-assistance) .
Grading Information
Your report is worth 50% of your mini-project grade. As such, your report will be graded on a 40-point
scale coinciding with a rubric designed to mirror the questions above. Make sure to answer those
questions; if any of the questions are irrelevant to the design of your agent, explain why.
Peer Review
After submission, your assignment will be ported to Peer Feedback (http://peerfeedback.gatech.edu/)
for review by your classmates. Grading is not the primary function of this peer review process; the
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 4/7
Mini-Project 3 Journal Rubric
primary function is simply to give you the opportunity to read and comment on your classmates’ ideas,
and receive additional feedback on your own. All grades will come from the graders alone. See the
course participation policy (https://gatech.instructure.com/courses/453236/assignments/2084928) for full
details about how points are awarded for completing peer reviews.
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 5/7
Criteria Ratings Pts
JDF Format
Does your submission
conform to the
important parts of JDF
formatting—that is,
margin size, line
spacing, font, and font
size? (Deduction only)
0 pts
Agent Description
15 points: How does
your agent work? Does
it use some concepts
covered in our course?
Or some other
approach?
15 pts
Agent Performance
10 points: How well
does your agent
perform? Does it
struggle on any
particular cases?
10 pts
0 pts
Correctly Formatted
Your essay conforms to the
important portions of JDF formatting.
0 pts
JDF Error [Deduction]
Your submission violates JDF format
in one or more substantive ways:
font size, typeface, margins, or line
spacing. See the comment for more
details. As a result, you have been
assigned a negative score on this
rubric item to deduct from your
assignment score.
15 pts
Full Credit
You have
adequately and
thoroughly
described your
agent’s
operations.
10 pts
2/3rds Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking a
couple critical
details, such as
adequate detail
on how it
implements the
method it uses.
See the
comment for
more details.
5 pts
1/3rd Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking
several
significant
details, such as
what strategy it
implements and
the details of
that strategy’s
implementation.
See the
comment for
more details.
0 pts
No Credit
Your journal
makes little to
no effort to
describe how
your agent
operates.
10 pts
Full Credit
You have adequately
described your agent’s
performance, including
how many problems it
gets right and what
kinds of problems (if
any) it struggles on.
5 pts
1/2 Credit
You have made an
attempt to describe
your agent’s
performance, but you
have left out significant
details, such as how
many test cases it gets
right or what it
struggles on and why.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of the
number of problems it
solves and where it
struggles.
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 6/7
Criteria Ratings Pts
Agent Efficiency
5 points: How efficient
is your agent? How
does its performance
change as the
sentence complexity
grows? (Note: Using
Big O notation is
recommended, but not
required; it is just
easier to know you’ve
adequately answered
the prompt if you
include a Big O
analysis.)
5 pts
Human Comparison
10 points: How does
your agent compare to
a human? Does your
agent solve the
problem the same way
you would?
10 pts
Total Points: 40
See the comment for
more details.
5 pts
Full Credit
You have described
your agent’s efficiency,
in terms of both how
much time it takes at
present and in terms of
how the runtime
changes as the
sentence complexity
grows.
2.5 pts
1/2 Credit
You have made some
attempt to describe the
efficiency of your
agent, but you have
left out one or more
important details, such
as how the runtime
changes as the
sentence complexity
grows. See the
comment for more
details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of its
runtime efficiency.
10 pts
Full Credit
You have discussed in
adequate detail how
your agent compares
to a human, including
the similarities and
differences between
both its reasoning
strategy and its likely
performance.
5 pts
1/2 Credit
You have made some
attempt to compare
your agent to humans,
but your analysis is
lacking in one or more
significant areas. It
may be lacking
adequate depth, a
sufficient comparison
in terms of both
similarities and
differences, or a
sufficient comparison
of both performance
and strategy.
0 pts
No Credit
Your journal makes
little to no attempt to
describe how your
agent’s strategy and
performance compares
to that of a human.
5/25/25, 5:31 PM Mini-Project 3
https://gatech.instructure.com/courses/453236/assignments/2084958 7/7

Posted on

CS7637 Mini-Project 2: Block World Summer 2025


In this mini-project, you’ll implement an agent that can solve Block World problems for an arbitrary initial
arrangement of blocks. You will be given an initial arrangement of blocks and a goal arrangement of
blocks, and return a list of moves that will transform the initial state into the goal state. You will submit
the code for solving the problem to the Mini-Project 2 assignment in Gradescope. You will also submit a
report describing your agent to Canvas. Your grade will be based on a combination of your report (50%)
and your agent’s performance (50%).
About the Project
In a Block World problem, you are given an original arrangement of blocks and a target arrangement of
blocks, like this:
For us, blocks will be identified as single letters from A to Z.
Blocks may be moved one at a time. A block may not be moved if there is another block on top of it.
Blocks may be placed either on the table or on top of another block. Your goal is to generate a list of
moves that will turn the initial state into the goal state. In the example above, that could be: Move D to
the table, move B to A, move C to D, move B to C, and move A to B.
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 1/7
There may be more than one sequence of moves that can accomplish the goal. If so, your goal is to
generate the smallest number of moves that will turn the initial state into the goal state.
Your Agent
To write your agent, download the starter code below. Complete the solve() method, then upload it to
Gradescope to test it against the autograder. Before the deadline, make sure to select your best
performance in Gradescope as your submission to be graded.
Starter Code
Here is your starter code: BlockWorldAgent.zip
(https://gatech.instructure.com/courses/453236/files/62350987/download) .
The starter code contains two files: BlockWorldAgent.py and main.py. You will write your agent in
BlockWorldAgent.py. You may test your agent by running main.py. You will only submit
BlockWorldAgent.py; you may modify main.py to test your agent with different inputs.
In BlockWorldAgent.py, your solve() method will have two parameters: the initial configuration of blocks,
and the goal configuration of blocks. Configurations will be represented by lists of lists of characters,
where each character represents a different block (e.g. “A” would be Block A). Within each list, each
subsequent block is on top of the previous block in the list; the first block in the list is on the table. For
example, this list would represent the configuration shown above: two stacks, one with D on B and B on
C, and the other with just A:
[[“C”, “B”, “D”], [“A”]]
There may be up to 26 blocks in a puzzle and you may create as many stacks as there are blocks. You
may assume that the goal configuration contains all the blocks and only the blocks present in the initial
configuration.
Returning Your Solution
Your solve() method should return a list of moves that will convert the initial state into the goal state.
Each move should be a 2-tuple. The first item in each 2-tuple should be what block is being moved, and
the second item should be where it is being moved to—either the name of another block or “Table” if it is
to be put into a new pile.
For example, imagine the following initial and target state:
Initial: [[“A”, “B”, “C”], [“D”, “E”]]
Goal: [[“A”, “C”], [“D”, “E”, “B”]]
Put in simple terms, the goal here is to move Block B from the middle of the pile on the left and onto the
top of the pile on the right.
Given that, this sequence of moves would be an acceptable solution:
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 2/7
(“C”, “Table”)
(“B”, “E”)
(“C”, “A”)
Submitting Your Solution
To submit your agent, go to the course in Canvas and click Gradescope on the left side. Then, select
CS7637 if need be.
You will see an assignment named Mini-Project 2. Select this project, then drag your
BlockWorldAgent.py file into the autograder. If you have multiple files, add them to a zip file and drag
that zip file into the autograder.
When your submission is done running, you’ll see your results.
How You Will Be Graded
Your agent will be run against 20 pairs of initial and goal configurations. 8 of these will be the same
every time your agent is tested; these are present in the original BlockWorldAgent.py file. The remaining
12 will be randomly generated, with up to 26 blocks each.
You can earn up to 40 points. You will earn 1 point for each of the 20 pairs of configurations you solve
correctly (meaning that your solution does in fact transform the initial state into the goal state), and an
additional point for each of the 20 configurations you solve optimally (in the minimum number of moves).
You may submit up to 40 times prior to the deadline. The large majority of students do not need nearly
that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent
brute force methods for farming information about patterns in hidden test cases or submitting highly
random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your
individual number of submissions, so we cannot return submissions to you in the case of errors or other
issues, but you should have more than enough submissions to handle errors if they arise.
You must select which of your submissions you want to count for a grade prior to the deadline. Note that
by default, Gradescope marks your last submission as your submission to be graded. We cannot
automatically select your best submission. Your agent score is worth 50% of your overall mini-project
grade.
Your Report
In addition to submitting your agent to Gradescope, you should also write up a short report describing
your agent’s design and performance. Your report may be up to 4 pages, and should answer the
following questions:
How does your agent work? Does it use Generate & Test? Means-Ends Analysis? Some other
approach?
How well does your agent perform? Does it struggle on any particular cases?
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 3/7
How efficient is your agent? How does its performance change as the number of blocks?
Does your agent do anything particularly clever to try to arrive at an answer more efficiently?
How does your agent compare to a human? Does your agent solve the problem the same way you
would?
You are encouraged but not required to include visuals and diagrams in your four page report. The
primary goal of the report is to share with your classmates your approach, and to let you see your
classmates’ approaches. You may include code snippets if you think they are particularly novel, but
please do not include the entirety of your code.
Tip: Remember, we want to see how you put the content of this class into action when designing your
agent. You don’t need to use the principles and methods from the lectures precisely, but we want to
see your knowledge of the content reflected in your terminology and your reflection.
Submission Instructions
Complete your assignment using JDF format
(https://gatech.instructure.com/courses/453236/files/folder/Journal%20Templates#) , then save your
submission as a PDF. Assignments should be submitted via this Canvas page. You should submit a
single PDF for this assignment. This PDF will be ported over to Peer Feedback for peer review by your
classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be
provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.)
and submit a PDF that links to or otherwise describes how to access that material.
After submitting, download your submission from Canvas to verify that you’ve uploaded the
correct file. Review that any included figures are legible at standard magnification, with text or symbols
inside figures at equal or greater size than figure captions.
This is an individual assignment. All work you submit should be your own. Make sure to cite any
sources you reference, and use quotes and in-line citations to mark any direct quotes.
Late work is not accepted without advance agreement except in cases of medical or family emergencies.
In the case of such an emergency, please contact the Dean of Students
(https://studentlife.gatech.edu/request-assistance) .
Grading Information
Your report is worth 50% of your mini-project grade. As such, your report will be graded on a 40-point
scale coinciding with a rubric designed to mirror the questions above. Make sure to answer those
questions; if any of the questions are irrelevant to the design of your agent, explain why.
Peer Review
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 4/7
Mini-Project 2 Journal Rubric
After submission, your assignment will be ported to Peer Feedback (http://peerfeedback.gatech.edu/)
for review by your classmates. Grading is not the primary function of this peer review process; the
primary function is simply to give you the opportunity to read and comment on your classmates’ ideas,
and receive additional feedback on your own. All grades will come from the graders alone. See the
course participation policy (https://gatech.instructure.com/courses/453236/assignments/2084928) for full
details about how points are awarded for completing peer reviews.
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 5/7
Criteria Ratings Pts
JDF Format
Does your submission
conform to the
important parts of JDF
formatting—that is,
margin size, line
spacing, font, and font
size? (Deduction only)
0 pts
Agent Description
15 points: How does
your agent work? Does
it use Generate &
Test? Means-Ends
Analysis? Some other
approach?
15 pts
Agent Performance
10 points: How well
does your agent
perform? Does it
struggle on any
particular cases?
10 pts
0 pts
Correctly Formatted
Your essay conforms to the
important portions of JDF formatting.
0 pts
JDF Error [Deduction]
Your submission violates JDF format
in one or more substantive ways:
font size, typeface, margins, or line
spacing. See the comment for more
details. As a result, you have been
assigned a negative score on this
rubric item to deduct from your
assignment score.
15 pts
Full Credit
You have
adequately and
thoroughly
described your
agent’s
operations.
10 pts
2/3rds Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking a
couple critical
details, such as
adequate detail
on how it
implements the
method it uses.
See the
comment for
more details.
5 pts
1/3rd Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking
several
significant
details, such as
what strategy it
implements and
the details of
that strategy’s
implementation.
See the
comment for
more details.
0 pts
No Credit
Your journal
makes little to
no effort to
describe how
your agent
operates.
10 pts
Full Credit
You have adequately
described your agent’s
performance, including
how many problems it
gets right and what
kinds of problems (if
any) it struggles on.
5 pts
1/2 Credit
You have made an
attempt to describe
your agent’s
performance, but you
have left out significant
details, such as how
many test cases it gets
right or what it
struggles on and why.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of the
number of problems it
solves and where it
struggles.
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 6/7
Criteria Ratings Pts
Agent Efficiency
5 points: How efficient
is your agent? How
does its performance
change as the number
of blocks rises? (Note:
Using Big O notation is
recommended, but not
required; it is just
easier to know you’ve
adequately answered
the prompt if you
include a Big O
analysis.)
5 pts
Human Comparison
10 points: How does
your agent compare to
a human? Does your
agent solve the
problem the same way
you would?
10 pts
Total Points: 40
See the comment for
more details.
5 pts
Full Credit
You have described
your agent’s efficiency,
in terms of both how
much time it takes at
present and in terms of
how the runtime
changes as the
number of blocks rises.
2.5 pts
1/2 Credit
You have made some
attempt to describe the
efficiency of your
agent, but you have left
out one or more
important details, such
as how the runtime
changes as the
number of blocks rises.
See the comment for
more details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of its
runtime efficiency.
10 pts
Full Credit
You have discussed in
adequate detail how
your agent compares
to a human, including
the similarities and
differences between
both its reasoning
strategy and its likely
performance.
5 pts
1/2 Credit
You have made some
attempt to compare
your agent to humans,
but your analysis is
lacking in one or more
significant areas. It
may be lacking
adequate depth, a
sufficient comparison
in terms of both
similarities and
differences, or a
sufficient comparison
of both performance
and strategy.
0 pts
No Credit
Your journal makes
little to no attempt to
describe how your
agent’s strategy and
performance compares
to that of a human.
5/25/25, 5:28 PM Mini-Project 2
https://gatech.instructure.com/courses/453236/assignments/2084954 7/7

Posted on

CS7637 Mini-Project 1: Sheep & Wolves Summer 2025

In this mini-project, you’ll implement an agent that can solve the Sheep and Wolves problem for an
arbitrary number of initial wolves and sheep. You will submit the code for solving the problem to the MiniProject 1 assignment in Gradescope. You will also submit a report describing your agent to Canvas. Your
grade will be based on a combination of your report (50%) and your agent’s performance (50%).
About the Project
The Sheep and Wolves problem is identical to the Guards & Prisoners problem from the lecture, except
that it makes more semantic sense why the wolves can be alone (they have no sheep to eat). Ignore for
a moment the absurdity of wolves needing to outnumber sheep in order to overpower them. Maybe it’s
baby wolves vs. adult rams.
As a reminder, the problem goes like this: you are a shepherd tasked with getting sheep and wolves
across a river for some reason. If the wolves ever outnumber the sheep on either side of the river, the
wolves will overpower and eat the sheep. You have a boat, which can only take one or two animals in it
at a time, and must have at least one animal in it because you’ll get lonely (and because the problem is
trivial otherwise). How do you move all the animals from one side of the river to the other?
In the original Sheep & Wolves (or Guards & Prisoners) problem, we specified there were 3 sheep and 3
wolves; here, though, your agent should be able to solve the problem for an arbitrary number of initial
sheep and wolves. You may assume that the initial state of the problem will follow those rules (e.g. we
won’t give you more wolves than sheep to start). However, not every initial state will be solvable; there
may be combinations of sheep and wolves that cannot be solved.
You will return a list of moves that will solve the problem, or an empty list if the problem is unsolvable
based on the initial set of Sheep and Wolves. You will also submit a brief report describing your
approach.
Your Agent
To write your agent, download the starter code below. Complete the solve() method, then upload it to
Gradescope to test it against the autograder. Before the deadline, make sure to select your best
performance in Gradescope as your submission to be graded.
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 1/6
Starter Code
Here is your starter code: SemanticNetsAgent.zip
(https://gatech.instructure.com/courses/453236/files/62350965/download) .
The starter code contains two files: SemanticNetsAgent.py and main.py. You will write your agent in
SemanticNetsAgent.py. You may test your agent by running main.py. You will only submit
SemanticNetsAgent.py; you may modify main.py to test your agent with different inputs.
In SemanticNetsAgent.py, your solve() method will have two parameters: the number of sheep and the
number of wolves. For example, for the original Sheep & Wolves problem from the lectures, we would
call your agent with your_agent.solve(3, 3) . You may assume that the initial state is valid (there will not be
more Wolves than Sheep in the initial state).
Returning Your Solution
Your solve() method should return a list of moves that will result in the successful solving of the
problem. These are only the moves your agent ultimately selected to be performed, not the entire web of
possible moves. Each item in the list should be a 2-tuple where each value is an integer representing the
number of sheep (the first integer) or wolves (the second integer) to be moved; we assume the moves
are alternating. So, if your first move is (1, 1), that means you’re moving one sheep and one wolf to the
right. If your second move is (0, 1), that means you’re moving one wolf to the left.
For example, one possible solution to the test case of 3 sheep and 3 wolves would be:
[(1, 1), (1, 0), (0, 2), (0, 1), (2, 0), (1, 1), (2, 0), (0, 1), (0, 2), (0, 1), (0, 2)]
The result of running the moves in order should be (a) that all animals are successfully moved from left
to right, and (b) that all intermediate states along the way are valid (wolves never outnumber sheep in
any state).
Submitting Your Solution
To submit your agent, go to the course in Canvas and click Gradescope on the left side. Then, select
CS7637 if need be.
You will see an assignment named Mini-Project 1. Select this project, then drag your
SemanticNetsAgent.py file into the autograder. If you have multiple files, add them to a zip file and drag
that zip file into the autograder.
When your submission is done running, you’ll see your results.
How You Will Be Graded
Your agent will be run against 20 initial configurations of sheep and wolves. 7 of these will be the same
every time your agent is tested: (1, 1), (2, 2), (3, 3), (5, 3), (6, 3), (7, 3), and (5, 5). The other 13 will be
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 2/6
semi-randomly selected, up to 25 of each type of animal, with sheep always greater than or equal to the
number of wolves.
You can earn up to 40 points. You will earn 1 point for each of the 20 configurations you solve correctly
(meaning that your solution does in fact move all the animals to the right side), and an additional point
for each of the 20 configurations you solve optimally (in the minimum number of moves). For every case
that you correctly label as unsolvable (by returning an empty list), you will receive 2 points as well.
You may submit up to 40 times prior to the deadline. The large majority of students do not need nearly
that many submissions, so do not feel like you should use all 40; this cap is in place primarily to prevent
brute force methods for farming information about patterns in hidden test cases or submitting highly
random agents hoping for a lucky submission. Note that Gradescope has no way for us to increase your
individual number of submissions, so we cannot return submissions to you in the case of errors or other
issues, but you should have more than enough submissions to handle errors if they arise.
You must select which of your submissions you want to count for a grade prior to the deadline. Note that
by default, Gradescope marks your last submission as your submission to be graded. We cannot
automatically select your best submission. Your agent score is worth 50% of your overall mini-project
grade.
Your Report
In addition to submitting your agent to Gradescope, you should also write up a short report describing
your agent’s design and performance. Your report may be up to 4 pages, and should answer the
following questions:
How does your agent work? How does it generate new states, and how does it test them?
How well does your agent perform? Does it struggle on any particular cases?
How efficient is your agent? How does its performance change as the number of animals rises?
Does your agent do anything particularly clever to try to arrive at an answer more efficiently?
How does your agent compare to a human? Does your agent solve the problem the same way you
would?
You are encouraged but not required to include visuals and diagrams in your four page report. The
primary goal of the report is to share with your classmates your approach, and to let you see your
classmates’ approaches. You may include code snippets if you think they are particularly novel, but
please do not include the entirety of your code.
Tip: Remember, we want to see how you put the content of this class into action when designing your
agent. You don’t need to use the principles and methods from the lectures precisely, but we want to
see your knowledge of the content reflected in your terminology and your reflection.
Submission Instructions
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 3/6
Mini-Project 1 Journal Rubric
(https://studentlife.gatech.edu/request-assistance) Complete your assignment using JDF
(https://gatech.instructure.com/courses/453236/files/folder/Journal%20Templates) , then save your
submission as a PDF. Assignments should be submitted via this Canvas page. You should submit a
single PDF for this assignment. This PDF will be ported over to Peer Feedback for peer review by your
classmates. If your assignment involves things (like videos, working prototypes, etc.) that cannot be
provided in PDF, you should provide them separately (through OneDrive, Google Drive, Dropbox, etc.)
and submit a PDF that links to or otherwise describes how to access that material.
After submitting, download your submission from Canvas to verify that you’ve uploaded the
correct file. Review that any included figures are legible at standard magnification, with text or symbols
inside figures at equal or greater size as figure captions.
This is an individual assignment. All work you submit should be your own. Make sure to cite any
sources you reference, and use quotes and in-line citations to mark any direct quotes.
(https://studentlife.gatech.edu/request-assistance)
Late work is not accepted without advance agreement except in cases of medical or family emergencies.
In the case of such an emergency, please contact the Dean of Students
(https://studentlife.gatech.edu/request-assistance) . (https://studentlife.gatech.edu/request-assistance)
Grading Information
Your report is worth 50% of your mini-project grade. As such, your report will be graded on a 40-point
scale coinciding with a rubric designed to mirror the questions above. Make sure to answer those
questions; if any of the questions are irrelevant to the design of your agent, explain why.
Peer Review
After submission, your assignment will be ported to Peer Feedback (http://peerfeedback.gatech.edu/)
for review by your classmates. Grading is not the primary function of this peer review process; the
primary function is simply to give you the opportunity to read and comment on your classmates’ ideas,
and receive additional feedback on your own. All grades will come from the graders alone. See the
course participation policy (https://gatech.instructure.com/courses/453236/assignments/2084928) for full
details about how points are awarded for completing peer reviews.
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 4/6
Criteria Ratings Pts
0 pts
15 pts
10 pts
JDF Format
Does your submission
conform to the important
parts of JDF formatting—
that is, margin size, line
spacing, font, and font
size?
0 pts
Correctly Formatted
Your essay conforms to the important
portions of JDF formatting.
0 pts
JDF Error [Warning]
Your submission violates JDF format
in one or more substantive ways: font
size, typeface, margins, or line
spacing. See the comment for more
details. Because this is an early
assignment, there is no deduction
this time.
Agent Description
15 points: How does your
agent work? How does it
generate new states, and
how does it test them?
15 pts
Full Credit
You have
adequately and
thoroughly
described your
agent’s
operations.
10 pts
2/3rds Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking a
couple critical
details, such as
adequate detail
on how your
agent generates
new states or
how it tests
them. See the
comment for
more details.
5 pts
1/3rd Credit
You have made
an attempt to
describe your
agent’s
operations, but
your description
is lacking
several
significant
details, like any
description of
state generation
or testing. See
the comment for
more details.
0 pts
No Credit
Your journal
makes little to no
effort to describe
how your agent
operates.
Agent Performance
10 points: How well does
your agent perform? Does
it struggle on any
particular cases?
10 pts
Full Credit
You have adequately
described your agent’s
performance, including
how many problems it
gets right and what
kinds of problems (if
any) it struggles on.
5 pts
1/2 Credit
You have made an
attempt to describe
your agent’s
performance, but you
have left out significant
details, such as how
many test cases it gets
right or what it
struggles on and why.
See the comment for
more details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of the
number of problems it
solves and where it
struggles.
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 5/6
Criteria Ratings Pts
5 pts
10 pts
Total Points: 40
Agent Efficiency
5 points: How efficient is
your agent? How does its
performance change as
the number of animals
rises? (Note: Using Big O
notation is recommended,
but not required; it is just
easier to know you’ve
adequately answered the
prompt if you include a
Big O analysis.)
5 pts
Full Credit
You have described
your agent’s efficiency,
in terms of both how
much time it takes at
present and in terms of
how the runtime
changes as the number
of animals rises.
2.5 pts
1/2 Credit
You have made some
attempt to describe the
efficiency of your agent,
but you have left out
one or more important
details, such as how
the runtime changes as
the number of animals
rises. See the comment
for more details.
0 pts
No Credit
Your journal makes
little to no attempt to
describe the
performance of your
agent in terms of its
runtime efficiency.
Human Comparison
10 points: How does your
agent compare to a
human? Does your agent
solve the problem the
same way you would?
10 pts
Full Credit
You have discussed in
adequate detail how
your agent compares to
a human, including the
similarities and
differences between
both its reasoning
strategy and its likely
performance.
5 pts
1/2 Credit
You have made some
attempt to compare
your agent to humans,
but your analysis is
lacking in one or more
significant areas. It may
be lacking adequate
depth, a sufficient
comparison in terms of
both similarities and
differences, or a
sufficient comparison of
both performance and
strategy.
0 pts
No Credit
Your journal makes
little to no attempt to
describe how your
agent’s strategy and
performance compares
to that of a human.
5/16/25, 7:47 AM Mini-Project 1
https://gatech.instructure.com/courses/453236/assignments/2084950 6/6

Posted on

Ace OMSCS-6300 in Summer 2025 with Expert Coding Help from JarvisCodingHub.com

Are you preparing for OMSCS-6300: Software Development Process at Georgia Tech this Summer 2025? Whether you’re new to the course or looking to improve your performance, JarvisCodingHub.com is here to provide high-quality coding assistance and project support to help you succeed.

What is OMSCS-6300?

OMSCS-6300 is one of the core courses in Georgia Tech’s highly respected Online Master of Science in Computer Science (OMSCS) program. The course offers a comprehensive exploration of software engineering practices and project management techniques used in real-world software development.

Students learn to apply modern software development processes such as:

  • Agile and Scrum methodologies
  • Requirements gathering and system modeling
  • Design patterns and architectural decisions
  • Unit and integration testing
  • Continuous integration/continuous delivery (CI/CD) workflows
  • Collaborative software development using Git and GitHub

The course is both theoretical and hands-on, making it a critical step for OMSCS students who want to build strong foundations in software engineering.


Common Projects in OMSCS-6300 (Summer 2025 Edition)

In Summer 2025, OMSCS-6300 students can expect to work on intensive projects that simulate real-world software development environments. Some of the typical assignments include:

  • Agile Sprint Planning and Execution: Simulate agile development cycles with proper documentation and reporting.
  • Team-based Software Projects: Collaborate on GitHub to develop applications using best practices in design and testing.
  • Design Documentation: Use UML diagrams and architecture decisions to support maintainable codebases.
  • Test Suite Development: Build comprehensive unit and integration tests using frameworks like JUnit or PyTest.
  • CI/CD Integration: Automate builds, tests, and deployments using industry-standard tools like GitHub Actions, Jenkins, or Travis CI.

These projects are designed to reflect the challenges you’ll face in a professional software engineering environment, making them both educational and demanding.


Get OMSCS-6300 Help from JarvisCodingHub.com

If you’re feeling overwhelmed or want to ensure your projects meet top-tier standards, JarvisCodingHub.com offers expert help with OMSCS-6300 assignments and coding tasks.

Our services include:

  • Custom code development and debugging
  • Agile project support and documentation
  • Unit and integration testing
  • CI/CD pipeline setup
  • Team collaboration support using Git and GitHub
  • General tutoring for OMSCS-6300 concepts

We ensure all work is tailored to the course requirements and your individual needs. Whether you need help starting a project or polishing your final submission, we’ve got your back.


Pricing and Contact

Custom coding assistance starts at just $100, with flexible pricing based on project complexity and turnaround time.

📧 Contact Us: jarviscodinghub@gmail.com
🌐 Visit: JarvisCodingHub.com


Why Choose JarvisCodingHub.com for OMSCS-6300?

  • ✅ Experienced developers familiar with OMSCS course structure
  • ✅ Fast and reliable delivery
  • ✅ Custom solutions with explanations to help you learn
  • ✅ Affordable pricing for graduate students
  • ✅ 100% confidentiality and academic integrity

Final Thoughts

The Summer 2025 semester is a great opportunity to build strong software engineering skills through OMSCS-6300. With the right guidance and support, you can not only pass but excel in this course. Let JarvisCodingHub.com be your trusted partner in achieving academic and professional success.

Need help now? Email us at jarviscodinghub@gmail.com to get started.