TR 12:15 - 1:30 pm (CAS) 134
Week 8 Class 15 Tue Oct 14 Posted: Oct 14
Announcements
Project 2 The checkmd
required a file called Requirements.md. To use this with IterationPlan.md, we needed to remove this restriction from checkmd
.
This changed checkmd
is now in the image mlcollard/checkmd, which you get when you run a GitHub Codespace. If you have an existing GitHub Codespace for Project 2, you will have to create a new codespace to get this change.
Project 2 Keep in mind the following:
In your repository the branch feedback in the file Feedback.md is a Claude (LLM) analysis of the team history for Exercise 33: Team Text Match. I suggest viewing it at GitHub.
Some observations regarding team collaboration and outcomes:
make
is run. Not every team member did this.textmatch
and regexCountTest
, couldn't be worked on in parallel. Declarative languages are easier to work on independently than other types of languages due to simpler structures. E.g., make
is easier to work on independently than C++.Class
Make Prerequisites
Make prerequisite graph for srcComplexity:
Exercise 34: Team Text Match II
$@
, $<
, and $^
In your repository the branch feedback in the file Feedback.md is a Claude (LLM) analysis of the team history for Exercise 33: Team Text Match. I suggest viewing it at GitHub.
Read over the analysis and think about what can be improved, not only about your current version of the code, but also about your process. Even if your process worked and you did well, consider how you can parallelize your development (instead of waiting while someone else makes changes).
Follow the instructions for Exercise 33: Team Text Match
The targets from last time were: make clean
, make run
, make test
Once you have all those targets implemented, implement the following:
Add the target manpage
, i.e., make manpage
, that creates a man page. This was added to the build-files-020. Note that my example also added a comment.
The manpage will be named textmatch.1
. It is generated from the markdown file textmatch.1.md
. This conversion uses the command lowdown
. It is not installed in your GitHub Codespace. However, you do have the permissions to install it. First, update
Then install the package:
If you are in WSL, you need to use sudo
before each command. On macOS, brew install lowdown
man
, i.e., make man
, that views the created manpage. This was also added to the build-files-010, and it has its own comment.textmatch
executable and its object files.regexCountTest.cpp
executable and its object files.clean
targetrun
targetAs before, this is due by the end of class. No commits outside of class.
The Midterm Exam is Thursday, October 16, during our regular class time and classroom. It covers Chapters 1 - 6.5 of the Head First Software Development book, plus notes and in-class examples.
make
and cmake
; Given a Makefile, what would happen with specific targets.The exam has various problem types, including short answers, definitions, comparisons, creation of user stories, and planning. The question may require you to:
It is a good idea to review the "Dumb Questions" and the answers.
The questions are based on what we covered in the book, the exercises, and the projects. If I did not cover it in class, it is not on the exam.
A calculator is not needed for any required math and, therefore, not permitted.
Project 2 is due on Tuesday, Oct 14 at 11:59:59 pm. A GitHub Classroom invitation link is on the Brightspace course page.
For Project 2, take all the user stories from Project 1 and create a series of iteration plans.
Use the examples in the book to show which parts of the user story you should show in your iteration plan (e.g., do not restate descriptions in the plans). Also, clearly state the entire new iteration plan for each plan, not just the changes. However, make sure to thoroughly discuss what the change was and what effect it had.
This is an individual project. Each member of a team has different user-story priorities. To get individual priorities for Project 2, select the number of user stories:
Put these in the Priority field in the order in which you listed the user stories. In the report, do not discuss how you generated your report's priorities, i.e., pretend that the customer gave them.
The following plans may require you to add additional user stories. This violates our rule that only the development team can create estimates. However, as part of the exercise, put in an estimate.
Each plan is a point in time. For each plan, show the entire iteration plan, including the iterations already completed.
Plan | Events |
---|---|
1 | Create an initial iteration plan: 2 Weeks (14 calendar days) iteration, 2 developers, 0.6 velocity |
2 | The customer adds two new user stories of the highest priority at the end of the first iteration. For the two new user stories, one is a new feature, and one is an emergency. Create a non-trivial estimate (i.e., an estimate that makes the planning interesting) for these new user stories. |
3 | A user story with a non-trivial estimate takes twice as long. Assume this occurred right before the last iteration. |
4 | At the beginning of the last iteration of your current plan, the other developer leaves for another project, and it is up to you to finish the project. |
After the plans, create a section with all of your user stories, including their titles, descriptions, estimates, and priorities. You will need estimates for all of your user stories.
Regarding the format, GitHub Codespaces, checkmd
, and a Final Check with an asciinema
session, all of those requirements of Project 1 are also in effect for Project 2.
Submit the URL via this form: Project 2
TA: Mr. Sumaila Iddrisu si63@uakron.edu