- Update user docs
- Add sequence diagrams to the developer guide recommended: before Wednesday
- Deliver v2.0 midnight before the tutorial
- Review others' DG during the tutorial counted for participation
Guidance for the item(s) below:
This week, you get a chance to fix your tP bugs (in the project, as well as documentation) without any penalty. What's more, others will help you find those bugs (via tutorial activities and the PE Dry Run happening in this week).
To take advantage of the above, try to make your v2.0 (product, DG, and UG) as close to what you intend to submit as your final version (i.e., v2.1).
1 Update user docs
- Update the v2.0 user guide to match the current version of the product. Reason: testers will need to refer to the UG during the practical exam dry run.
- Clearly indicate which features are not implemented yet e.g. tag those features with a
Coming soon
. - For those features already implemented, ensure their descriptions match the exact behavior of the product e.g. replace mockups with actual screenshots
- Clearly indicate which features are not implemented yet e.g. tag those features with a
Admin tP → Deliverables → User Guide
In UG/DG, using hierarchical section numbering and figure numbering is optional (reason: it's not easy to do in Markdown), but make sure it does not inconvenience the reader (e.g., use section/figure title and/or hyperlinks to point to the section/figure being referred to). Examples:
In the section Implementation given above ...
CS2113 does not require you to indicate author name of DG/UG sections (CS2101 requirements may differ). We recommend (but not require) you to ensure that the code dashboard reflect the authorship of doc files accurately.
- Follow the AddressBook-Level3 (AB3) UG structure.
-
The main content you add should be in the
docs/UserGuide.md
file (for ease of tracking by grading scripts). -
Should cover all v2.1 features.
Ensure those descriptions match the product precisely, as it will be used by peer testers (inaccuracies will be considered bugs). -
Optionally, can also cover future features. Mark those as
Coming soon
. -
It is not necessary for the UG to contain every nitty-gritty detail about the product behavior. Some rarely needed information can be omitted from the UG, if the user is expected to know that information already or if the user is kept informed in other ways. For example, if a certain invalid input is unlikely to be used anyway, it is fine to not specify it in the UG, as long as the product is able to give an informative error message when that invalid input is used.
-
Beware of overusing screenshots. While it is good to have screenshots in the UG, note that they are hard to maintain. For example, if a future version changes the GUI slightly, it will require all your screenshots to be updated. Here are some tips:
- In general, don't use more screenshots than necessary.
- In some cases, you may want to crop the screenshot to show only the elements being discussed. That way, the screenshot doesn't need to be updated when other parts of the GUI is modified in a later version.
- Don't use a higher resolution than necessary as it can increase the UG file size unnecessarily.
-
Also note the following constraint:
Admin tP Contstraints → Constraint-File-Size
Constraint-File-Size
The file sizes of the deliverables should not exceed the limits given below.
Reason: It is hard to download big files during the practical exam due to limited WiFi bandwidth at the venue:
-
Product (i.e., the JAR/ZIP file): 100MB (Some third-party software -- e.g., Stanford NLP library, certain graphics libraries -- can cause you to exceed this limit)
-
Documents (i.e., PDF files): 15MB/file (Not following the recommended method of converting to PDF format can cause big PDF files. Another cause is using unnecessarily high resolution images for screenshots).
2 Add sequence diagrams to the developer guide recommended: before Wednesday
- Add sequence diagrams to enhance your DG wherever they can be useful. Note that diagrams you add in this week will receive feedback while diagrams added later will not.
- Try to do this before Wednesday so that the added sequence diagrams can get peer feedback via the DG peer review that will happen during this week's tutorial.
3 Deliver v2.0 midnight before the tutorial
- As before, do a release on GitHub and upload the v2.0 jar file. Do this before the deadline as PE testers will start downloading jar files ahead of time.
- IMPORTANT: ensure your jar file was generated using Java 11 and can work on all major OS'es using JDK 11.
Admin tP Contstraints → Constraint-Java-Version
- Wrap up the milestone on GitHub.
4 Review others' DG during the tutorial counted for participation
- To be done during the tutorial. Please don't do this task before the tutorial as others need time to update their DGs.
- Read all instructions before you start the activity.
- Find the team choices you have been allocated to review, as given in the panel below.
Allocation for DG review
Your GitHub | First choice | Second choice | Third choice |
---|---|---|---|
CabbageTime |
CS2113T-W09-2 DG PR |
CS2113-T10-2 DG PR |
CS2113T-W09-3 DG PR |
heyjinwei |
CS2113T-W09-2 DG PR |
CS2113-T10-2 DG PR |
CS2113T-W09-3 DG PR |
jadenwjh |
CS2113T-W09-3 DG PR |
CS2113-T10-3 DG PR |
CS2113T-W09-4 DG PR |
warmwhalefy |
CS2113T-W09-3 DG PR |
CS2113-T10-3 DG PR |
CS2113T-W09-4 DG PR |
song0180 |
CS2113T-W09-3 DG PR |
CS2113-T10-3 DG PR |
CS2113T-W09-4 DG PR |
lowwilliam |
CS2113T-W09-3 DG PR |
CS2113-T10-3 DG PR |
CS2113T-W09-4 DG PR |
baggiiiie |
CS2113T-W09-3 DG PR |
CS2113-T10-3 DG PR |
CS2113T-W09-4 DG PR |
PingruiLi |
CS2113T-W09-4 DG PR |
CS2113-T10-4 DG PR |
CS2113T-W09-3 DG PR |
beaniestanley |
CS2113T-W09-4 DG PR |
CS2113-T10-4 DG PR |
CS2113-F10-1 DG PR |
lihaoyangML |
CS2113T-W09-4 DG PR |
CS2113-T10-4 DG PR |
CS2113-F10-1 DG PR |
cloudy3 |
CS2113T-W09-4 DG PR |
CS2113-T10-4 DG PR |
CS2113-F10-1 DG PR |
justinaquak |
CS2113T-W09-4 DG PR |
CS2113-T10-4 DG PR |
CS2113-F10-1 DG PR |
joohwan58 |
CS2113-F10-1 DG PR |
CS2113-W10-1 DG PR |
CS2113-F10-2 DG PR |
SimJJ96 |
CS2113-F10-1 DG PR |
CS2113-W10-1 DG PR |
CS2113-F10-2 DG PR |
leeyp |
CS2113-F10-1 DG PR |
CS2113-W10-1 DG PR |
CS2113-F10-2 DG PR |
kwokyto |
CS2113-F10-1 DG PR |
CS2113-W10-1 DG PR |
CS2113-F10-2 DG PR |
Vinci-Hu |
CS2113-F10-2 DG PR |
CS2113-W10-1 DG PR |
CS2113-F10-3 DG PR |
tehtea |
CS2113-F10-2 DG PR |
CS2113-W10-2 DG PR |
CS2113-F10-3 DG PR |
chenling1022 |
CS2113-F10-2 DG PR |
CS2113-W10-2 DG PR |
CS2113-F10-3 DG PR |
geezzzyyy |
CS2113-F10-2 DG PR |
CS2113-W10-2 DG PR |
CS2113-F10-3 DG PR |
zhangyongzhe20 |
CS2113-F10-3 DG PR |
CS2113-W10-2 DG PR |
CS2113-T10-1 DG PR |
cswbibibi |
CS2113-F10-3 DG PR |
CS2113-W10-3 DG PR |
CS2113-T10-1 DG PR |
violinyap |
CS2113-F10-3 DG PR |
CS2113-W10-3 DG PR |
CS2113-T10-1 DG PR |
L-Irvin |
CS2113-F10-3 DG PR |
CS2113-W10-3 DG PR |
CS2113-T10-1 DG PR |
Zufiqqar |
CS2113-T10-1 DG PR |
CS2113-W10-3 DG PR |
CS2113-T10-2 DG PR |
boonjuey |
CS2113-T10-1 DG PR |
CS2113-W10-3 DG PR |
CS2113-T10-2 DG PR |
Tyuanyuan |
CS2113-T10-1 DG PR |
CS2113T-F08-1 DG PR |
CS2113-T10-2 DG PR |
JoviYeung92 |
CS2113-T10-1 DG PR |
CS2113T-F08-1 DG PR |
CS2113-T10-2 DG PR |
nagiteja |
CS2113-T10-1 DG PR |
CS2113T-F08-1 DG PR |
CS2113-T10-2 DG PR |
KevinNgWK |
CS2113-T10-2 DG PR |
CS2113T-F08-1 DG PR |
CS2113-T10-1 DG PR |
brynagoh |
CS2113-T10-2 DG PR |
CS2113T-F08-1 DG PR |
CS2113-T10-3 DG PR |
kangxinwang |
CS2113-T10-2 DG PR |
CS2113T-F08-2 DG PR |
CS2113-T10-3 DG PR |
JethroPhuah |
CS2113-T10-2 DG PR |
CS2113T-F08-2 DG PR |
CS2113-T10-3 DG PR |
ManikaHennedige |
CS2113-T10-2 DG PR |
CS2113T-F08-2 DG PR |
CS2113-T10-3 DG PR |
averliz |
CS2113-T10-3 DG PR |
CS2113T-F08-2 DG PR |
CS2113-T10-4 DG PR |
lamzf1998 |
CS2113-T10-3 DG PR |
CS2113T-F08-2 DG PR |
CS2113-T10-4 DG PR |
e0699194 |
CS2113-T10-3 DG PR |
CS2113T-F08-3 DG PR |
CS2113-T10-4 DG PR |
FarmZH98 |
CS2113-T10-3 DG PR |
CS2113T-F08-3 DG PR |
CS2113-T10-4 DG PR |
jalvinchan |
CS2113-T10-3 DG PR |
CS2113T-F08-3 DG PR |
CS2113-T10-4 DG PR |
yanli1215 |
CS2113-T10-4 DG PR |
CS2113T-F08-3 DG PR |
CS2113-T10-3 DG PR |
Chihui8199 |
CS2113-T10-4 DG PR |
CS2113T-F08-4 DG PR |
CS2113-W10-1 DG PR |
jovanhuang |
CS2113-T10-4 DG PR |
CS2113T-F08-4 DG PR |
CS2113-W10-1 DG PR |
NgManSing |
CS2113-T10-4 DG PR |
CS2113T-F08-4 DG PR |
CS2113-W10-1 DG PR |
s-t-e-f |
CS2113-T10-4 DG PR |
CS2113T-F08-4 DG PR |
CS2113-W10-1 DG PR |
yyixue |
CS2113-W10-1 DG PR |
CS2113T-T09-1 DG PR |
CS2113T-F08-1 DG PR |
seangoats |
CS2113-W10-1 DG PR |
CS2113T-T09-1 DG PR |
CS2113-W10-2 DG PR |
vaiish371 |
CS2113-W10-1 DG PR |
CS2113T-T09-1 DG PR |
CS2113-W10-2 DG PR |
zihan9485 |
CS2113-W10-1 DG PR |
CS2113T-T09-1 DG PR |
CS2113-W10-2 DG PR |
vvvvh123 |
CS2113-W10-1 DG PR |
CS2113T-T09-1 DG PR |
CS2113-W10-2 DG PR |
jianningzhuang |
CS2113-W10-2 DG PR |
CS2113T-T09-2 DG PR |
CS2113-W10-3 DG PR |
bryanwhl |
CS2113-W10-2 DG PR |
CS2113T-T09-2 DG PR |
CS2113-W10-3 DG PR |
AlexanderTanJunAn |
CS2113-W10-2 DG PR |
CS2113T-T09-2 DG PR |
CS2113-W10-3 DG PR |
blank-bank |
CS2113-W10-2 DG PR |
CS2113T-T09-2 DG PR |
CS2113-W10-3 DG PR |
NoorSarrah |
CS2113-W10-3 DG PR |
CS2113T-T09-2 DG PR |
CS2113T-T09-1 DG PR |
MingShun98 |
CS2113-W10-3 DG PR |
CS2113T-T09-3 DG PR |
CS2113T-F08-1 DG PR |
Chiamjiaen |
CS2113-W10-3 DG PR |
CS2113T-T09-3 DG PR |
CS2113T-F08-1 DG PR |
huachen24 |
CS2113-W10-3 DG PR |
CS2113T-T09-3 DG PR |
CS2113T-F08-1 DG PR |
jhjhajh |
CS2113-W10-3 DG PR |
CS2113T-T09-3 DG PR |
CS2113T-F08-1 DG PR |
EmilyTJX |
CS2113T-F08-1 DG PR |
CS2113T-T09-4 DG PR |
CS2113-W10-1 DG PR |
Krithigha24 |
CS2113T-F08-1 DG PR |
CS2113T-T09-4 DG PR |
CS2113T-F08-2 DG PR |
BlubberMonster |
CS2113T-F08-1 DG PR |
CS2113T-T09-4 DG PR |
CS2113T-F08-2 DG PR |
hazelhedmine |
CS2113T-F08-1 DG PR |
CS2113T-T09-4 DG PR |
CS2113T-F08-2 DG PR |
nivikcivik |
CS2113T-F08-1 DG PR |
CS2113T-T09-4 DG PR |
CS2113T-F08-2 DG PR |
liping-eng |
CS2113T-F08-2 DG PR |
CS2113T-W09-1 DG PR |
CS2113T-T09-2 DG PR |
JonathanKhooTY |
CS2113T-F08-2 DG PR |
CS2113T-W09-1 DG PR |
CS2113T-F08-3 DG PR |
iamakilahamed |
CS2113T-F08-2 DG PR |
CS2113T-W09-1 DG PR |
CS2113T-F08-3 DG PR |
hussain1998 |
CS2113T-F08-2 DG PR |
CS2113T-W09-1 DG PR |
CS2113T-F08-3 DG PR |
limwenfeng |
CS2113T-F08-2 DG PR |
CS2113T-W09-1 DG PR |
CS2113T-F08-3 DG PR |
sarzorwyn |
CS2113T-F08-3 DG PR |
CS2113T-W09-2 DG PR |
CS2113T-F08-4 DG PR |
wjchoi0712 |
CS2113T-F08-3 DG PR |
CS2113T-W09-2 DG PR |
CS2113T-F08-4 DG PR |
Rye98 |
CS2113T-F08-3 DG PR |
CS2113T-W09-2 DG PR |
CS2113T-F08-4 DG PR |
Rizavur |
CS2113T-F08-3 DG PR |
CS2113T-W09-2 DG PR |
CS2113T-F08-4 DG PR |
SimBowen |
CS2113T-F08-4 DG PR |
CS2113T-W09-2 DG PR |
CS2113T-T09-1 DG PR |
KimIdeas8 |
CS2113T-F08-4 DG PR |
CS2113T-W09-3 DG PR |
CS2113T-T09-1 DG PR |
fangxinjia0203 |
CS2113T-F08-4 DG PR |
CS2113T-W09-3 DG PR |
CS2113T-T09-1 DG PR |
soepaingzaw |
CS2113T-F08-4 DG PR |
CS2113T-W09-3 DG PR |
CS2113T-T09-1 DG PR |
rageqqq |
CS2113T-T09-1 DG PR |
CS2113T-W09-3 DG PR |
CS2113-W10-3 DG PR |
douglaslewpc |
CS2113T-T09-1 DG PR |
CS2113T-W09-3 DG PR |
CS2113T-T09-2 DG PR |
Cocokkkk |
CS2113T-T09-1 DG PR |
CS2113T-W09-4 DG PR |
CS2113T-T09-2 DG PR |
951553394 |
CS2113T-T09-1 DG PR |
CS2113T-W09-4 DG PR |
CS2113T-T09-2 DG PR |
zikunz |
CS2113T-T09-1 DG PR |
CS2113T-W09-4 DG PR |
CS2113T-T09-2 DG PR |
ongweisheng |
CS2113T-T09-2 DG PR |
CS2113T-W09-4 DG PR |
CS2113T-F08-2 DG PR |
E00426142 |
CS2113T-T09-2 DG PR |
CS2113T-W09-4 DG PR |
CS2113T-T09-3 DG PR |
gerardtwk |
CS2113T-T09-2 DG PR |
CS2113-F10-1 DG PR |
CS2113T-T09-3 DG PR |
LeeHanYongAndy |
CS2113T-T09-2 DG PR |
CS2113-F10-1 DG PR |
CS2113T-T09-3 DG PR |
jonahtwl |
CS2113T-T09-2 DG PR |
CS2113-F10-1 DG PR |
CS2113T-T09-4 DG PR |
tzexern |
CS2113T-T09-3 DG PR |
CS2113-F10-1 DG PR |
CS2113T-T09-4 DG PR |
marklowsk |
CS2113T-T09-3 DG PR |
CS2113-F10-2 DG PR |
CS2113T-T09-4 DG PR |
kewenlok |
CS2113T-T09-3 DG PR |
CS2113-F10-2 DG PR |
CS2113T-T09-4 DG PR |
LJ-37 |
CS2113T-T09-3 DG PR |
CS2113-F10-2 DG PR |
CS2113T-T09-4 DG PR |
oscarlai1998 |
CS2113T-T09-4 DG PR |
CS2113-F10-2 DG PR |
CS2113T-T09-3 DG PR |
fupernova |
CS2113T-T09-4 DG PR |
CS2113-F10-3 DG PR |
CS2113T-W09-1 DG PR |
xseh |
CS2113T-T09-4 DG PR |
CS2113-F10-3 DG PR |
CS2113T-W09-1 DG PR |
ivanchongzhien |
CS2113T-T09-4 DG PR |
CS2113-F10-3 DG PR |
CS2113T-W09-1 DG PR |
H-horizon |
CS2113T-T09-4 DG PR |
CS2113-F10-3 DG PR |
CS2113T-W09-1 DG PR |
isaharon |
CS2113T-W09-1 DG PR |
CS2113-T10-1 DG PR |
CS2113T-W09-2 DG PR |
aliciatay-zls |
CS2113T-W09-1 DG PR |
CS2113-T10-1 DG PR |
CS2113T-W09-2 DG PR |
8kdesign |
CS2113T-W09-1 DG PR |
CS2113-T10-1 DG PR |
CS2113T-W09-2 DG PR |
brandonfoong |
CS2113T-W09-1 DG PR |
CS2113-T10-1 DG PR |
CS2113T-W09-2 DG PR |
hiongkaihan |
CS2113T-W09-1 DG PR |
CS2113-T10-1 DG PR |
CS2113T-W09-2 DG PR |
leowxx |
CS2113T-W09-2 DG PR |
CS2113-T10-2 DG PR |
CS2113T-W09-1 DG PR |
fsgmhoward |
CS2113T-W09-2 DG PR |
CS2113-T10-2 DG PR |
CS2113T-W09-3 DG PR |
Emkay16 |
CS2113T-W09-2 DG PR |
CS2113-T10-2 DG PR |
CS2113T-W09-3 DG PR |
-
Decide which of the given team(s) to review:
- Open the DG link of the team allocated as 'First choice'.
- Confirm that the DG has significant updates, to the diagrams in particular. If it doesn't, you can try the DG of the 'Second choice' team, and failing that, 'Third choice' team.
- If neither one of the three has enough updates but collectively they have enough updates, you can also review all of them.
- Failing all above, you can pick any other team(s) to review.
- Try to give at least 4 comments in total.
- If the PR already has reviews, you can give your own input of the existing review comments too.
-
Go to the PR of the team(s) you have chosen to review.
-
Review the
Design
and theImplementation
sections w.r.t possible DG bugs (given further down); add your observations as comments.
- In the PR, add review comments (i.e., in the files changed tab) in the corresponding place of the code.
- In this case, choose the option rather than option.
- But if the 'files changed' tab is too laggy, you can add a normal comment instead in the conversation tab.
- In this case, enter each observation as a separate comment (reason: our bot will count the number of comments you have given to determine if you qualify for participation points)
- As you know, it is better to phrase your comments as question/doubts (e.g.,
Is this format correct? Should it be ... instead?
) rather than directives (e.g.,Change this to ...
).
Where possible, use screenshots from their DG in your comments, preferably with annotations. This is particularly useful when commenting on diagrams. An example given below:
- The understanding you gain from this exercise can indirectly determine how well you do in your own project. Note that your comments will be reviewed by a tutor later.
DG - Possible Bugs
Pay attention to these as they are same as the final evaluation criteria of the DG.
Admin tP Grading → DG Bugs → UML Diagrams → Possible Bugs
UML diagrams:
- Notation incorrect or not compliant with the notation covered in the module.
- Some other type of diagram used when a UML diagram would have worked just as well.
- The diagram used is not suitable for the purpose it is used.
- The diagram is too complicated.
Admin tP Grading → General Documentation Bugs
Use of visuals
- Not enough visuals e.g., screenshots/diagrams
- The visuals are not well integrated to the explanation
- The visuals are unnecessarily repetitive e.g., same visual repeated with minor changes
Use of examples:
- Not enough or too many examples e.g., sample inputs/outputs
Explanations:
- The explanation is too brief or unnecessarily long.
- The information is hard to understand for the target audience. e.g., using terms the reader might not know
Neatness/correctness:
- looks messy
- not well-formatted
- broken links, other inaccuracies, typos, etc.
- hard to read/understand
- unnecessary repetitions (i.e., hard to see what's similar and what's different)
Also see:
Admin tP: Deliverables → DG → Tips
- Aim to showcase your documentation skills. The stated objective of the DG is to explain the implementation to a future developer, but a secondary objective is to serve as evidence of your ability to document deeply-technical content using prose, examples, diagrams, code snippets, etc. appropriately. To that end, you may also describe features that you plan to implement in the future, even beyond v2.1 (hypothetically).
For an example, see the description of the undo/redo feature implementation in the AddressBook-Level3 developer guide. - Use multiple UML diagram types. Following from the point above, try to include UML diagrams of multiple types to showcase your ability to use different UML diagrams.
- Diagramming tools:
- AB3 uses PlantUML (see the guide Using PlantUML @SE-EDU/guides for more info).
- You may use any other tool too (e.g., PowerPoint). But if you do, note the following:
- Choose a diagramming tool that has some 'source' format that can be version-controlled using git and updated incrementally (reason: because diagrams need to evolve with the code that is already being version controlled using git). For example, if you use PowerPoint to draw diagrams, also commit the source PowerPoint files so that they can be reused when updating diagrams later.
- Use the same diagramming tool for the whole project, except in cases for which there is a strong need to use a different tool due to a shortcoming in the primary diagramming tool. Do not use a mix of different tools simply based on personal preferences.
- Can i.e., automatically reverse engineered from the Java codeIDE-generated UML diagrams be used in project submissions? Not a good idea. Given below are three reasons each of which can be reported by evaluators as 'bugs' in your diagrams, costing you marks:
- They often don't follow the standard UML notation (e.g., they add extra icons).
- They tend to include every little detail whereas we want to limit UML diagrams to important details only, to improve readability.
- Diagrams reverse-engineered by an IDE might not represent the actual design as some design concepts cannot be deterministically identified from the code. e.g., differentiating between multiplicities
0..1
vs1
, composition vs aggregation
- AB3 uses PlantUML (see the guide Using PlantUML @SE-EDU/guides for more info).
- Keep diagrams simple. The aim is to make diagrams comprehensible, not necessarily comprehensive.
Ways to simplify diagrams:- Omit less important details. Examples:
- a class diagram can omit minor utility classes, private/unimportant members; some less-important associations can be shown as attributes instead.
- a sequence diagram can omit less important interactions, self-calls.
- Omit repetitive details e.g., a class diagram can show only a few representative ones in place of many similar classes (note how the
AB3 Logic class diagram shows concrete*Command
classes using a placeholderXYZCommand
). - Limit the scope of a diagram. Decide the purpose of the diagram (i.e., what does it help to explain?) and omit details not related to it.
- Break diagrams into smaller fragments when possible.
- If a component has a lot of classes, consider further dividing into sub-components (e.g., a Parser sub-component inside the Logic component). After that, sub-components can be shown as black-boxes in the main diagram and their details can be shown as separate diagrams.
- You can use
ref
frames to break sequence diagrams to multiple diagrams.
- Use visual representations as much as possible. E.g., show associations and navigabilities using lines and arrows connecting classes, rather than adding a variable in one of the classes.
- For some more examples of what NOT to do, see
here .
- Omit less important details. Examples:
- Integrate diagrams into the description. Place the diagram close to where it is being described.
- Use code snippets sparingly. The more you use code snippets in the DG, and longer the code snippet, the higher the risk of it getting outdated quickly. Instead, use code snippets only when necessary and cite only the strictly relevant parts only. You can also use pseudo code instead of actual programming code.
- Resize diagrams so that the text size in the diagram matches the the text size of the main text of the diagram. See
example .
These class diagrams seem to have lot of member details, which can get outdated pretty quickly:
This class diagram seems to have too many classes:
These sequence diagrams are bordering on 'too complicated':
In this negative example, the text size in the diagram is much bigger than the text size used by the document:
It will look more 'polished' if the two text sizes match.
delete
command
- After the tutorial, if you are unsure about a concern raised by a reviewer, you can post in the forum to seek the opinion of the teaching team.