5 exercises — forming and using abstract nouns like scalability, maintainability, and observability in professional IT contexts.
0 / 45 completed
1 / 45
Which sentence correctly uses an abstract noun formed from the adjective "scalable"?
Scalability is a noun formed from the adjective "scalable" using the suffix -ity. It refers to the capacity of a system to handle increased load. Option B uses it correctly as the object of the verb "improving". Option A tries to use it as a predicate adjective (wrong — "scalable" is the adjective). Option C invents a verb form. Option D invents a past-tense verb. Common abstract nouns in IT formed with -ity: scalability, reliability, maintainability, observability, configurability, availability, interoperability.
2 / 45
A team is writing a systems design doc. Which version uses abstract noun formation correctly?
Maintainability (adjective "maintainable" + suffix -ity) is the correct abstract noun. It describes how easy a system is to maintain, update, and debug. Option A uses the adjective where a noun is needed. Option B drops the article and uses the adjective as a noun incorrectly. Option D invents a verb. In technical documentation, abstract nouns allow you to discuss qualities as concepts: "We must prioritise maintainability, observability, and reliability in this design."
3 / 45
Which abstract noun is formed correctly from the verb "observe"?
Observability is the standard term in IT, derived from "observable" (adjective) + -ity. It refers to how well the internal state of a system can be inferred from its external outputs (metrics, logs, traces). Option C uses "observance", which means compliance with a rule or custom — not a technical term. Option D uses "observation" which can refer to an act of observing but is not the accepted engineering term for this concept. "Observability" is used specifically in SRE and platform engineering to describe telemetry capabilities.
4 / 45
Choose the sentence where the abstract noun is used with the correct article or determiner.
"The reliability" is correct. Abstract nouns like reliability, scalability, and maintainability are uncountable nouns. They use the when referring to a specific instance ("the reliability of this system") and no article when used generally ("Reliability is important"). Option A incorrectly uses "a" — uncountable nouns do not take the indefinite article. Option B incorrectly pluralises an uncountable noun. Option D uses the adverb "reliably" (wrong part of speech) instead of the noun. Remember: reliability, availability, durability, configurability — all uncountable.
5 / 45
Which sentence correctly uses the abstract noun "configurability" in a technical context?
Option B uses "configurability" correctly as a subject noun: it refers to the quality or degree to which a system can be configured. Option A should use the adjective "configurable" after the linking verb "is". Option C uses "configurability" as an adjective modifying "engineer" — wrong. Option D invents a verb. Abstract nouns in IT act as subject or object: "Configurability reduces operational overhead." "We should prioritise configurability in our API design." The suffix chain is: configure (verb) → configurable (adjective) → configurability (noun).
6 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
7 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
8 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
9 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
10 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
11 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
12 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
13 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
14 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
15 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
16 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
17 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
18 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
19 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
20 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
21 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
22 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
23 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
24 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
25 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
26 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
27 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
28 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
29 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
30 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
31 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
32 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
33 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
34 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
35 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
36 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
37 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
38 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
39 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
40 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
41 / 45
PR #1234: "Implemented new caching layer to improve API response times. This has significantly reduced server load."
This question tests your understanding of using abstract nouns to describe technical outcomes. 'Performance' refers to a tangible metric (e.g., response time), while 'response_times,' 'server_load,' and 'efficient solution' are concrete descriptions of the implementation. The correct answer uses 'performance' as an abstract noun representing the overall positive result, which is common in code review comments and PR descriptions – developers often discuss *improvements* rather than specific technical details.
42 / 45
PR #5678: "The team is focusing on enhancing the robustness of the microservice architecture. We're implementing circuit breakers and rate limiting to mitigate cascading failures."
This question tests understanding of abstract nouns derived from adjectives. While 'stability' might also be relevant, 'robustness' is the standard technical term used to describe an architecture's ability to withstand stress and errors – a key concept in distributed systems design. The incorrect options highlight common misconceptions: simply stating it's 'acceptable' without explanation misses the nuance of the term, while suggesting 'stability' ignores the core meaning of resilience. Choosing option 4 shows awareness that context is important; robustness *is* appropriate but needs further elaboration.
43 / 45
PR #9012: "The automated tests uncovered a critical race condition in the data processing pipeline. We've implemented a queuing system to handle spikes in demand and prevent data loss. The resulting stability is a key improvement."
This question focuses on understanding how abstract nouns are used to describe *qualities* of a system rather than actions. 'Robustness' refers to the inherent strength and resilience of the architecture in the face of challenges – it's a characteristic, not an action being performed. The other options all refer to processes or features, while 'robustness' correctly describes the outcome of the implemented changes. A common mistake is to use verbs like 'improving' when describing a desirable system property.
44 / 45
During a code review of PR #7890, Sarah commented: 'The design lacks *resilience* – we're assuming the database will always be available. This isn't a realistic assumption given our current infrastructure.' Which of the following best explains why Sarah used the abstract noun 'resilience' in this way?
Sarah correctly used 'resilience' as an abstract noun referring to the system's capacity to handle adversity. The key point is that 'resilience' in this context isn't about physical components but rather the *behavior* of the software – its ability to recover and continue functioning during errors or stress. A common misconception is to think of it as a hardware characteristic, or a cost metric; instead, it represents a design principle for robust systems.
45 / 45
PR #3456: "The developer has prioritized *performance* over security. While the code executes quickly, there are several potential vulnerabilities that need addressing. We've flagged this for immediate remediation."
This question tests understanding of using abstract nouns to describe software qualities. 'Performance' in this context isn't referring to a specific benchmark value (like 10ms latency), but rather the overall quality of speed and efficiency. Often, developers use abstract nouns like 'performance,' 'security,' or 'scalability' to discuss desired characteristics of their code, even if they aren't directly measurable.
What will I practise in "Abstract Nouns in Technical English — Grammar Exercise"?
Practice forming and using abstract nouns in IT English: scalability, maintainability, reliability, observability, configurability. 5 interactive exercises.
How many exercises are in this module?
This module has 45 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the grammar rule and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Grammar exercises?
Browse the full Grammar hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain grammar rules in prose; this exercise tests and reinforces those rules through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.