part-1-hobbies-leisure-activities-practice
/* Basic Reset & Body Styling */ body { font-family: 'Inter', sans-serif; line-height: 1.6; color: #333; margin: 0; padding: 0; background-color: #f8f8f8; } /* Main Layout Container */…
) */
.faq-section {
margin-top: 40px;
padding: 20px;
background-color: #f9f9f9;
border-radius: 12px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.faq-section h3 {
text-align: center;
color: #000;
margin-bottom: 25px;
}
.faq-section details {
background-color: #fff;
border: 1px solid #ddd;
border-radius: 8px;
margin-bottom: 10px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.faq-section summary {
font-weight: bold;
padding: 15px 20px;
cursor: pointer;
color: #333;
list-style: none; /* Hide default arrow */
position: relative;
}
.faq-section summary::marker {
display: none;
}
.faq-section summary::after {
content: '+';
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
font-size: 1.2em;
color: #FBC462;
transition: transform 0.2s ease;
}
.faq-section details[open] summary::after {
content: '-';
transform: translateY(-50%) rotate(0deg); /* No rotation needed for '-' */
}
.faq-section details[open] summary {
border-bottom: 1px solid #eee;
}
.faq-section details p {
padding: 10px 20px 15px 20px;
margin: 0;
font-size: 0.95em;
color: #555;
}
/* Related Guides Carousel */
.carousel-container {
margin-top: 40px;
overflow: hidden;
padding: 40px 30px;
background-color: #f5f5f1;
border-radius: 12px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
position: relative;
}
.carousel-title {
text-align: center;
color: #000;
margin-bottom: 25px;
font-size: 1.8em;
font-weight: 700;
}
.carousel-wrapper {
display: flex;
justify-content: flex-start;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
padding: 0 10px;
scroll-snap-type: x mandatory;
gap: 30px;
}
.carousel-item {
flex: 0 0 auto;
width: 300px;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
scroll-snap-align: start;
transition: transform 0.3s ease;
display: flex;
flex-direction: column;
}
.carousel-item:hover {
transform: translateY(-5px);
}
.carousel-item h4 {
color: #000;
margin-top: 0;
font-size: 1.2em;
min-height: 50px;
}
.carousel-item p {
font-size: 0.9em;
color: #555;
min-height: 80px;
flex-grow: 1;
}
.carousel-item a {
display: inline-block;
background-color: #000;
color: #fff;
padding: 8px 15px;
border-radius: 8px;
text-decoration: none;
margin-top: 10px;
transition: background-color 0.3s ease;
font-weight: 600;
}
.carousel-item a:hover {
background-color: #FBC462;
color: #000;
}
.carousel-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.6);
color: #fff;
border: none;
padding: 10px 15px;
cursor: pointer;
font-size: 1.5em;
border-radius: 50%;
z-index: 10;
transition: background-color 0.3s ease;
}
.carousel-button:hover {
background-color: rgba(0, 0, 0, 0.8);
}
.carousel-button.left {
left: 10px;
}
.carousel-button.right {
right: 10px;
}
/* Responsive Adjustments */
@media (max-width: 992px) {
.toc-layout {
flex-direction: column;
margin: 15px auto;
padding: 15px;
}
.toc-sidebar {
position: static;
width: 100%;
margin-right: 0;
margin-bottom: 25px;
max-height: none;
}
.toc-sidebar h3 {
text-align: center;
padding-bottom: 5px;
margin-bottom: 10px;
}
.toc-sidebar ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0 10px;
}
.toc-sidebar ul li {
margin: 5px 8px;
}
.toc-sidebar ul li a {
padding: 6px 12px;
font-size: 0.9em;
text-align: center;
}
.toc-content {
width: 100%;
padding: 15px;
}
.toc-content h1 {
font-size: 2em;
}
.toc-content h2 {
font-size: 1.6em;
}
.toc-content h3 {
font-size: 1.3em;
}
.carousel-item {
width: 280px;
margin: 0 10px;
}
}
@media (max-width: 768px) {
.toc-layout {
margin: 10px;
padding: 10px;
}
.toc-content h1 {
font-size: 1.8em;
}
.toc-content h2 {
font-size: 1.4em;
}
.carousel-wrapper {
flex-wrap: nowrap;
overflow-x: auto;
scroll-snap-type: x mandatory;
}
.carousel-item {
min-width: 85%;
scroll-snap-align: start;
}
.carousel-button {
display: none;
}
.interactive-table-container .table-header {
display: none; /* Hide header on very small screens for simplicity */
}
/* Adjusted styling for details/summary on mobile */
.category-accordion summary.table-row-toggle {
flex-wrap: wrap;
text-align: left;
padding: 12px 15px;
}
.category-accordion summary.table-row-toggle .category-name {
flex-basis: 100%;
margin-bottom: 5px;
font-size: 0.95em;
}
.category-accordion summary.table-row-toggle::after {
position: static; /* Remove absolute positioning */
transform: none; /* Reset transform */
margin-left: auto; /* Push icon to the right */
}
.category-accordion[open] summary.table-row-toggle::after {
transform: none; /* Reset rotation for opened state */
}
.table-details {
padding: 10px;
}
.table-details p, .table-details ul li {
font-size: 0.85em;
}
.calculator-inputs {
align-items: stretch; /* Stretch inputs to full width */
max-width: 100%;
}
.calculator-inputs label,
.calculator-inputs input {
max-width: none; /* Remove max-width on mobile */
}
}
@media (max-width: 480px) {
.toc-sidebar ul li a {
font-size: 0.85em;
padding: 5px 10px;
}
.carousel-item {
min-width: 95%;
}
}
IELTS Speaking Part 1: Hobbies & Leisure Activities - Interactive Practice
Welcome to your dedicated resource for **IELTS Speaking Part 1**, focusing on the popular topic of **Hobbies and Leisure Activities**. This is a common and often enjoyable topic for test-takers, as it allows you to talk about personal interests and experiences. Part 1 of the IELTS Speaking test serves as an introduction, where the examiner asks general questions on familiar subjects to assess your basic communication skills.
Your goal in Part 1 is to provide clear, well-developed answers (typically 2-4 sentences), demonstrating your range of vocabulary and grammatical structures. This page offers a comprehensive collection of **25 common questions**, essential vocabulary, expert tips, and a variety of **interactive exercises** to help you practice and improve across all IELTS criteria, ultimately aiming for a higher band score.
For an overall strategy for the speaking test, explore our main IELTS English Speaking Course page.
Importance of Hobbies & Leisure in IELTS Speaking Part 1
The topic of "Hobbies and Leisure Activities" is almost certainly going to appear in IELTS Speaking Part 1. Here's why preparing for it is highly beneficial:
- Relatable & Personal: Everyone has hobbies or ways they spend their free time, making this topic easy to discuss authentically and with genuine interest.
- Rich Vocabulary Opportunity: It allows you to use a diverse range of vocabulary related to various activities, emotions, and benefits of leisure, which can significantly boost your Lexical Resource score.
- Natural Flow & Fluency: Because it's a topic you're familiar with, you can often speak more naturally and fluently, reducing hesitation and improving your coherence.
- Grammar Variety: Discussing past hobbies, future plans for leisure, or comparing activities can naturally lead to using a variety of tenses and complex sentence structures, enhancing your Grammatical Range & Accuracy.
Mastering this topic can give you a confident start in the test and contribute positively to your overall band score.
[Source: Official IELTS Test Format Guidelines, British Council/IDP Education]
Common Questions on Hobbies & Leisure Activities (25 Questions)
Here are 25 typical questions you might encounter, along with tips on how to approach them:
General Hobbies & Leisure Questions
- 1. What do you do in your free time?
Tip: Start by mentioning your primary hobby or activity.
- 2. How often do you do that activity?
Tip: Use adverbs of frequency (e.g., 'regularly,' 'occasionally,' 'once a week').
- 3. Who do you usually spend your leisure time with?
Tip: Mention friends, family, or if you prefer to be alone.
- 4. Did you have any hobbies when you were a child?
Tip: Use past simple tense to describe childhood activities.
- 5. How have your hobbies changed since your childhood?
Tip: Compare past and present interests, explaining why they changed.
- 6. Do you prefer to spend your leisure time alone or with others?
Tip: State your preference and give a reason.
- 7. What are the benefits of having a hobby?
Tip: Discuss personal growth, stress relief, social connections, etc.
- 8. Is it important to have a balance between work/study and leisure?
Tip: Give your opinion and elaborate on the importance of balance.
- 9. Do you think people have enough leisure time nowadays?
Tip: Discuss modern lifestyles and the challenges of finding free time.
- 10. What new hobby would you like to try in the future?
Tip: Mention a specific activity and why it interests you.
- 11. Do you think hobbies should be educational?
Tip: Give your opinion and explain whether hobbies need to teach something.
- 12. What's a popular leisure activity in your country?
Tip: Mention a common pastime and briefly describe it.
- 13. How do you relax after a long day?
Tip: Describe your preferred method of unwinding.
Specific Hobbies & Activities Questions
- 14. Do you enjoy reading? What kind of books do you read?
Tip: Mention genres you like and perhaps a recent book.
- 15. Do you like playing sports? Which ones?
Tip: Name specific sports you play or follow.
- 16. Do you enjoy listening to music? What kind of music do you like?
Tip: Discuss genres, artists, or when/where you listen.
- 17. Do you like watching movies or TV shows? What's your favorite genre?
Tip: Mention preferred genres and perhaps a favorite film/show.
- 18. Do you enjoy cooking or baking?
Tip: Talk about your experience, favorite dishes, or why you enjoy it.
- 19. Do you like spending time outdoors? What outdoor activities do you do?
Tip: Mention hiking, cycling, gardening, etc.
- 20. Do you like playing video games? What kind of games do you play?
Tip: Discuss genres or specific games.
- 21. Do you enjoy photography or other creative hobbies?
Tip: Describe your creative pursuits and what you like about them.
- 22. How important is travel to you as a leisure activity?
Tip: Discuss your passion for travel, memorable trips, or future plans.
- 23. Do you prefer active or passive leisure activities?
Tip: State your preference (e.g., sports vs. reading) and explain why.
- 24. What role does social media play in your leisure time?
Tip: Discuss how you use it for entertainment or connecting with interests.
- 25. Do you think hobbies can help people learn new skills? How?
Tip: Give examples of skills learned through hobbies.
For more specific practice questions across various topics, check out our comprehensive IELTS Speaking Q&A section.
Vocabulary Boosters for Hobbies & Leisure
To impress the examiner, use a wide range of relevant vocabulary. Here's a list of words and phrases related to 'Hobbies & Leisure' that can help you sound more natural and precise. Try to incorporate these into your practice answers.
Hobbies & Leisure Vocabulary
- Types of Hobbies: reading, painting, drawing, photography, cooking, baking, gardening, hiking, cycling, swimming, playing sports (e.g., football, basketball, tennis), video gaming, board games, collecting (stamps, coins), knitting, crafting, playing musical instruments, singing, dancing, writing, volunteering.
- Describing Hobbies: engaging, captivating, relaxing, therapeutic, stimulating, challenging, rewarding, fulfilling, creative, active, passive, solitary, social, time-consuming, inexpensive, affordable, seasonal.
- Related Concepts: free time, spare time, downtime, leisure activities, pastime, recreation, unwinding, de-stressing, pursuing an interest, taking up a hobby, getting into something, a keen interest in, a passion for, a great way to.
- Phrases: to unwind and relax, to clear my head, to recharge my batteries, to keep fit, to stay active, to express creativity, to broaden my horizons, to pick up a new skill, to spend quality time, to escape from reality.
Expanding your lexical resource is key for higher band scores. Consider exploring our full list of Vocabulary Words for IELTS.
Grammar & Fluency Tips for Part 1
Beyond vocabulary, how you structure your answers and how smoothly you speak are critical.
- Extend Your Answers: Don't give one-word answers. Aim for 2-4 sentences. Use the EEE technique:
- **E**xplain (your direct answer)
- **E**xpand (add a detail or reason)
- **E**xample (give a brief personal example or illustration)
Example: "Do you have a large family?"
* "No, I have a quite a small family. (Explain) It's just my parents, my younger sister, and me. (Expand) This means we are a very close-knit family, and we spend a lot of quality time together. (Example)"
- Use Linking Words/Phrases: This improves coherence. Examples: "well," "actually," "to be honest," "I suppose," "as for me," "for instance," "in my opinion."
- Vary Sentence Structure: Mix simple and compound sentences.
- Maintain a Natural Pace: Don't rush or speak too slowly. Aim for a comfortable, conversational speed.
- Self-Correction: It's okay to correct small mistakes. It shows awareness.
For more general tips that apply across all parts of the test, visit our IELTS Tips and Strategies page.
Interactive Exercises
Interactive Practice: Hobbies & Leisure Skills
Test your understanding of vocabulary, grammar, coherence, and pronunciation related to Hobbies and Leisure with these interactive exercises!
📘 Section 1: Vocabulary Booster
1.1 Synonym Match
What is a synonym for "engaging" when describing a hobby?
1.2 Collocation Quiz
Choose the correct word to complete the collocation: "to play ______".
1.3 Fill in the Blanks (Vocabulary)
My favorite leisure is reading novels.
🧠 Section 2: Grammar Range & Accuracy
2.1 Error Correction
Identify and correct the error: "She enjoy reading books."
2.2 Sentence Transformation
Rewrite using 'despite': "Although it was raining, we went for a walk."
Despite , we went for a walk.
2.3 Combine Sentences
Combine using 'and': "I love hiking. I also love camping."
I love hiking camping.
🔗 Section 3: Fluency & Coherence
3.1 Sentence Ordering
Order these sentences to form a coherent paragraph:
3.2 Connectors Gap-Fill
I enjoy sports. , I also like reading.
3.3 Logical Paragraph Practice
Read the paragraph and choose the best concluding sentence:
"Reading is my favorite way to relax. I often spend hours immersed in a good book. It allows me to escape from daily stresses."
📚 Section 4: Pronunciation (Spelling/Word Form Practice)
4.1 Word Stress Quiz
Which syllable is stressed in the word "ac-TI-vi-ty"?
4.2 Homophone Fill-in-the-Blank
I like to my free time. (choose between 'waste' or 'waist')
4.3 Syllable Sort
How many syllables are in the word "hobby"?
✍️ Section 5: Build Your Own Answer
Practice answering full IELTS Part 1 questions and get feedback on your response. Focus on applying what you've learned!
Question 1/3:
What do you do in your free time?
How to Practice Effectively
To make the most of this page and prepare for your IELTS Speaking test, follow these steps:
- Understand the Criteria: Familiarize yourself with the four marking criteria (Fluency & Coherence, Lexical Resource, Grammatical Range & Accuracy, Pronunciation).
- Study the Vocabulary: Go through the vocabulary lists provided. Try to incorporate new words and phrases naturally into your answers.
- Practice Answering Questions Aloud: Even though the interactive exercises are text-based, the real test is spoken. Practice answering the "Common Questions" section out loud, recording yourself if possible.
- Use the Interactive Exercises: Engage with all 12 types of exercises to strengthen specific areas. Pay attention to the feedback provided.
- Utilize "Build Your Own Answer": This section is crucial. Type out your full answers and use the feedback to refine your responses based on the IELTS criteria.
- Review Sample Answers: Compare your answers to the provided sample answers to identify areas for improvement in structure, vocabulary, and grammar.
- Seek Human Feedback: If possible, practice with a native speaker, an IELTS tutor, or a study partner who can provide honest feedback on your *spoken* responses.
- Time Yourself: For Part 1, aim for answers that are 2-4 sentences long. Practice keeping your answers concise yet informative.
Common Mistakes & How to Avoid Them
Be aware of these common pitfalls when discussing 'Hobbies & Leisure' in IELTS Part 1:
- Giving One-Word Answers: Avoid simply saying "Yes" or "No." Always extend your answer with a reason or an example.
Instead of: "Do you like reading? Yes."
Try: "Yes, I really enjoy reading because it helps me relax and learn new things."
- Over-explaining/Monologuing: Part 1 requires concise answers. Don't go into too much detail as if it's Part 2 or 3.
Correction: Stick to 2-4 sentences per answer.
- Using Overly Complex Vocabulary Incorrectly: It's better to use simpler vocabulary correctly than to misuse advanced words.
Correction: Focus on accuracy first, then expand your range.
- Grammar Mistakes (especially tenses): Ensure you use appropriate tenses (e.g., present simple for current hobbies, past simple for childhood hobbies).
Correction: Review basic grammar rules and practice constructing correct sentences.
- Lack of Cohesion: Not using linking words or logical connectors makes your answers sound disjointed.
Correction: Practice using phrases like "however," "therefore," "in addition," "for instance."
- Memorizing Answers: Examiners can spot memorized answers easily. Your speech should sound natural and spontaneous.
Correction: Understand the questions and practice generating ideas, not memorizing full answers.
Frequently Asked Questions (FAQs)
Your Questions Answered
How long should my answers be in IELTS Speaking Part 1?
Aim for 2-4 sentences per answer. This allows you to explain and expand without giving an overly long monologue. It's about quality and clarity, not quantity.
Is it okay to talk about a unique or unusual hobby?
Absolutely! Talking about a unique hobby can make your answer more interesting. Just be prepared to explain it clearly and simply, in case the examiner is not familiar with it.
What if I don't have many hobbies?
It's fine. You can talk about simple activities you enjoy, even if they don't seem like "hobbies." For example, 'I enjoy spending time with my family,' or 'I like watching documentaries in my free time.' You can also mention activities you *used* to do or *would like* to try.
Should I use specific names of books, movies, or games?
You can, but don't rely on them. The examiner is assessing your English, not your knowledge of specific titles. If you mention a title, quickly explain why you like it or what it's about, demonstrating your language skills.
How can I make my answers sound more natural?
Use common phrases related to leisure (e.g., 'unwind and relax,' 'recharge my batteries'), linking words, and varied sentence structures. Practice speaking about your activities as if you're having a casual conversation, focusing on clear and concise explanations.
How important is pronunciation when discussing hobbies?
Pronunciation is crucial for all topics. Ensure your key vocabulary related to hobbies and leisure (e.g., 'leisure,' 'photography,' 'activity') is clear. While accent is not graded, intelligibility is key. Practice word stress and intonation for natural delivery.
Conclusion
Mastering IELTS Speaking Part 1, especially on common topics like Hobbies and Leisure Activities, is fundamental to achieving a high band score. By understanding the examiner's criteria, expanding your vocabulary, practicing grammatical accuracy, and enhancing your fluency, you can confidently navigate this section of the test.
The interactive exercises on this page are designed to give you targeted practice in key areas. Remember to combine these text-based exercises with actual spoken practice to fully prepare for the dynamic nature of the IELTS Speaking test. Keep practicing, and you'll be well on your way to success!
Explore More IELTS Speaking Guides
IELTS Speaking Part 1: Work/Study Practice
Practice common questions about your job or academic life with vocabulary and tips.
Start Practice
IELTS Speaking Part 1: Home Practice
Practice common questions about your home and living situation with vocabulary and tips.
Start Practice
IELTS Speaking Part 1: Weather Practice
Master questions about weather and climate with essential vocabulary and sample answers.
Start Practice
IELTS Speaking Part 1: Hometown Practice
Prepare for questions about your hometown, its features, and what you like about it.
Start Practice
IELTS Speaking Part 2: Long Turn Strategy
Understand how to speak for 1-2 minutes on a given topic using cue cards.
Learn More
// --- Data for all exercises ---
// Section 1: Vocabulary Booster
const synonymQuestions = [
{ q: 'What is a synonym for "engaging" when describing a hobby?', options: ['boring', 'captivating', 'dull', 'tiring'], a: 'captivating' },
{ q: 'Choose the synonym for "relaxing" when talking about leisure.', options: ['stressful', 'calming', 'demanding', 'active'], a: 'calming' },
{ q: 'What is a synonym for "pursue" in the context of a hobby?', options: ['abandon', 'engage in', 'avoid', 'ignore'], a: 'engage in' },
{ q: 'Which word is a synonym for "passion" (as in a strong interest)?', options: ['disinterest', 'apathy', 'enthusiasm', 'boredom'], a: 'enthusiasm' },
{ q: 'What is a synonym for "diverse" when describing hobbies?', options: ['uniform', 'varied', 'similar', 'monotonous'], a: 'varied' },
{ q: 'Synonym for "therapeutic" activity?', options: ['harmful', 'healing', 'stressful', 'damaging'], a: 'healing' },
{ q: 'Synonym for "stimulating" pastime?', options: ['dull', 'exciting', 'boring', 'tedious'], a: 'exciting' },
{ q: 'Synonym for "ardent" fan?', options: ['indifferent', 'passionate', 'mild', 'lukewarm'], a: 'passionate' },
{ q: 'Synonym for "recreation"?', options: ['work', 'leisure', 'duty', 'chore'], a: 'leisure' },
{ q: 'Synonym for "unwind"?', options: ['stress', 'relax', 'tighten', 'tense'], a: 'relax' },
{ q: 'Synonym for "pastime"?', options: ['job', 'hobby', 'task', 'obligation'], a: 'hobby' },
{ q: 'Synonym for "solitary" activity?', options: ['group', 'individual', 'social', 'team'], a: 'individual' },
{ q: 'Synonym for "arduous" task (if a hobby becomes difficult)?', options: ['easy', 'difficult', 'simple', 'light'], a: 'difficult' },
{ q: 'Synonym for "immerse" oneself in a hobby?', options: ['detach', 'engage', 'withdraw', 'ignore'], a: 'engage' },
{ q: 'Synonym for "meticulous" hobby (e.g., model building)?', options: ['careless', 'precise', 'sloppy', 'haphazard'], a: 'precise' },
{ q: 'Synonym for "dedicate" time to a hobby?', options: ['neglect', 'commit', 'waste', 'ignore'], a: 'commit' },
{ q: 'Synonym for "cultivate" a skill (in a hobby)?', options: ['neglect', 'develop', 'destroy', 'abandon'], a: 'develop' },
{ q: 'Synonym for "interact" (in social hobbies)?', options: ['isolate', 'communicate', 'avoid', 'separate'], a: 'communicate' },
{ q: 'Synonym for "captivate" (e.g., a story in a game)?', options: ['bore', 'fascinate', 'repel', 'tire'], a: 'fascinate' },
{ q: 'Synonym for "frequent" (e.g., a frequent activity)?', options: ['rare', 'common', 'uncommon', 'seldom'], a: 'common' }
];
let currentSynonymIndex = 0;
const collocationQuestions = [
{ q: 'Choose the correct word to complete the collocation: "to play ______".', options: ['sports', 'books', 'music', 'food'], a: 'sports' },
{ q: 'Which verb collocates with "book"? "to read a ______".', options: ['game', 'movie', 'book', 'song'], a: 'book' },
{ q: 'Complete the collocation: "to spend ______".', options: ['money', 'time', 'work', 'food'], a: 'time' },
{ q: 'Which word collocates with "hobby"? "to take up a new ______".', options: ['job', 'hobby', 'task', 'chore'], a: 'hobby' },
{ q: 'Complete the collocation: "to go ______".', options: ['swimming', 'reading', 'cooking', 'sleeping'], a: 'swimming' },
{ q: 'To ______ a musical instrument.', options: ['play', 'sing', 'listen', 'watch'], a: 'play' },
{ q: 'To ______ stress.', options: ['increase', 'reduce', 'add', 'create'], a: 'reduce' },
{ q: 'To ______ fit.', options: ['get', 'lose', 'make', 'do'], a: 'get' },
{ q: 'To ______ batteries.', options: ['charge', 'recharge', 'empty', 'fill'], a: 'recharge' },
{ q: 'To ______ horizons.', options: ['narrow', 'broaden', 'limit', 'restrict'], a: 'broaden' },
{ q: 'To ______ up a skill.', options: ['lose', 'pick', 'drop', 'forget'], a: 'pick' },
{ q: 'To ______ quality time.', options: ['waste', 'spend', 'lose', 'save'], a: 'spend' },
{ q: 'To ______ from reality.', options: ['face', 'escape', 'confront', 'stay'], a: 'escape' },
{ q: 'To ______ a club/group.', options: ['leave', 'join', 'quit', 'avoid'], a: 'join' },
{ q: 'To ______ a collection.', options: ['start', 'finish', 'destroy', 'abandon'], a: 'start' },
{ q: 'To ______ a new recipe.', options: ['cook', 'follow', 'eat', 'buy'], a: 'cook' },
{ q: 'To ______ a marathon.', options: ['run', 'walk', 'sit', 'watch'], a: 'run' },
{ q: 'To ______ a painting.', options: ['look', 'draw', 'paint', 'see'], a: 'paint' },
{ q: 'To ______ a song.', options: ['listen', 'sing', 'hear', 'play'], a: 'sing' },
{ q: 'To ______ a documentary.', options: ['read', 'watch', 'listen', 'play'], a: 'watch' }
];
let currentCollocationIndex = 0;
const vocabFillQuestions = [
{ q: 'My favorite leisure is reading novels.', a: 'activity' },
{ q: 'I find painting very .', a: 'relaxing' },
{ q: 'I usually my weekends with outdoor activities.', a: 'spend' },
{ q: 'I recently took up a new , which is photography.', a: 'hobby' },
{ q: 'It\'s a great way to unwind and stress.', a: 'reduce' },
{ q: 'I love to my batteries by going for a walk in nature.', a: 'recharge' },
{ q: 'Playing sports helps me to stay and healthy.', a: 'active' },
{ q: 'I have a keen in learning new languages.', a: 'interest' },
{ q: 'Volunteering is a very experience for me.', a: 'rewarding' },
{ q: 'During my time, I enjoy listening to podcasts.', a: 'free' },
{ q: 'Reading different genres helps to my horizons.', a: 'broaden' },
{ q: 'I find gardening to be very , it calms my mind.', a: 'therapeutic' },
{ q: 'My hobby allows me to express my .', a: 'creativity' },
{ q: 'I often in outdoor activities like hiking and cycling.', a: 'engage' },
{ q: 'It\'s important to have a good work-life .', a: 'balance' },
{ q: 'I enjoy time with my friends on weekends.', a: 'quality' },
{ q: 'Learning a musical instrument can be quite but rewarding.', a: 'challenging' },
{ q: 'For me, cooking is a wonderful .', a: 'pastime' },
{ q: 'I like to in a good book after a long day.', a: 'immerse' },
{ q: 'Some people prefer hobbies, while others like social ones.', a: 'solitary' }
];
let currentVocabFillIndex = 0;
// Section 2: Grammar Range & Accuracy
const errorCorrectionQuestions = [
{ q: 'Identify and correct the error: "She enjoy reading books."', a: 'enjoys', tip: 'Subject-verb agreement: "She" (singular) requires "enjoys" (singular verb).' },
{ q: 'Identify and correct the error: "He is good at play tennis."', a: 'playing', tip: 'After prepositions like "at", use the gerund (-ing) form of the verb.' },
{ q: 'Identify and correct the error: "I like to doing yoga."', a: 'do', tip: 'After "like to", use the base form of the verb (infinitive).' },
{ q: 'Identify and correct the error: "I spent my weekend on hiking."', a: 'hiking', tip: 'Use "spent time" directly with a gerund, or "spent time on" followed by a noun phrase, but "on hiking" is awkward.' },
{ q: 'Identify and correct the error: "When I was child, I played football."', a: 'a child', tip: 'Use the indefinite article "a" before "child".' },
{ q: 'Identify and correct the error: "I prefer listen to music than watching movies."', a: 'listening', tip: 'Parallel structure: "prefer listening to... than watching..." or "prefer to listen to... than to watch..."' },
{ q: 'Identify and correct the error: "Playing video games is my favorite leisure activity, isn\'t it?"', a: 'isn\'t it', tip: 'No error. The tag question correctly refers to the statement.' },
{ q: 'Identify and correct the error: "She is used to play piano every day."', a: 'playing', tip: '"Be used to" (accustomed to) is followed by a gerund (-ing form).' },
{ q: 'Identify and correct the error: "I am interesting in photography."', a: 'interested', tip: 'Use the adjective "interested" to describe a feeling.' },
{ q: 'Identify and correct the error: "Despite of the bad weather, we went for a walk."', a: 'Despite', tip: '"Despite" does not take "of". Use "Despite the bad weather" or "In spite of the bad weather".' },
{ q: 'Identify and correct the error: "He is capable for running a marathon."', a: 'of running', tip: 'The correct preposition with "capable" is "of".' },
{ q: 'Identify and correct the error: "I look forward to go swimming this weekend."', a: 'going', tip: '"Look forward to" is a phrasal verb followed by a gerund (-ing form).' },
{ q: 'Identify and correct the error: "The number of people who enjoy gardening are increasing."', a: 'is', tip: 'The subject is "number" (singular), not "people".' },
{ q: 'Identify and correct the error: "If I would have more free time, I would learn cooking."', a: 'had', tip: 'This is a Second Conditional. The "if" clause uses past simple: "If I had..."' },
{ q: 'Identify and correct the error: "Everyone in my family have a hobby."', a: 'has', tip: '"Everyone" is a singular pronoun and takes a singular verb.' },
{ q: 'Identify and correct the error: "I like to travel, and I also like to exploring new cultures."', a: 'explore', tip: 'Parallel structure: "like to travel and (to) explore".' },
{ q: 'Identify and correct the error: "She has been playing piano since five years."', a: 'for', tip: 'Use "for" with a duration, "since" with a starting point.' },
{ q: 'Identify and correct the error: "My hobby is collect stamps."', a: 'collecting', tip: 'After "My hobby is", use a gerund or infinitive: "My hobby is collecting stamps" or "My hobby is to collect stamps".' },
{ q: 'Identify and correct the error: "He is very good at his hobby, isn\'t he?"', a: 'is he', tip: 'The tag question should be negative if the main clause is positive: "He is... isn\'t he?".' },
{ q: 'Identify and correct the error: "I find difficult to relax after a busy day."', a: 'it difficult', tip: 'Use the anticipatory "it" when "difficult" refers to an infinitive phrase: "I find it difficult to relax".' }
];
let currentErrorCorrectionIndex = 0;
const sentenceTransformQuestions = [
{ q: 'Rewrite using \'despite\': "Although it was raining, we went for a walk."
Despite , we went for a walk.', a: 'the rain', tip: '"Despite" is followed by a noun or gerund phrase.' },
{ q: 'Rewrite starting with \'Not only\': "He is a talented musician. He is also a great painter."
Not only , but he is also a great painter.', a: 'is he a talented musician', tip: 'Inversion occurs after "Not only" at the beginning of a sentence.' },
{ q: 'Rewrite using a passive voice: "Many people enjoy playing video games."
Video games by many people.', a: 'are enjoyed', tip: 'Passive voice: "are + past participle".' },
{ q: 'Rewrite using \'unless\': "You won\'t improve your skills if you don\'t practice regularly."
You won\'t improve your skills regularly.', a: 'unless you practice', tip: '"Unless" means "if not".' },
{ q: 'Rewrite using \'such a\': "It was a very relaxing evening. I felt completely refreshed."
It was that I felt completely refreshed.', a: 'such a relaxing evening', tip: '"Such a/an + adjective + noun + that" for emphasis.' },
{ q: 'Rewrite using \'in spite of\': "She was tired, but she continued her hobby."
In spite of , she continued her hobby.', a: 'being tired', tip: '"In spite of" is followed by a noun or gerund phrase.' },
{ q: 'Rewrite using \'had\' for a past perfect: "First, I finished my chores. Then, I started my hobby."
After I , I started my hobby.', a: 'had finished my chores', tip: 'Past perfect indicates an action completed before another past action.' },
{ q: 'Rewrite using \'so...that\': "The book was very interesting. I couldn\'t put it down."
The book was I couldn\'t put it down.', a: 'so interesting that', tip: '"So + adjective/adverb + that" for cause and effect.' },
{ q: 'Rewrite using \'due to\': "The outdoor activity was cancelled because of heavy rain."
The outdoor activity was cancelled heavy rain.', a: 'due to', tip: '"Due to" is followed by a noun phrase.' },
{ q: 'Rewrite using \'it is said that\': "People say he is a keen photographer."
a keen photographer.', a: 'It is said that he is', tip: 'Impersonal passive construction.' },
{ q: 'Rewrite using \'would rather\': "I prefer to read a book rather than watch TV."
I a book than watch TV.', a: 'would rather read', tip: '"Would rather + base verb + than + base verb" for preference.' },
{ q: 'Rewrite using \'provided that\': "You can join the club if you are over 18."
You can join the club over 18.', a: 'provided that you are', tip: '"Provided that" means "if" or "on condition that".' },
{ q: 'Rewrite using \'would have\': "He didn\'t practice, so he didn\'t win the competition."
If he had practiced, he the competition.', a: 'would have won', tip: 'Third Conditional: "If + past perfect, would have + past participle".' },
{ q: 'Rewrite using \'as long as\': "You can use my equipment if you are careful."
You can use my equipment careful.', a: 'as long as you are', tip: '"As long as" means "on condition that".' },
{ q: 'Rewrite using \'tend to\': "I usually feel relaxed when I garden."
I relaxed when I garden.', a: 'tend to feel', tip: '"Tend to" expresses a general habit or inclination.' }
];
let currentSentenceTransformIndex = 0;
const combineSentencesQuestions = [
{ q: 'Combine using \'and\': "I love hiking. I also love camping."
I love hiking camping.', a: 'and' },
{ q: 'Combine using \'because\': "She enjoys painting. It helps her relax."
She enjoys painting it helps her relax.', a: 'because' },
{ q: 'Combine using \'although\': "The weather was bad. We still went for a walk."
the weather was bad, we still went for a walk.', a: 'Although' },
{ q: 'Combine using \'so\': "I had a lot of free time. I decided to take up a new hobby."
I had a lot of free time, I decided to take up a new hobby.', a: 'so' },
{ q: 'Combine using \'who\': "He is my friend. He introduced me to photography."
He is my friend introduced me to photography.', a: 'who' },
{ q: 'Combine using \'where\': "This is the park. I usually go for a run here."
This is the park I usually go for a run.', a: 'where' },
{ q: 'Combine using \'but\': "I enjoy reading. I don\'t read very often."
I enjoy reading, I don\'t read very often.', a: 'but' },
{ q: 'Combine using \'after\': "I finished my work. I went to my painting class."
finishing my work, I went to my painting class.', a: 'After' },
{ q: 'Combine using \'before\': "I always stretch. I go for a run."
I always stretch I go for a run.', a: 'before' },
{ q: 'Combine using \'while\': "I was listening to music. I was cleaning my room."
I was listening to music, I was cleaning my room.', a: 'While' },
{ q: 'Combine using \'unless\': "You won\'t learn to play an instrument. You practice consistently."
You won\'t learn to play an instrument you practice consistently.', a: 'unless' },
{ q: 'Combine using \'since\': "I have been collecting stamps. I was a child."
I have been collecting stamps I was a child.', a: 'since' },
{ q: 'Combine using \'that\': "I believe something. Hobbies are important for well-being."
I believe hobbies are important for well-being.', a: 'that' },
{ q: 'Combine using \'whether\': "I am not sure. I should join the gym or try yoga."
I am not sure I should join the gym or try yoga.', a: 'whether' },
{ q: 'Combine using \'if\': "You have free time. You should try a new hobby."
you have free time, you should try a new hobby.', a: 'If' },
{ q: 'Combine using \'when\': "I was young. I loved playing outside."
I was young, I loved playing outside.', a: 'When' },
{ q: 'Combine using \'as well as\': "She enjoys painting. She enjoys drawing."
She enjoys painting drawing.', a: 'as well as' },
{ q: 'Combine using \'in order to\': "I exercise regularly. I want to stay fit."
I exercise regularly stay fit.', a: 'in order to' },
{ q: 'Combine using \'despite the fact that\': "It was very hot. We still played badminton."
it was very hot, we still played badminton.', a: 'Despite the fact that' },
{ q: 'Combine using \'provided that\': "You can use my art supplies. You put them back neatly."
You can use my art supplies you put them back neatly.', a: 'provided that' }
];
let currentCombineSentencesIndex = 0;
// Section 3: Fluency & Coherence
const sentenceOrderingQuestions = [
{
q: [
"1. It helps me relax and clear my mind.",
"2. My favorite leisure activity is reading.",
"3. I usually read for an hour before bed."
],
a: "231",
full: "My favorite leisure activity is reading. I usually read for an hour before bed. It helps me relax and clear my mind."
},
{
q: [
"1. This allows me to stay active and healthy.",
"2. I enjoy playing various sports in my free time.",
"3. My favorites are badminton and swimming."
],
a: "231",
full: "I enjoy playing various sports in my free time. My favorites are badminton and swimming. This allows me to stay active and healthy."
},
{
q: [
"1. It's a great way to express myself.",
"2. I recently took up painting as a hobby.",
"3. I find it very therapeutic and rewarding."
],
a: "231",
full: "I recently took up painting as a hobby. I find it very therapeutic and rewarding. It's a great way to express myself."
},
{
q: [
"1. This helps me unwind and recharge.",
"2. After a busy week, I like to spend time outdoors.",
"3. Going for long walks in nature is my preferred way to relax."
],
a: "231",
full: "After a busy week, I like to spend time outdoors. Going for long walks in nature is my preferred way to relax. This helps me unwind and recharge."
},
{
q: [
"1. It offers a lot of creative freedom.",
"2. Photography has been a passion of mine for years.",
"3. I love capturing moments and telling stories through images."
],
a: "231",
full: "Photography has been a passion of mine for years. I love capturing moments and telling stories through images. It offers a lot of creative freedom."
},
{
q: [
"1. This helps me stay updated with global events.",
"2. In my free time, I often watch documentaries.",
"3. I find them both entertaining and informative."
],
a: "231",
full: "In my free time, I often watch documentaries. I find them both entertaining and informative. This helps me stay updated with global events."
},
{
q: [
"1. It's a fantastic way to bond and have fun.",
"2. I enjoy playing board games with my friends.",
"3. We usually meet once a week for a game night."
],
a: "231",
full: "I enjoy playing board games with my friends. We usually meet once a week for a game night. It's a fantastic way to bond and have fun."
},
{
q: [
"1. This allows me to explore different cultures and cuisines.",
"2. Cooking is one of my favorite leisure activities.",
"3. I love experimenting with new recipes from around the world."
],
a: "231",
full: "Cooking is one of my favorite leisure activities. I love experimenting with new recipes from around the world. This allows me to explore different cultures and cuisines."
},
{
q: [
"1. It helps me improve my concentration and strategic thinking.",
"2. Playing chess is a mentally stimulating hobby for me.",
"3. I often play online against opponents from different countries."
],
a: "231",
full: "Playing chess is a mentally stimulating hobby for me. I often play online against opponents from different countries. It helps me improve my concentration and strategic thinking."
},
{
q: [
"1. This helps me keep my mind sharp and active.",
"2. I enjoy solving puzzles, especially Sudoku and crosswords.",
"3. It's a great way to pass the time on my commute."
],
a: "231",
full: "I enjoy solving puzzles, especially Sudoku and crosswords. It's a great way to pass the time on my commute. This helps me keep my mind sharp and active."
}
];
let currentSentenceOrderingIndex = 0;
const connectorsGapFillQuestions = [
{ q: 'I enjoy reading novels. , I also like listening to podcasts.', options: ['However', 'Therefore', 'In addition', 'For example'], a: 'In addition' },
{ q: 'I love playing sports; , I make sure to exercise regularly.', options: ['however', 'consequently', 'in contrast', 'nevertheless'], a: 'consequently' },
{ q: 'She spends a lot of time gardening. , her garden is always beautiful.', options: ['However', 'Therefore', 'In addition', 'Despite this'], a: 'Therefore' },
{ q: 'I enjoy painting. , it helps me relax after a stressful day.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'In addition' },
{ q: 'I wanted to learn a new skill. , I decided to take up photography.', options: ['However', 'Therefore', 'As a result', 'In short'], a: 'As a result' },
{ q: 'Playing video games can be fun. , it can be very time-consuming.', options: ['Similarly', 'Consequently', 'On the other hand', 'For example'], a: 'On the other hand' },
{ q: 'I like active hobbies. , I also enjoy quiet activities like reading.', options: ['Furthermore', 'However', 'Therefore', 'In addition'], a: 'However' },
{ q: 'He is a very keen musician. , he practices for hours every day.', options: ['Nevertheless', 'As a result', 'In contrast', 'Despite that'], a: 'As a result' },
{ q: 'I go for a run every morning. , I also do yoga in the evenings.', options: ['However', 'Therefore', 'In addition', 'For instance'], a: 'In addition' },
{ q: 'The weather was terrible. , we still went for our outdoor activity.', options: ['Therefore', 'Nevertheless', 'As a result', 'In short'], a: 'Nevertheless' },
{ q: 'I enjoy collecting stamps. , I find it a very relaxing pastime.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'In addition' },
{ q: 'She is very good at cooking. , she rarely has time to cook.', options: ['Furthermore', 'However', 'Therefore', 'As a result'], a: 'However' },
{ q: 'I want to improve my fitness. , I joined a local sports club.', options: ['However', 'Therefore', 'In contrast', 'For example'], a: 'Therefore' },
{ q: 'The club offers many activities. , they have excellent facilities.', options: ['Moreover', 'However', 'Therefore', 'In short'], a: 'Moreover' },
{ q: 'I prefer solitary hobbies. , some of my friends prefer group activities.', options: ['Therefore', 'In contrast', 'In addition', 'Consequently'], a: 'In contrast' },
{ q: 'My hobby is time-consuming. , I find it very rewarding.', options: ['Therefore', 'However', 'In addition', 'As a result'], a: 'However' },
{ q: 'I need to unwind after work. , I usually listen to music.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'Therefore' },
{ q: 'Learning a new instrument is challenging. , it's a very fulfilling experience.', options: ['Therefore', 'Nevertheless', 'In contrast', 'Consequently'], a: 'Nevertheless' },
{ q: 'I find creative hobbies enjoyable. , they require a lot of patience.', options: ['Therefore', 'However', 'In addition', 'As a result'], a: 'However' },
{ q: 'He is a busy professional. , he always makes time for his hobbies.', options: ['Therefore', 'Nevertheless', 'In addition', 'Consequently'], a: 'Nevertheless' }
];
let currentConnectorsGapFillIndex = 0;
const logicalParagraphQuestions = [
{
q: 'Reading is my favorite way to relax. I often spend hours immersed in a good book. It allows me to escape from daily stresses.',
options: [
'Therefore, I rarely read.',
'It is a very boring activity.',
'This makes it a perfect therapeutic pastime for me.',
'I prefer watching TV instead.'
],
a: 'This makes it a perfect therapeutic pastime for me.'
},
{
q: 'I enjoy playing various sports in my free time. My favorites are badminton and swimming. This allows me to stay active and healthy.',
options: [
'However, I dislike all forms of exercise.',
'Sports are not popular in my country.',
'It is crucial for maintaining my physical and mental well-being.',
'I prefer sedentary activities.'
],
a: 'It is crucial for maintaining my physical and mental well-being.'
},
{
q: 'I recently took up painting as a hobby. I find it very therapeutic and rewarding. It\'s a great way to express myself.',
options: [
'I am not very good at it.',
'This creative outlet helps me unwind after a long week.',
'I prefer more active hobbies.',
'It is a very expensive hobby.'
],
a: 'This creative outlet helps me unwind after a long week.'
},
{
q: 'After a busy week, I like to spend time outdoors. Going for long walks in nature is my preferred way to relax. This helps me unwind and recharge.',
options: [
'I never go outside.',
'I prefer to stay indoors and watch movies.',
'The fresh air and natural beauty are incredibly refreshing.',
'Outdoor activities are too tiring for me.'
],
a: 'The fresh air and natural beauty are incredibly refreshing.'
},
{
q: 'Photography has been a passion of mine for years. I love capturing moments and telling stories through images. It offers a lot of creative freedom.',
options: [
'I never take photos.',
'However, it can be an expensive hobby to pursue.',
'I prefer to draw instead of taking pictures.',
'It is a very simple hobby.'
],
a: 'However, it can be an expensive hobby to pursue.'
},
{
q: 'In my free time, I often watch documentaries. I find them both entertaining and informative. This helps me stay updated with global events.',
options: [
'I only watch fictional movies.',
'I prefer to read news articles instead.',
'They offer a great way to learn about new subjects and broaden my perspective.',
'Documentaries are usually boring.'
],
a: 'They offer a great way to learn about new subjects and broaden my perspective.'
},
{
q: 'I enjoy playing board games with my friends. We usually meet once a week for a game night. It\'s a fantastic way to bond and have fun.',
options: [
'I prefer playing video games alone.',
'Board games are too complicated for me.',
'This social interaction is very important for my mental well-being.',
'We often argue during game nights.'
],
a: 'This social interaction is very important for my mental well-being.'
},
{
q: 'Cooking is one of my favorite leisure activities. I love experimenting with new recipes from around the world. This allows me to explore different cultures and cuisines.',
options: [
'I never cook at home.',
'I prefer eating out all the time.',
'It\'s a creative process that results in delicious meals for my family and friends.',
'Cooking is a chore for me.'
],
a: 'It\'s a creative process that results in delicious meals for my family and friends.'
},
{
q: 'Playing chess is a mentally stimulating hobby for me. I often play online against opponents from different countries. It helps me improve my concentration and strategic thinking.',
options: [
'Chess is a boring game.',
'I prefer physical activities over mental ones.',
'This intellectual challenge keeps my brain active and engaged.',
'I always lose when playing chess.'
],
a: 'This intellectual challenge keeps my brain active and engaged.'
},
{
q: 'I enjoy solving puzzles, especially Sudoku and crosswords. It\'s a great way to pass the time on my commute. This helps me keep my mind sharp and active.',
options: [
'Puzzles are too difficult for me.',
'I prefer to sleep during my commute.',
'These activities provide a mental workout and a sense of accomplishment.',
'I find puzzles very frustrating.'
],
a: 'These activities provide a mental workout and a sense of accomplishment.'
}
];
let currentLogicalParagraphIndex = 0;
// Section 4: Pronunciation (Spelling/Word Form Practice)
const wordStressQuestions = [
{ q: 'Which syllable is stressed in the word "ac-TI-vi-ty"?', options: ['ac', 'ti', 'vi', 'ty'], a: 'ti', explanation: 'ac-TI-vi-ty' },
{ q: 'Which syllable is stressed in the word "LEI-sure"?', options: ['lei', 'sure'], a: 'lei', explanation: 'LEI-sure' },
{ q: 'Which syllable is stressed in the word "PHO-to-gra-phy"?', options: ['pho', 'to', 'gra', 'phy'], a: 'tog', explanation: 'pho-TOG-ra-phy' },
{ q: 'Which syllable is stressed in the word "RE-lax"?', options: ['re', 'lax'], a: 'lax', explanation: 're-LAX' },
{ q: 'Which syllable is stressed in the word "HOB-by"?', options: ['hob', 'by'], a: 'hob', explanation: 'HOB-by' },
{ q: 'Which syllable is stressed in the word "GAR-den-ing"?', options: ['gar', 'den', 'ing'], a: 'gar', explanation: 'GAR-den-ing' },
{ q: 'Which syllable is stressed in the word "CRE-a-tive"?', options: ['cre', 'a', 'tive'], a: 'a', explanation: 'cre-A-tive' },
{ q: 'Which syllable is stressed in the word "THER-a-peu-tic"?', options: ['ther', 'a', 'peu', 'tic'], a: 'peu', explanation: 'ther-a-PEU-tic' },
{ q: 'Which syllable is stressed in the word "IN-ter-est"?', options: ['in', 'ter', 'est'], a: 'in', explanation: 'IN-ter-est' },
{ q: 'Which syllable is stressed in the word "COL-lect-ing"?', options: ['col', 'lect', 'ing'], a: 'lect', explanation: 'col-LECT-ing' },
{ q: 'Which syllable is stressed in the word "EX-er-cise"?', options: ['ex', 'er', 'cise'], a: 'ex', explanation: 'EX-er-cise' },
{ q: 'Which syllable is stressed in the word "MU-sic-al"?', options: ['mu', 'sic', 'al'], a: 'mu', explanation: 'MU-sic-al' },
{ q: 'Which syllable is stressed in the word "IN-stru-ment"?', options: ['in', 'stru', 'ment'], a: 'in', explanation: 'IN-stru-ment' },
{ q: 'Which syllable is stressed in the word "VO-lun-TEER"?', options: ['vo', 'lun', 'teer'], a: 'teer', explanation: 'vo-lun-TEER' },
{ q: 'Which syllable is stressed in the word "EN-joy-ment"?', options: ['en', 'joy', 'ment'], a: 'joy', explanation: 'en-JOY-ment' }
];
let currentWordStressIndex = 0;
const homophoneQuestions = [
{ q: 'I like to my free time. (choose between \'waste\' or \'waist\')', a: 'waste', tip: 'Waste (verb) means to use carelessly. Waist (noun) is part of the body.' },
{ q: 'I need to a new skill. (choose between \'learn\' or \'lurn\')', a: 'learn', tip: 'Learn (verb) means to gain knowledge or a skill. "Lurn" is not a word.' },
{ q: 'The of the story was very interesting. (choose between \'plot\' or \'plat\')', a: 'plot', tip: 'Plot (noun) is the main events of a story. "Plat" is not a word.' },
{ q: 'I like to music while I work. (choose between \'hear\' or \'here\')', a: 'hear', tip: 'Hear (verb) means to perceive sound. Here (adverb) means in this place.' },
{ q: 'She has a great for painting. (choose between \'talent\' or \'talant\')', a: 'talent', tip: 'Talent (noun) is a natural aptitude or skill. "Talant" is not a word.' },
{ q: 'The weather will our outdoor plans. (choose between \'affect\' or \'effect\')', a: 'affect', tip: 'Affect (verb) means to influence. Effect (noun) means a result.' },
{ q: 'I need to my energy after exercising. (choose between \'recharge\' or \'recharj\')', a: 'recharge', tip: 'Recharge (verb) means to restore energy. "Recharj" is not a word.' },
{ q: 'He likes to his free time with friends. (choose between \'spend\' or \'spand\')', a: 'spend', tip: 'Spend (verb) means to use time or money. "Spand" is not a word.' },
{ q: 'The of the book was very exciting. (choose between \'ending\' or \'endingg\')', a: 'ending', tip: 'Ending (noun) is the final part. "Endingg" is not a word.' },
{ q: 'I want to a new language. (choose between \'study\' or \'studi\')', a: 'study', tip: 'Study (verb) means to acquire knowledge. "Studi" is not a word.' },
{ q: 'My favorite is playing guitar. (choose between \'hobby\' or \'hobbie\')', a: 'hobby', tip: 'Hobby (noun) is an activity done for pleasure. "Hobbie" is not the correct spelling.' },
{ q: 'I like to my mind by meditating. (choose between \'clear\' or \'cleer\')', a: 'clear', tip: 'Clear (verb) means to make free from obstruction. "Cleer" is not a word.' },
{ q: 'She has a great of books. (choose between \'collection\' or \'collecsion\')', a: 'collection', tip: 'Collection (noun) is a group of things. "Collecsion" is not a word.' },
{ q: 'I enjoy in outdoor activities. (choose between \'engaging\' or \'engajing\')', a: 'engaging', tip: 'Engaging (verb) means to participate. "Engajing" is not a word.' },
{ q: 'It\'s important to have a good work-life . (choose between \'balance\' or \'balanse\')', a: 'balance', tip: 'Balance (noun) means an even distribution. "Balanse" is not a word.' }
];
let currentHomophoneIndex = 0;
const syllableSortQuestions = [
{ q: 'How many syllables are in the word "hobby"?', options: ['1', '2', '3', '4'], a: '2', explanation: 'hob-by (2 syllables)' },
{ q: 'How many syllables are in the word "activity"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'ac-ti-vi-ty (4 syllables)' },
{ q: 'How many syllables are in the word "leisure"?', options: ['1', '2', '3', '4'], a: '2', explanation: 'lei-sure (2 syllables)' },
{ q: 'How many syllables are in the word "photography"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'pho-tog-ra-phy (4 syllables)' },
{ q: 'How many syllables are in the word "relaxing"?', options: ['2', '3', '4', '5'], a: '3', explanation: 're-lax-ing (3 syllables)' },
{ q: 'How many syllables are in the word "gardening"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'gar-den-ing (3 syllables)' },
{ q: 'How many syllables are in the word "creative"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'cre-a-tive (3 syllables)' },
{ q: 'How many syllables are in the word "therapeutic"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'ther-a-peu-tic (4 syllables)' },
{ q: 'How many syllables are in the word "interest"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'in-ter-est (3 syllables)' },
{ q: 'How many syllables are in the word "collecting"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'col-lect-ing (3 syllables)' },
{ q: 'How many syllables are in the word "exercise"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'ex-er-cise (3 syllables)' },
{ q: 'How many syllables are in the word "musical"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'mu-sic-al (3 syllables)' },
{ q: 'How many syllables are in the word "instrument"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'in-stru-ment (3 syllables)' },
{ q: 'How many syllables are in the word "volunteering"?', options: ['4', '5', '6', '7'], a: '5', explanation: 'vo-lun-teer-ing (5 syllables)' },
{ q: 'How many syllables are in the word "enjoyment"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'en-joy-ment (3 syllables)' }
];
let currentSyllableSortIndex = 0;
// Section 5: Build Your Own Answer (Rule-based Feedback)
const buildAnswerQuestions = [
{
q: "What do you do in your free time?",
sample: "In my free time, I really enjoy reading. I try to read for at least an hour every day, usually before bed. It helps me unwind and learn new things.",
minWords: 15,
maxWords: 40,
keywords: ['reading', 'playing', 'watching', 'listening', 'cooking', 'gardening', 'hiking', 'exercising', 'hobby', 'leisure', 'free time', 'relax', 'unwind']
},
{
q: "Do you prefer to spend your leisure time alone or with others?",
sample: "I generally prefer to spend my leisure time with others, especially my friends. We often go hiking or play board games together. I find these activities more enjoyable and social.",
minWords: 20,
maxWords: 50,
keywords: ['alone', 'others', 'friends', 'family', 'social', 'solitary', 'group', 'together']
},
{
q: "Did you have any hobbies when you were a child?",
sample: "Yes, when I was a child, I used to collect stamps. I had a huge collection from different countries. It was a fascinating hobby that taught me a lot about geography.",
minWords: 20,
maxWords: 50,
keywords: ['child', 'childhood', 'young', 'used to', 'collect', 'play', 'learn', 'remember']
},
{
q: "Are there any new hobbies you would like to try?",
sample: "Definitely! I've always wanted to try pottery. I find the idea of creating something with my hands very appealing and therapeutic. I hope to join a class soon.",
minWords: 20,
maxWords: 50,
keywords: ['new hobby', 'try', 'learn', 'want to', 'would like to', 'explore', 'interested in']
}
];
let currentBuildAnswerIndex = 0;
// --- Helper Functions for Exercises ---
function getRadioValue(name) {
const radios = document.querySelectorAll(`input[name="${name}"]:checked`);
return radios.length > 0 ? radios[0].value : null;
}
function setFeedback(elementId, isCorrect, message) {
const feedbackElem = document.getElementById(elementId);
feedbackElem.textContent = message;
feedbackElem.className = `exercise-feedback ${isCorrect ? 'correct' : 'incorrect'}`;
feedbackElem.style.display = 'block';
}
function clearRadioSelection(name) {
document.querySelectorAll(`input[name="${name}"]`).forEach(radio => radio.checked = false);
}
function disableRadioOptions(name, disabled) {
document.querySelectorAll(`input[name="${name}"]`).forEach(radio => radio.disabled = disabled);
}
// --- Exercise 1.1: Synonym Match ---
function loadSynonymQuestion() {
const qData = synonymQuestions[currentSynonymIndex];
document.getElementById('synonymQuestion').textContent = qData.q;
const optionsElem = document.getElementById('synonymOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'synonym';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option}`));
optionsElem.appendChild(label);
});
document.getElementById('synonymFeedback').style.display = 'none';
disableRadioOptions('synonym', false);
}
function checkSynonym() {
const userAnswer = getRadioValue('synonym');
const correctAnswer = synonymQuestions[currentSynonymIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('synonymFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${correctAnswer}".`);
disableRadioOptions('synonym', true);
}
function nextSynonym() {
currentSynonymIndex = (currentSynonymIndex + 1) % synonymQuestions.length;
loadSynonymQuestion();
}
// --- Exercise 1.2: Collocation Quiz ---
function loadCollocationQuestion() {
const qData = collocationQuestions[currentCollocationIndex];
document.getElementById('collocationQuestion').textContent = qData.q;
const optionsElem = document.getElementById('collocationOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'collocation';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option}`));
optionsElem.appendChild(label);
});
document.getElementById('collocationFeedback').style.display = 'none';
disableRadioOptions('collocation', false);
}
function checkCollocation() {
const userAnswer = getRadioValue('collocation');
const correctAnswer = collocationQuestions[currentCollocationIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('collocationFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${correctAnswer}".`);
disableRadioOptions('collocation', true);
}
function nextCollocation() {
currentCollocationIndex = (currentCollocationIndex + 1) % collocationQuestions.length;
loadCollocationQuestion();
}
// --- Exercise 1.3: Fill in the Blanks (Vocabulary) ---
function loadVocabFillQuestion() {
const qData = vocabFillQuestions[currentVocabFillIndex];
document.getElementById('vocabFillQuestion').innerHTML = qData.q;
document.getElementById('vocabFillInput').value = '';
document.getElementById('vocabFillFeedback').style.display = 'none';
document.getElementById('vocabFillInput').disabled = false;
}
function checkVocabFill() {
const userAnswer = document.getElementById('vocabFillInput').value.trim().toLowerCase();
const correctAnswer = vocabFillQuestions[currentVocabFillIndex].a.toLowerCase();
const isCorrect = userAnswer === correctAnswer;
setFeedback('vocabFillFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${vocabFillQuestions[currentVocabFillIndex].a}".`);
document.getElementById('vocabFillInput').disabled = true;
}
function nextVocabFill() {
currentVocabFillIndex = (currentVocabFillIndex + 1) % vocabFillQuestions.length;
loadVocabFillQuestion();
}
// --- Exercise 2.1: Error Correction ---
function loadErrorCorrectionQuestion() {
const qData = errorCorrectionQuestions[currentErrorCorrectionIndex];
document.getElementById('errorCorrectionQuestion').textContent = qData.q;
document.getElementById('errorCorrectionInput').value = '';
document.getElementById('errorCorrectionFeedback').style.display = 'none';
document.getElementById('errorCorrectionInput').disabled = false;
}
function checkErrorCorrection() {
const userAnswer = document.getElementById('errorCorrectionInput').value.trim().toLowerCase();
const correctAnswer = errorCorrectionQuestions[currentErrorCorrectionIndex].a.toLowerCase();
const isCorrect = userAnswer === correctAnswer;
setFeedback('errorCorrectionFeedback', isCorrect, isCorrect ? `Correct! ${errorCorrectionQuestions[currentErrorCorrectionIndex].tip}` : `Incorrect. The correct answer is "${errorCorrectionQuestions[currentErrorCorrectionIndex].a}". ${errorCorrectionQuestions[currentErrorCorrectionIndex].tip}`);
document.getElementById('errorCorrectionInput').disabled = true;
}
function nextErrorCorrection() {
currentErrorCorrectionIndex = (currentErrorCorrectionIndex + 1) % errorCorrectionQuestions.length;
loadErrorCorrectionQuestion();
}
// --- Exercise 2.2: Sentence Transformation ---
function loadSentenceTransformQuestion() {
const qData = sentenceTransformQuestions[currentSentenceTransformIndex];
document.getElementById('sentenceTransformQuestion').innerHTML = qData.q;
document.getElementById('sentenceTransformInput').value = '';
document.getElementById('sentenceTransformFeedback').style.display = 'none';
document.getElementById('sentenceTransformInput').disabled = false;
}
function checkSentenceTransform() {
const userAnswer = document.getElementById('sentenceTransformInput').value.trim().toLowerCase();
const correctAnswer = sentenceTransformQuestions[currentSentenceTransformIndex].a.toLowerCase();
const isCorrect = userAnswer === correctAnswer;
setFeedback('sentenceTransformFeedback', isCorrect, isCorrect ? `Correct! ${sentenceTransformQuestions[currentSentenceTransformIndex].tip}` : `Incorrect. The correct answer is "${sentenceTransformQuestions[currentSentenceTransformIndex].a}". ${sentenceTransformQuestions[currentSentenceTransformIndex].tip}`);
document.getElementById('sentenceTransformInput').disabled = true;
}
function nextSentenceTransform() {
currentSentenceTransformIndex = (currentSentenceTransformIndex + 1) % sentenceTransformQuestions.length;
loadSentenceTransformQuestion();
}
// --- Exercise 2.3: Combine Sentences ---
function loadCombineSentencesQuestion() {
const qData = combineSentencesQuestions[currentCombineSentencesIndex];
const questionElem = document.getElementById('combineSentencesQuestion');
// Handle multiple blanks if necessary, but current data only has one
questionElem.innerHTML = qData.q;
document.getElementById('combineSentencesInput').value = '';
document.getElementById('combineSentencesFeedback').style.display = 'none';
document.getElementById('combineSentencesInput').disabled = false;
}
function checkCombineSentences() {
const userAnswer = document.getElementById('combineSentencesInput').value.trim().toLowerCase();
const correctAnswer = combineSentencesQuestions[currentCombineSentencesIndex].a.toLowerCase();
const isCorrect = userAnswer === correctAnswer;
setFeedback('combineSentencesFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${combineSentencesQuestions[currentCombineSentencesIndex].a}".`);
document.getElementById('combineSentencesInput').disabled = true;
}
function nextCombineSentences() {
currentCombineSentencesIndex = (currentCombineSentencesIndex + 1) % combineSentencesQuestions.length;
loadCombineSentencesQuestion();
}
// --- Exercise 3.1: Sentence Ordering ---
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
function loadSentenceOrderingQuestion() {
const qData = sentenceOrderingQuestions[currentSentenceOrderingIndex];
const listElem = document.getElementById('sentenceOrderingList');
listElem.innerHTML = '';
const shuffledSentences = shuffleArray([...qData.q]); // Shuffle a copy
shuffledSentences.forEach((sentence, index) => {
const li = document.createElement('li');
li.textContent = `${index + 1}. ${sentence.substring(sentence.indexOf('.') + 2)}`; // Remove original number
listElem.appendChild(li);
});
document.getElementById('sentenceOrderingInput').value = '';
document.getElementById('sentenceOrderingFeedback').style.display = 'none';
document.getElementById('sentenceOrderingInput').disabled = false;
}
function checkSentenceOrdering() {
const userAnswer = document.getElementById('sentenceOrderingInput').value.trim();
const correctAnswer = sentenceOrderingQuestions[currentSentenceOrderingIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('sentenceOrderingFeedback', isCorrect, isCorrect ? 'Correct! The paragraph is now coherent.' : `Incorrect. The correct order is "${correctAnswer}". Full paragraph: "${sentenceOrderingQuestions[currentSentenceOrderingIndex].full}"`);
document.getElementById('sentenceOrderingInput').disabled = true;
}
function nextSentenceOrdering() {
currentSentenceOrderingIndex = (currentSentenceOrderingIndex + 1) % sentenceOrderingQuestions.length;
loadSentenceOrderingQuestion();
}
// --- Exercise 3.2: Connectors Gap-Fill ---
function loadConnectorsGapFillQuestion() {
const qData = connectorsGapFillQuestions[currentConnectorsGapFillIndex];
document.getElementById('connectorsGapFillQuestion').innerHTML = qData.q;
const optionsElem = document.getElementById('connectorsGapFillOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'connectorsGapFill';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option}`));
optionsElem.appendChild(label);
});
document.getElementById('connectorsGapFillFeedback').style.display = 'none';
disableRadioOptions('connectorsGapFill', false);
}
function checkConnectorsGapFill() {
const userAnswer = getRadioValue('connectorsGapFill');
const correctAnswer = connectorsGapFillQuestions[currentConnectorsGapFillIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('connectorsGapFillFeedback', isCorrect, isCorrect ? 'Correct! This linking word improves coherence.' : `Incorrect. The best option is "${correctAnswer}".`);
disableRadioOptions('connectorsGapFill', true);
}
function nextConnectorsGapFill() {
currentConnectorsGapFillIndex = (currentConnectorsGapFillIndex + 1) % connectorsGapFillQuestions.length;
loadConnectorsGapFillQuestion();
}
// --- Exercise 3.3: Logical Paragraph Practice ---
function loadLogicalParagraphQuestion() {
const qData = logicalParagraphQuestions[currentLogicalParagraphIndex];
document.getElementById('logicalParagraphQuestion').innerHTML = `Read the paragraph and choose the best concluding sentence:
"${qData.q}"`;
const optionsElem = document.getElementById('logicalParagraphOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'logicalParagraph';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option}`));
optionsElem.appendChild(label);
});
document.getElementById('logicalParagraphFeedback').style.display = 'none';
disableRadioOptions('logicalParagraph', false);
}
function checkLogicalParagraph() {
const userAnswer = getRadioValue('logicalParagraph');
const correctAnswer = logicalParagraphQuestions[currentLogicalParagraphIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('logicalParagraphFeedback', isCorrect, isCorrect ? 'Correct! This sentence logically completes the paragraph.' : `Incorrect. The best concluding sentence is: "${correctAnswer}"`);
disableRadioOptions('logicalParagraph', true);
}
function nextLogicalParagraph() {
currentLogicalParagraphIndex = (currentLogicalParagraphIndex + 1) % logicalParagraphQuestions.length;
loadLogicalParagraphQuestion();
}
// --- Exercise 4.1: Word Stress Quiz ---
function loadWordStressQuestion() {
const qData = wordStressQuestions[currentWordStressIndex];
document.getElementById('wordStressQuestion').textContent = qData.q;
const optionsElem = document.getElementById('wordStressOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'wordStress';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option.toUpperCase()}`));
optionsElem.appendChild(label);
});
document.getElementById('wordStressFeedback').style.display = 'none';
disableRadioOptions('wordStress', false);
}
function checkWordStress() {
const userAnswer = getRadioValue('wordStress');
const correctAnswer = wordStressQuestions[currentWordStressIndex].a;
const isCorrect = userAnswer === correctAnswer;
setFeedback('wordStressFeedback', isCorrect, isCorrect ? `Correct! ${wordStressQuestions[currentWordStressIndex].explanation}` : `Incorrect. ${wordStressQuestions[currentWordStressIndex].explanation}`);
disableRadioOptions('wordStress', true);
}
function nextWordStress() {
currentWordStressIndex = (currentWordStressIndex + 1) % wordStressQuestions.length;
loadWordStressQuestion();
}
// --- Exercise 4.2: Homophone Fill-in-the-Blank ---
function loadHomophoneQuestion() {
const qData = homophoneQuestions[currentHomophoneIndex];
document.getElementById('homophoneQuestion').innerHTML = qData.q;
document.getElementById('homophoneInput').value = '';
document.getElementById('homophoneFeedback').style.display = 'none';
document.getElementById('homophoneInput').disabled = false;
}
function checkHomophone() {
const userAnswer = document.getElementById('homophoneInput').value.trim().toLowerCase();
const correctAnswer = homophoneQuestions[currentHomophoneIndex].a.toLowerCase();
const isCorrect = userAnswer === correctAnswer;
setFeedback('homophoneFeedback', isCorrect, isCorrect ? `Correct! ${homophoneQuestions[currentHomophoneIndex].tip}` : `Incorrect. The correct word is "${homophoneQuestions[currentHomophoneIndex].a}". ${homophoneQuestions[currentHomophoneIndex].tip}`);
document.getElementById('homophoneInput').disabled = true;
}
function nextHomophone() {
currentHomophoneIndex = (currentHomophoneIndex + 1) % homophoneQuestions.length;
loadHomophoneQuestion();
}
// --- Exercise 4.3: Syllable Sort ---
function loadSyllableSortQuestion() {
const qData = syllableSortQuestions[currentSyllableSortIndex];
document.getElementById('syllableSortQuestion').textContent = qData.q;
const optionsElem = document.getElementById('syllableSortOptions');
optionsElem.innerHTML = '';
shuffleArray(qData.options).forEach(option => {
const label = document.createElement('label');
const input = document.createElement('input');
input.type = 'radio';
input.name = 'syllableSort';
input.value = option;
label.appendChild(input);
label.appendChild(document.createTextNode(` ${option}`));
optionsElem.appendChild(label);
});
document.getElementById('syllableSortFeedback').style.display = 'none';
disableRadioOptions('syllableSort', false);
}
function checkSyllableSort() {
const userAnswer = getRadioValue('syllableSort');
const correctAnswer = syllableSortQuestions[currentSyllableSortIndex].a.toString(); // Ensure string comparison
const isCorrect = userAnswer === correctAnswer;
setFeedback('syllableSortFeedback', isCorrect, isCorrect ? `Correct! ${syllableSortQuestions[currentSyllableSortIndex].explanation}` : `Incorrect. ${syllableSortQuestions[currentSyllableSortIndex].explanation}`);
disableRadioOptions('syllableSort', true);
}
function nextSyllableSort() {
currentSyllableSortIndex = (currentSyllableSortIndex + 1) % syllableSortQuestions.length;
loadSyllableSortQuestion();
}
// --- Section 5: Build Your Own Answer (Rule-based Feedback) ---
function loadBuildAnswerQuestion() {
const qData = buildAnswerQuestions[currentBuildAnswerIndex];
document.getElementById('buildAnswerQNum').textContent = currentBuildAnswerIndex + 1;
document.getElementById('buildAnswerQuestionText').textContent = qData.q;
document.getElementById('buildAnswerUserAnswer').value = '';
document.getElementById('buildAnswerAiFeedback').style.display = 'none';
document.getElementById('buildAnswerBandEstimate').style.display = 'none'; // This will always be hidden now
document.getElementById('buildAnswerSampleAnswer').style.display = 'none';
document.getElementById('toggleBuildAnswerSampleBtn').textContent = 'Show Sample Band 9 Answer';
document.getElementById('submitBuildAnswer').disabled = false;
document.getElementById('buildAnswerUserAnswer').disabled = false;
document.getElementById('buildAnswerAiFeedback').innerHTML = '';
}
function getBuildAnswerFeedback() {
const qData = buildAnswerQuestions[currentBuildAnswerIndex];
const userResponse = document.getElementById('buildAnswerUserAnswer').value.trim();
const aiFeedbackElem = document.getElementById('buildAnswerAiFeedback');
const submitBtn = document.getElementById('submitBuildAnswer');
const userAnswerArea = document.getElementById('buildAnswerUserAnswer');
submitBtn.disabled = true;
userAnswerArea.disabled = true;
let feedbackMessages = [];
const words = userResponse.split(/\s+/).filter(word => word.length > 0);
const wordCount = words.length;
// 1. Length Check
if (wordCount qData.maxWords) {
feedbackMessages.push(`Your answer is quite long (${wordCount} words). For Part 1, aim for concise answers, typically ${qData.minWords}-${qData.maxWords} words.`);
} else {
feedbackMessages.push(`Good length for Part 1! (${wordCount} words).`);
}
// 2. Keyword Check
const lowerCaseResponse = userResponse.toLowerCase();
let foundKeywords = [];
qData.keywords.forEach(keyword => {
if (lowerCaseResponse.includes(keyword)) {
foundKeywords.push(keyword);
}
});
if (foundKeywords.length > 0) {
feedbackMessages.push(`You used relevant keywords like: ${foundKeywords.join(', ')}.`);
} else {
feedbackMessages.push(`Try to incorporate more topic-specific vocabulary. Consider words related to: ${qData.keywords.join(', ')}.`);
}
// 3. General encouragement/tip
feedbackMessages.push("Remember to focus on clear articulation and natural fluency when speaking. Keep practicing!");
aiFeedbackElem.style.display = "block";
aiFeedbackElem.innerHTML = "";
feedbackMessages.forEach((msg) => {
const p = document.createElement("p");
p.textContent = msg;
aiFeedbackElem.appendChild(p);
});
aiFeedbackElem.className = 'feedback-response correct'; // Use correct style as it's general advice
// No band estimate with rule-based feedback
document.getElementById('buildAnswerBandEstimate').style.display = 'none';
submitBtn.disabled = false;
userAnswerArea.disabled = false;
}
function nextBuildAnswer() {
currentBuildAnswerIndex = (currentBuildAnswerIndex + 1) % buildAnswerQuestions.length;
loadBuildAnswerQuestion();
}
function toggleBuildAnswerSample() {
const sampleElem = document.getElementById('buildAnswerSampleAnswer');
const toggleBtn = document.getElementById('toggleBuildAnswerSampleBtn');
if (sampleElem.style.display === 'none') {
sampleElem.innerHTML = `Sample Band 9 Answer: ${buildAnswerQuestions[currentBuildAnswerIndex].sample.replace(/\n/g, '
')}
`;
sampleElem.style.display = 'block';
toggleBtn.textContent = 'Hide Sample Band 9 Answer';
} else {
sampleElem.style.display = 'none';
toggleBtn.textContent = 'Show Sample Band 9 Answer';
}
}
// --- Initial Page Load and Event Listeners ---
window.addEventListener('load', () => {
// Load initial questions for each exercise
loadSynonymQuestion();
loadCollocationQuestion();
loadVocabFillQuestion();
loadErrorCorrectionQuestion();
loadSentenceTransformQuestion();
loadCombineSentencesQuestion();
loadSentenceOrderingQuestion();
loadConnectorsGapFillQuestion();
loadLogicalParagraphQuestion();
loadWordStressQuestion();
loadHomophoneQuestion();
loadSyllableSortQuestion();
loadBuildAnswerQuestion(); // Load the first Build Your Own Answer question
// Event Listeners for Build Your Own Answer
document.getElementById('submitBuildAnswer').addEventListener('click', getBuildAnswerFeedback); // Changed function name
document.getElementById('nextBuildAnswer').addEventListener('click', nextBuildAnswer);
document.getElementById('toggleBuildAnswerSampleBtn').addEventListener('click', toggleBuildAnswerSample);
// Smooth scroll for TOC links
document.querySelectorAll('.toc-sidebar a').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
document.querySelectorAll('.toc-sidebar ul li a').forEach(link => {
link.classList.remove('active');
});
this.classList.add('active');
});
});
// Highlight active TOC link based on scroll position
window.addEventListener('scroll', () => {
const sections = document.querySelectorAll('.toc-content h2, .toc-content h1, .toc-content h3');
const navLinks = document.querySelectorAll('.toc-sidebar ul li a');
let current = '';
sections.forEach(section => {
const sectionTop = section.offsetTop;
const sectionHeight = section.clientHeight;
if (pageYOffset >= sectionTop - window.innerHeight / 3) {
current = section.getAttribute('id');
}
});
navLinks.forEach(link => {
link.classList.remove('active');
if (link.getAttribute('href') && link.getAttribute('href').includes(current)) {
link.classList.add('active');
}
});
});
// Initialize active class on page load if hash exists
if (window.location.hash) {
const targetId = window.location.hash;
const targetLink = document.querySelector(`.toc-sidebar a[href="${targetId}"]`);
if (targetLink) {
targetLink.classList.add('active');
const targetElement = document.querySelector(targetId);
if (targetElement) {
const headerOffset = 100;
const elementPosition = targetElement.getBoundingClientRect().top + window.pageYOffset;
const offsetPosition = elementPosition - headerOffset;
window.scrollTo({
top: offsetPosition,
behavior: "smooth"
});
}
} else {
const firstLink = document.querySelector('.toc-sidebar ul li a');
if (firstLink) {
firstLink.classList.add('active');
}
}
} else {
const firstLink = document.querySelector('.toc-sidebar ul li a');
if (firstLink) {
firstLink.classList.add('active');
}
}
// Carousel functionality
function scrollCarousel(direction) {
const carousel = document.querySelector('.carousel-wrapper');
const itemWidth = carousel.querySelector('.carousel-item').offsetWidth + 30; // Item width + gap
carousel.scrollBy({ left: direction * itemWidth, behavior: 'smooth' });
}
window.scrollCarousel = scrollCarousel; // Make it globally accessible for the buttons
});
{
"@context": "https://schema.org",
"@type": ["Article", "HowTo"],
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://atomic-temporary-240268778.wpcomstaging.com/ielts-speaking-practice/part-1-hobbies-leisure-activities-practice/"
},
"headline": "IELTS Speaking Part 1: Hobbies & Leisure Activities - Interactive Practice",
"description": "Master IELTS Speaking Part 1 'Hobbies & Leisure Activities' with interactive exercises: vocabulary, grammar, coherence, pronunciation, and rule-based feedback for free-text answers.",
"image": {
"@type": "ImageObject",
"url": "https://placehold.co/1200x675/FBC462/000?text=IELTS+Hobbies+Practice",
"width": 1200,
"height": 675,
"alt": "A person engaging in various hobbies like reading, playing sports, or painting, with an IELTS score sheet."
},
"author": {
"@type": "Organization",
"name": "IELTS Training Camp"
},
"publisher": {
"@type": "Organization",
"name": "IELTS Training Camp",
"logo": {
"@type": "ImageObject",
"url": "https://atomic-temporary-240268778.wpcomstaging.com/logo/ieltstrainingcamp-logo.png",
"width": 250,
"height": 60
}
},
"datePublished": "2025-06-27T10:00:00+01:00",
"dateModified": "2025-07-02T23:00:00+01:00",
"keywords": [
"IELTS Speaking Part 1 Hobbies",
"IELTS Speaking Part 1 Leisure Activities",
"IELTS Speaking practice questions hobbies",
"Hobbies vocabulary for IELTS",
"Leisure activities vocabulary for IELTS",
"IELTS Speaking tips Part 1",
"IELTS practice exercises",
"IELTS speaking pronunciation",
"IELTS speaking coherence",
"IELTS preparation",
"English speaking course",
"free time IELTS",
"pastimes IELTS",
"IELTS grammar exercises",
"IELTS vocabulary exercises",
"IELTS fluency practice"
],
"potentialAction": [
{
"@type": "HowTo",
"name": "Practice IELTS Speaking Part 1 Hobbies & Leisure Activities Interactive Exercises",
"step": [
{
"@type": "HowToStep",
"name": "Vocabulary Booster: Synonym Match",
"text": "Match words to their synonyms to expand your lexical resource."
},
{
"@type": "HowToStep",
"name": "Vocabulary Booster: Collocation Quiz",
"text": "Test your knowledge of common word pairings for natural language use."
},
{
"@type": "HowToStep",
"name": "Vocabulary Booster: Fill in the Blanks",
"text": "Complete sentences with appropriate vocabulary words related to hobbies and leisure."
},
{
"@type": "HowToStep",
"name": "Grammar Range & Accuracy: Error Correction",
"text": "Identify and correct grammatical errors in sentences."
},
{
"@type": "HowToStep",
"name": "Grammar Range & Accuracy: Sentence Transformation",
"text": "Rewrite sentences using different grammatical structures as instructed."
},
{
"@type": "HowToStep",
"name": "Grammar Range & Accuracy: Combine Sentences",
"text": "Practice combining sentences using various conjunctions and relative clauses."
},
{
"@type": "HowToStep",
"name": "Fluency & Coherence: Sentence Ordering",
"text": "Arrange scrambled sentences into a logical and coherent paragraph."
},
{
"@type": "HowToStep",
"name": "Fluency & Coherence: Connectors Gap-Fill",
"text": "Choose the best linking words or phrases to improve sentence and paragraph flow."
},
{
"@type": "HowToStep",
"name": "Fluency & Coherence: Logical Paragraph Practice",
"text": "Select the most logical sentence to complete a given paragraph."
},
{
"@type": "HowToStep",
"name": "Pronunciation (Spelling/Word Form Practice): Word Stress Quiz",
"text": "Identify the stressed syllable in common hobbies and leisure words (text-based practice)."
},
{
"@type": "HowToStep",
"name": "Pronunciation (Spelling/Word Form Practice): Homophone Fill-in-the-Blank",
"text": "Choose the correct homophone to complete sentences, focusing on spelling and word form."
},
{
"@type": "HowToStep",
"name": "Pronunciation (Spelling/Word Form Practice): Syllable Sort",
"text": "Categorize words by the number of syllables they contain."
},
{
"@type": "HowToStep",
"name": "Build Your Own Answer: Free-Text Practice",
"text": "Type full answers to IELTS Part 1 questions and receive rule-based feedback on length and keyword usage."
}
]
}
],
"faqProperty": [
{
"@type": "Question",
"name": "How long should my answers be in IELTS Speaking Part 1?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Aim for 2-4 sentences per answer. This allows you to explain and expand without giving an overly long monologue. It's about quality and clarity, not quantity."
}
},
{
"@type": "Question",
"name": "Is it okay to talk about a unique or unusual hobby?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Absolutely! Talking about a unique hobby can make your answer more interesting. Just be prepared to explain it clearly and simply, in case the examiner is not familiar with it."
}
},
{
"@type": "Question",
"name": "What if I don't have many hobbies?",
"acceptedAnswer": {
"@type": "Answer",
"text": "It's fine. You can talk about simple activities you enjoy, even if they don't seem like 'hobbies.' For example, 'I enjoy spending time with my family,' or 'I like watching documentaries in my free time.' You can also mention activities you *used* to do or *would like* to try."
}
},
{
"@type": "Question",
"name": "Should I use specific names of books, movies, or games?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You can, but don't rely on them. The examiner is assessing your English, not your knowledge of specific titles. If you mention a title, quickly explain why you like it or what it's about, demonstrating your language skills."
}
},
{
"@type": "Question",
"name": "How can I make my answers sound more natural?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Use common phrases related to leisure (e.g., 'unwind and relax,' 'recharge my batteries'), linking words, and varied sentence structures. Practice speaking about your activities as if you're having a casual conversation, focusing on clear and concise explanations."
}
},
{
"@type": "Question",
"name": "How important is pronunciation when discussing hobbies?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pronunciation is crucial for all topics. Ensure your key vocabulary related to hobbies and leisure (e.g., 'leisure,' 'photography,' 'activity') is clear. While accent is not graded, intelligibility is key. Practice word stress and intonation for natural delivery."
}
}
]
}
IELTS Speaking Part 1: Hobbies & Leisure Activities - Interactive Practice
Welcome to your dedicated resource for **IELTS Speaking Part 1**, focusing on the popular topic of **Hobbies and Leisure Activities**. This is a common and often enjoyable topic for test-takers, as it allows you to talk about personal interests and experiences. Part 1 of the IELTS Speaking test serves as an introduction, where the examiner asks general questions on familiar subjects to assess your basic communication skills.
Your goal in Part 1 is to provide clear, well-developed answers (typically 2-4 sentences), demonstrating your range of vocabulary and grammatical structures. This page offers a comprehensive collection of **25 common questions**, essential vocabulary, expert tips, and a variety of **interactive exercises** to help you practice and improve across all IELTS criteria, ultimately aiming for a higher band score.
For an overall strategy for the speaking test, explore our main IELTS English Speaking Course page.
Importance of Hobbies & Leisure in IELTS Speaking Part 1
The topic of "Hobbies and Leisure Activities" is almost certainly going to appear in IELTS Speaking Part 1. Here's why preparing for it is highly beneficial:
- Relatable & Personal: Everyone has hobbies or ways they spend their free time, making this topic easy to discuss authentically and with genuine interest.
- Rich Vocabulary Opportunity: It allows you to use a diverse range of vocabulary related to various activities, emotions, and benefits of leisure, which can significantly boost your Lexical Resource score.
- Natural Flow & Fluency: Because it's a topic you're familiar with, you can often speak more naturally and fluently, reducing hesitation and improving your coherence.
- Grammar Variety: Discussing past hobbies, future plans for leisure, or comparing activities can naturally lead to using a variety of tenses and complex sentence structures, enhancing your Grammatical Range & Accuracy.
Mastering this topic can give you a confident start in the test and contribute positively to your overall band score.
[Source: Official IELTS Test Format Guidelines, British Council/IDP Education]
Common Questions on Hobbies & Leisure Activities (25 Questions)
Here are 25 typical questions you might encounter, along with tips on how to approach them:
General Hobbies & Leisure Questions
- 1. What do you do in your free time?
Tip: Start by mentioning your primary hobby or activity. - 2. How often do you do that activity?
Tip: Use adverbs of frequency (e.g., 'regularly,' 'occasionally,' 'once a week'). - 3. Who do you usually spend your leisure time with?
Tip: Mention friends, family, or if you prefer to be alone. - 4. Did you have any hobbies when you were a child?
Tip: Use past simple tense to describe childhood activities. - 5. How have your hobbies changed since your childhood?
Tip: Compare past and present interests, explaining why they changed. - 6. Do you prefer to spend your leisure time alone or with others?
Tip: State your preference and give a reason. - 7. What are the benefits of having a hobby?
Tip: Discuss personal growth, stress relief, social connections, etc. - 8. Is it important to have a balance between work/study and leisure?
Tip: Give your opinion and elaborate on the importance of balance. - 9. Do you think people have enough leisure time nowadays?
Tip: Discuss modern lifestyles and the challenges of finding free time. - 10. What new hobby would you like to try in the future?
Tip: Mention a specific activity and why it interests you. - 11. Do you think hobbies should be educational?
Tip: Give your opinion and explain whether hobbies need to teach something. - 12. What's a popular leisure activity in your country?
Tip: Mention a common pastime and briefly describe it. - 13. How do you relax after a long day?
Tip: Describe your preferred method of unwinding.
Specific Hobbies & Activities Questions
- 14. Do you enjoy reading? What kind of books do you read?
Tip: Mention genres you like and perhaps a recent book. - 15. Do you like playing sports? Which ones?
Tip: Name specific sports you play or follow. - 16. Do you enjoy listening to music? What kind of music do you like?
Tip: Discuss genres, artists, or when/where you listen. - 17. Do you like watching movies or TV shows? What's your favorite genre?
Tip: Mention preferred genres and perhaps a favorite film/show. - 18. Do you enjoy cooking or baking?
Tip: Talk about your experience, favorite dishes, or why you enjoy it. - 19. Do you like spending time outdoors? What outdoor activities do you do?
Tip: Mention hiking, cycling, gardening, etc. - 20. Do you like playing video games? What kind of games do you play?
Tip: Discuss genres or specific games. - 21. Do you enjoy photography or other creative hobbies?
Tip: Describe your creative pursuits and what you like about them. - 22. How important is travel to you as a leisure activity?
Tip: Discuss your passion for travel, memorable trips, or future plans. - 23. Do you prefer active or passive leisure activities?
Tip: State your preference (e.g., sports vs. reading) and explain why. - 24. What role does social media play in your leisure time?
Tip: Discuss how you use it for entertainment or connecting with interests. - 25. Do you think hobbies can help people learn new skills? How?
Tip: Give examples of skills learned through hobbies.
For more specific practice questions across various topics, check out our comprehensive IELTS Speaking Q&A section.
Vocabulary Boosters for Hobbies & Leisure
To impress the examiner, use a wide range of relevant vocabulary. Here's a list of words and phrases related to 'Hobbies & Leisure' that can help you sound more natural and precise. Try to incorporate these into your practice answers.
Hobbies & Leisure Vocabulary
- Types of Hobbies: reading, painting, drawing, photography, cooking, baking, gardening, hiking, cycling, swimming, playing sports (e.g., football, basketball, tennis), video gaming, board games, collecting (stamps, coins), knitting, crafting, playing musical instruments, singing, dancing, writing, volunteering.
- Describing Hobbies: engaging, captivating, relaxing, therapeutic, stimulating, challenging, rewarding, fulfilling, creative, active, passive, solitary, social, time-consuming, inexpensive, affordable, seasonal.
- Related Concepts: free time, spare time, downtime, leisure activities, pastime, recreation, unwinding, de-stressing, pursuing an interest, taking up a hobby, getting into something, a keen interest in, a passion for, a great way to.
- Phrases: to unwind and relax, to clear my head, to recharge my batteries, to keep fit, to stay active, to express creativity, to broaden my horizons, to pick up a new skill, to spend quality time, to escape from reality.
Expanding your lexical resource is key for higher band scores. Consider exploring our full list of Vocabulary Words for IELTS.
Grammar & Fluency Tips for Part 1
Beyond vocabulary, how you structure your answers and how smoothly you speak are critical.
- Extend Your Answers: Don't give one-word answers. Aim for 2-4 sentences. Use the EEE technique:
- **E**xplain (your direct answer)
- **E**xpand (add a detail or reason)
- **E**xample (give a brief personal example or illustration)
- Use Linking Words/Phrases: This improves coherence. Examples: "well," "actually," "to be honest," "I suppose," "as for me," "for instance," "in my opinion."
- Vary Sentence Structure: Mix simple and compound sentences.
- Maintain a Natural Pace: Don't rush or speak too slowly. Aim for a comfortable, conversational speed.
- Self-Correction: It's okay to correct small mistakes. It shows awareness.
For more general tips that apply across all parts of the test, visit our IELTS Tips and Strategies page.
Interactive Exercises
Interactive Practice: Hobbies & Leisure Skills
Test your understanding of vocabulary, grammar, coherence, and pronunciation related to Hobbies and Leisure with these interactive exercises!
📘 Section 1: Vocabulary Booster
1.1 Synonym Match
What is a synonym for "engaging" when describing a hobby?
1.2 Collocation Quiz
Choose the correct word to complete the collocation: "to play ______".
1.3 Fill in the Blanks (Vocabulary)
My favorite leisure is reading novels.
🧠 Section 2: Grammar Range & Accuracy
2.1 Error Correction
Identify and correct the error: "She enjoy reading books."
2.2 Sentence Transformation
Rewrite using 'despite': "Although it was raining, we went for a walk."
Despite , we went for a walk.
2.3 Combine Sentences
Combine using 'and': "I love hiking. I also love camping."
I love hiking camping.
🔗 Section 3: Fluency & Coherence
3.1 Sentence Ordering
Order these sentences to form a coherent paragraph:
3.2 Connectors Gap-Fill
I enjoy sports. , I also like reading.
3.3 Logical Paragraph Practice
Read the paragraph and choose the best concluding sentence:
"Reading is my favorite way to relax. I often spend hours immersed in a good book. It allows me to escape from daily stresses."
📚 Section 4: Pronunciation (Spelling/Word Form Practice)
4.1 Word Stress Quiz
Which syllable is stressed in the word "ac-TI-vi-ty"?
4.2 Homophone Fill-in-the-Blank
I like to my free time. (choose between 'waste' or 'waist')
4.3 Syllable Sort
How many syllables are in the word "hobby"?
✍️ Section 5: Build Your Own Answer
Practice answering full IELTS Part 1 questions and get feedback on your response. Focus on applying what you've learned!
Question 1/3: What do you do in your free time?
How to Practice Effectively
To make the most of this page and prepare for your IELTS Speaking test, follow these steps:
- Understand the Criteria: Familiarize yourself with the four marking criteria (Fluency & Coherence, Lexical Resource, Grammatical Range & Accuracy, Pronunciation).
- Study the Vocabulary: Go through the vocabulary lists provided. Try to incorporate new words and phrases naturally into your answers.
- Practice Answering Questions Aloud: Even though the interactive exercises are text-based, the real test is spoken. Practice answering the "Common Questions" section out loud, recording yourself if possible.
- Use the Interactive Exercises: Engage with all 12 types of exercises to strengthen specific areas. Pay attention to the feedback provided.
- Utilize "Build Your Own Answer": This section is crucial. Type out your full answers and use the feedback to refine your responses based on the IELTS criteria.
- Review Sample Answers: Compare your answers to the provided sample answers to identify areas for improvement in structure, vocabulary, and grammar.
- Seek Human Feedback: If possible, practice with a native speaker, an IELTS tutor, or a study partner who can provide honest feedback on your *spoken* responses.
- Time Yourself: For Part 1, aim for answers that are 2-4 sentences long. Practice keeping your answers concise yet informative.
Common Mistakes & How to Avoid Them
Be aware of these common pitfalls when discussing 'Hobbies & Leisure' in IELTS Part 1:
- Giving One-Word Answers: Avoid simply saying "Yes" or "No." Always extend your answer with a reason or an example.
Instead of: "Do you like reading? Yes."
Try: "Yes, I really enjoy reading because it helps me relax and learn new things." - Over-explaining/Monologuing: Part 1 requires concise answers. Don't go into too much detail as if it's Part 2 or 3.
Correction: Stick to 2-4 sentences per answer. - Using Overly Complex Vocabulary Incorrectly: It's better to use simpler vocabulary correctly than to misuse advanced words.
Correction: Focus on accuracy first, then expand your range. - Grammar Mistakes (especially tenses): Ensure you use appropriate tenses (e.g., present simple for current hobbies, past simple for childhood hobbies).
Correction: Review basic grammar rules and practice constructing correct sentences. - Lack of Cohesion: Not using linking words or logical connectors makes your answers sound disjointed.
Correction: Practice using phrases like "however," "therefore," "in addition," "for instance." - Memorizing Answers: Examiners can spot memorized answers easily. Your speech should sound natural and spontaneous.
Correction: Understand the questions and practice generating ideas, not memorizing full answers.
Frequently Asked Questions (FAQs)
Your Questions Answered
How long should my answers be in IELTS Speaking Part 1?
Aim for 2-4 sentences per answer. This allows you to explain and expand without giving an overly long monologue. It's about quality and clarity, not quantity.
Is it okay to talk about a unique or unusual hobby?
Absolutely! Talking about a unique hobby can make your answer more interesting. Just be prepared to explain it clearly and simply, in case the examiner is not familiar with it.
What if I don't have many hobbies?
It's fine. You can talk about simple activities you enjoy, even if they don't seem like "hobbies." For example, 'I enjoy spending time with my family,' or 'I like watching documentaries in my free time.' You can also mention activities you *used* to do or *would like* to try.
Should I use specific names of books, movies, or games?
You can, but don't rely on them. The examiner is assessing your English, not your knowledge of specific titles. If you mention a title, quickly explain why you like it or what it's about, demonstrating your language skills.
How can I make my answers sound more natural?
Use common phrases related to leisure (e.g., 'unwind and relax,' 'recharge my batteries'), linking words, and varied sentence structures. Practice speaking about your activities as if you're having a casual conversation, focusing on clear and concise explanations.
How important is pronunciation when discussing hobbies?
Pronunciation is crucial for all topics. Ensure your key vocabulary related to hobbies and leisure (e.g., 'leisure,' 'photography,' 'activity') is clear. While accent is not graded, intelligibility is key. Practice word stress and intonation for natural delivery.
Conclusion
Mastering IELTS Speaking Part 1, especially on common topics like Hobbies and Leisure Activities, is fundamental to achieving a high band score. By understanding the examiner's criteria, expanding your vocabulary, practicing grammatical accuracy, and enhancing your fluency, you can confidently navigate this section of the test.
The interactive exercises on this page are designed to give you targeted practice in key areas. Remember to combine these text-based exercises with actual spoken practice to fully prepare for the dynamic nature of the IELTS Speaking test. Keep practicing, and you'll be well on your way to success!
Explore More IELTS Speaking Guides
IELTS Speaking Part 1: Work/Study Practice
Practice common questions about your job or academic life with vocabulary and tips.
Start PracticeIELTS Speaking Part 1: Home Practice
Practice common questions about your home and living situation with vocabulary and tips.
Start PracticeIELTS Speaking Part 1: Weather Practice
Master questions about weather and climate with essential vocabulary and sample answers.
Start PracticeIELTS Speaking Part 1: Hometown Practice
Prepare for questions about your hometown, its features, and what you like about it.
Start PracticeIELTS Speaking Part 2: Long Turn Strategy
Understand how to speak for 1-2 minutes on a given topic using cue cards.
Learn MoreDespite , we went for a walk.', a: 'the rain', tip: '"Despite" is followed by a noun or gerund phrase.' }, { q: 'Rewrite starting with \'Not only\': "He is a talented musician. He is also a great painter."
Not only , but he is also a great painter.', a: 'is he a talented musician', tip: 'Inversion occurs after "Not only" at the beginning of a sentence.' }, { q: 'Rewrite using a passive voice: "Many people enjoy playing video games."
Video games by many people.', a: 'are enjoyed', tip: 'Passive voice: "are + past participle".' }, { q: 'Rewrite using \'unless\': "You won\'t improve your skills if you don\'t practice regularly."
You won\'t improve your skills regularly.', a: 'unless you practice', tip: '"Unless" means "if not".' }, { q: 'Rewrite using \'such a\': "It was a very relaxing evening. I felt completely refreshed."
It was that I felt completely refreshed.', a: 'such a relaxing evening', tip: '"Such a/an + adjective + noun + that" for emphasis.' }, { q: 'Rewrite using \'in spite of\': "She was tired, but she continued her hobby."
In spite of , she continued her hobby.', a: 'being tired', tip: '"In spite of" is followed by a noun or gerund phrase.' }, { q: 'Rewrite using \'had\' for a past perfect: "First, I finished my chores. Then, I started my hobby."
After I , I started my hobby.', a: 'had finished my chores', tip: 'Past perfect indicates an action completed before another past action.' }, { q: 'Rewrite using \'so...that\': "The book was very interesting. I couldn\'t put it down."
The book was I couldn\'t put it down.', a: 'so interesting that', tip: '"So + adjective/adverb + that" for cause and effect.' }, { q: 'Rewrite using \'due to\': "The outdoor activity was cancelled because of heavy rain."
The outdoor activity was cancelled heavy rain.', a: 'due to', tip: '"Due to" is followed by a noun phrase.' }, { q: 'Rewrite using \'it is said that\': "People say he is a keen photographer."
a keen photographer.', a: 'It is said that he is', tip: 'Impersonal passive construction.' }, { q: 'Rewrite using \'would rather\': "I prefer to read a book rather than watch TV."
I a book than watch TV.', a: 'would rather read', tip: '"Would rather + base verb + than + base verb" for preference.' }, { q: 'Rewrite using \'provided that\': "You can join the club if you are over 18."
You can join the club over 18.', a: 'provided that you are', tip: '"Provided that" means "if" or "on condition that".' }, { q: 'Rewrite using \'would have\': "He didn\'t practice, so he didn\'t win the competition."
If he had practiced, he the competition.', a: 'would have won', tip: 'Third Conditional: "If + past perfect, would have + past participle".' }, { q: 'Rewrite using \'as long as\': "You can use my equipment if you are careful."
You can use my equipment careful.', a: 'as long as you are', tip: '"As long as" means "on condition that".' }, { q: 'Rewrite using \'tend to\': "I usually feel relaxed when I garden."
I relaxed when I garden.', a: 'tend to feel', tip: '"Tend to" expresses a general habit or inclination.' } ]; let currentSentenceTransformIndex = 0; const combineSentencesQuestions = [ { q: 'Combine using \'and\': "I love hiking. I also love camping."
I love hiking camping.', a: 'and' }, { q: 'Combine using \'because\': "She enjoys painting. It helps her relax."
She enjoys painting it helps her relax.', a: 'because' }, { q: 'Combine using \'although\': "The weather was bad. We still went for a walk."
the weather was bad, we still went for a walk.', a: 'Although' }, { q: 'Combine using \'so\': "I had a lot of free time. I decided to take up a new hobby."
I had a lot of free time, I decided to take up a new hobby.', a: 'so' }, { q: 'Combine using \'who\': "He is my friend. He introduced me to photography."
He is my friend introduced me to photography.', a: 'who' }, { q: 'Combine using \'where\': "This is the park. I usually go for a run here."
This is the park I usually go for a run.', a: 'where' }, { q: 'Combine using \'but\': "I enjoy reading. I don\'t read very often."
I enjoy reading, I don\'t read very often.', a: 'but' }, { q: 'Combine using \'after\': "I finished my work. I went to my painting class."
finishing my work, I went to my painting class.', a: 'After' }, { q: 'Combine using \'before\': "I always stretch. I go for a run."
I always stretch I go for a run.', a: 'before' }, { q: 'Combine using \'while\': "I was listening to music. I was cleaning my room."
I was listening to music, I was cleaning my room.', a: 'While' }, { q: 'Combine using \'unless\': "You won\'t learn to play an instrument. You practice consistently."
You won\'t learn to play an instrument you practice consistently.', a: 'unless' }, { q: 'Combine using \'since\': "I have been collecting stamps. I was a child."
I have been collecting stamps I was a child.', a: 'since' }, { q: 'Combine using \'that\': "I believe something. Hobbies are important for well-being."
I believe hobbies are important for well-being.', a: 'that' }, { q: 'Combine using \'whether\': "I am not sure. I should join the gym or try yoga."
I am not sure I should join the gym or try yoga.', a: 'whether' }, { q: 'Combine using \'if\': "You have free time. You should try a new hobby."
you have free time, you should try a new hobby.', a: 'If' }, { q: 'Combine using \'when\': "I was young. I loved playing outside."
I was young, I loved playing outside.', a: 'When' }, { q: 'Combine using \'as well as\': "She enjoys painting. She enjoys drawing."
She enjoys painting drawing.', a: 'as well as' }, { q: 'Combine using \'in order to\': "I exercise regularly. I want to stay fit."
I exercise regularly stay fit.', a: 'in order to' }, { q: 'Combine using \'despite the fact that\': "It was very hot. We still played badminton."
it was very hot, we still played badminton.', a: 'Despite the fact that' }, { q: 'Combine using \'provided that\': "You can use my art supplies. You put them back neatly."
You can use my art supplies you put them back neatly.', a: 'provided that' } ]; let currentCombineSentencesIndex = 0; // Section 3: Fluency & Coherence const sentenceOrderingQuestions = [ { q: [ "1. It helps me relax and clear my mind.", "2. My favorite leisure activity is reading.", "3. I usually read for an hour before bed." ], a: "231", full: "My favorite leisure activity is reading. I usually read for an hour before bed. It helps me relax and clear my mind." }, { q: [ "1. This allows me to stay active and healthy.", "2. I enjoy playing various sports in my free time.", "3. My favorites are badminton and swimming." ], a: "231", full: "I enjoy playing various sports in my free time. My favorites are badminton and swimming. This allows me to stay active and healthy." }, { q: [ "1. It's a great way to express myself.", "2. I recently took up painting as a hobby.", "3. I find it very therapeutic and rewarding." ], a: "231", full: "I recently took up painting as a hobby. I find it very therapeutic and rewarding. It's a great way to express myself." }, { q: [ "1. This helps me unwind and recharge.", "2. After a busy week, I like to spend time outdoors.", "3. Going for long walks in nature is my preferred way to relax." ], a: "231", full: "After a busy week, I like to spend time outdoors. Going for long walks in nature is my preferred way to relax. This helps me unwind and recharge." }, { q: [ "1. It offers a lot of creative freedom.", "2. Photography has been a passion of mine for years.", "3. I love capturing moments and telling stories through images." ], a: "231", full: "Photography has been a passion of mine for years. I love capturing moments and telling stories through images. It offers a lot of creative freedom." }, { q: [ "1. This helps me stay updated with global events.", "2. In my free time, I often watch documentaries.", "3. I find them both entertaining and informative." ], a: "231", full: "In my free time, I often watch documentaries. I find them both entertaining and informative. This helps me stay updated with global events." }, { q: [ "1. It's a fantastic way to bond and have fun.", "2. I enjoy playing board games with my friends.", "3. We usually meet once a week for a game night." ], a: "231", full: "I enjoy playing board games with my friends. We usually meet once a week for a game night. It's a fantastic way to bond and have fun." }, { q: [ "1. This allows me to explore different cultures and cuisines.", "2. Cooking is one of my favorite leisure activities.", "3. I love experimenting with new recipes from around the world." ], a: "231", full: "Cooking is one of my favorite leisure activities. I love experimenting with new recipes from around the world. This allows me to explore different cultures and cuisines." }, { q: [ "1. It helps me improve my concentration and strategic thinking.", "2. Playing chess is a mentally stimulating hobby for me.", "3. I often play online against opponents from different countries." ], a: "231", full: "Playing chess is a mentally stimulating hobby for me. I often play online against opponents from different countries. It helps me improve my concentration and strategic thinking." }, { q: [ "1. This helps me keep my mind sharp and active.", "2. I enjoy solving puzzles, especially Sudoku and crosswords.", "3. It's a great way to pass the time on my commute." ], a: "231", full: "I enjoy solving puzzles, especially Sudoku and crosswords. It's a great way to pass the time on my commute. This helps me keep my mind sharp and active." } ]; let currentSentenceOrderingIndex = 0; const connectorsGapFillQuestions = [ { q: 'I enjoy reading novels. , I also like listening to podcasts.', options: ['However', 'Therefore', 'In addition', 'For example'], a: 'In addition' }, { q: 'I love playing sports; , I make sure to exercise regularly.', options: ['however', 'consequently', 'in contrast', 'nevertheless'], a: 'consequently' }, { q: 'She spends a lot of time gardening. , her garden is always beautiful.', options: ['However', 'Therefore', 'In addition', 'Despite this'], a: 'Therefore' }, { q: 'I enjoy painting. , it helps me relax after a stressful day.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'In addition' }, { q: 'I wanted to learn a new skill. , I decided to take up photography.', options: ['However', 'Therefore', 'As a result', 'In short'], a: 'As a result' }, { q: 'Playing video games can be fun. , it can be very time-consuming.', options: ['Similarly', 'Consequently', 'On the other hand', 'For example'], a: 'On the other hand' }, { q: 'I like active hobbies. , I also enjoy quiet activities like reading.', options: ['Furthermore', 'However', 'Therefore', 'In addition'], a: 'However' }, { q: 'He is a very keen musician. , he practices for hours every day.', options: ['Nevertheless', 'As a result', 'In contrast', 'Despite that'], a: 'As a result' }, { q: 'I go for a run every morning. , I also do yoga in the evenings.', options: ['However', 'Therefore', 'In addition', 'For instance'], a: 'In addition' }, { q: 'The weather was terrible. , we still went for our outdoor activity.', options: ['Therefore', 'Nevertheless', 'As a result', 'In short'], a: 'Nevertheless' }, { q: 'I enjoy collecting stamps. , I find it a very relaxing pastime.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'In addition' }, { q: 'She is very good at cooking. , she rarely has time to cook.', options: ['Furthermore', 'However', 'Therefore', 'As a result'], a: 'However' }, { q: 'I want to improve my fitness. , I joined a local sports club.', options: ['However', 'Therefore', 'In contrast', 'For example'], a: 'Therefore' }, { q: 'The club offers many activities. , they have excellent facilities.', options: ['Moreover', 'However', 'Therefore', 'In short'], a: 'Moreover' }, { q: 'I prefer solitary hobbies. , some of my friends prefer group activities.', options: ['Therefore', 'In contrast', 'In addition', 'Consequently'], a: 'In contrast' }, { q: 'My hobby is time-consuming. , I find it very rewarding.', options: ['Therefore', 'However', 'In addition', 'As a result'], a: 'However' }, { q: 'I need to unwind after work. , I usually listen to music.', options: ['However', 'In addition', 'Therefore', 'In contrast'], a: 'Therefore' }, { q: 'Learning a new instrument is challenging. , it's a very fulfilling experience.', options: ['Therefore', 'Nevertheless', 'In contrast', 'Consequently'], a: 'Nevertheless' }, { q: 'I find creative hobbies enjoyable. , they require a lot of patience.', options: ['Therefore', 'However', 'In addition', 'As a result'], a: 'However' }, { q: 'He is a busy professional. , he always makes time for his hobbies.', options: ['Therefore', 'Nevertheless', 'In addition', 'Consequently'], a: 'Nevertheless' } ]; let currentConnectorsGapFillIndex = 0; const logicalParagraphQuestions = [ { q: 'Reading is my favorite way to relax. I often spend hours immersed in a good book. It allows me to escape from daily stresses.', options: [ 'Therefore, I rarely read.', 'It is a very boring activity.', 'This makes it a perfect therapeutic pastime for me.', 'I prefer watching TV instead.' ], a: 'This makes it a perfect therapeutic pastime for me.' }, { q: 'I enjoy playing various sports in my free time. My favorites are badminton and swimming. This allows me to stay active and healthy.', options: [ 'However, I dislike all forms of exercise.', 'Sports are not popular in my country.', 'It is crucial for maintaining my physical and mental well-being.', 'I prefer sedentary activities.' ], a: 'It is crucial for maintaining my physical and mental well-being.' }, { q: 'I recently took up painting as a hobby. I find it very therapeutic and rewarding. It\'s a great way to express myself.', options: [ 'I am not very good at it.', 'This creative outlet helps me unwind after a long week.', 'I prefer more active hobbies.', 'It is a very expensive hobby.' ], a: 'This creative outlet helps me unwind after a long week.' }, { q: 'After a busy week, I like to spend time outdoors. Going for long walks in nature is my preferred way to relax. This helps me unwind and recharge.', options: [ 'I never go outside.', 'I prefer to stay indoors and watch movies.', 'The fresh air and natural beauty are incredibly refreshing.', 'Outdoor activities are too tiring for me.' ], a: 'The fresh air and natural beauty are incredibly refreshing.' }, { q: 'Photography has been a passion of mine for years. I love capturing moments and telling stories through images. It offers a lot of creative freedom.', options: [ 'I never take photos.', 'However, it can be an expensive hobby to pursue.', 'I prefer to draw instead of taking pictures.', 'It is a very simple hobby.' ], a: 'However, it can be an expensive hobby to pursue.' }, { q: 'In my free time, I often watch documentaries. I find them both entertaining and informative. This helps me stay updated with global events.', options: [ 'I only watch fictional movies.', 'I prefer to read news articles instead.', 'They offer a great way to learn about new subjects and broaden my perspective.', 'Documentaries are usually boring.' ], a: 'They offer a great way to learn about new subjects and broaden my perspective.' }, { q: 'I enjoy playing board games with my friends. We usually meet once a week for a game night. It\'s a fantastic way to bond and have fun.', options: [ 'I prefer playing video games alone.', 'Board games are too complicated for me.', 'This social interaction is very important for my mental well-being.', 'We often argue during game nights.' ], a: 'This social interaction is very important for my mental well-being.' }, { q: 'Cooking is one of my favorite leisure activities. I love experimenting with new recipes from around the world. This allows me to explore different cultures and cuisines.', options: [ 'I never cook at home.', 'I prefer eating out all the time.', 'It\'s a creative process that results in delicious meals for my family and friends.', 'Cooking is a chore for me.' ], a: 'It\'s a creative process that results in delicious meals for my family and friends.' }, { q: 'Playing chess is a mentally stimulating hobby for me. I often play online against opponents from different countries. It helps me improve my concentration and strategic thinking.', options: [ 'Chess is a boring game.', 'I prefer physical activities over mental ones.', 'This intellectual challenge keeps my brain active and engaged.', 'I always lose when playing chess.' ], a: 'This intellectual challenge keeps my brain active and engaged.' }, { q: 'I enjoy solving puzzles, especially Sudoku and crosswords. It\'s a great way to pass the time on my commute. This helps me keep my mind sharp and active.', options: [ 'Puzzles are too difficult for me.', 'I prefer to sleep during my commute.', 'These activities provide a mental workout and a sense of accomplishment.', 'I find puzzles very frustrating.' ], a: 'These activities provide a mental workout and a sense of accomplishment.' } ]; let currentLogicalParagraphIndex = 0; // Section 4: Pronunciation (Spelling/Word Form Practice) const wordStressQuestions = [ { q: 'Which syllable is stressed in the word "ac-TI-vi-ty"?', options: ['ac', 'ti', 'vi', 'ty'], a: 'ti', explanation: 'ac-TI-vi-ty' }, { q: 'Which syllable is stressed in the word "LEI-sure"?', options: ['lei', 'sure'], a: 'lei', explanation: 'LEI-sure' }, { q: 'Which syllable is stressed in the word "PHO-to-gra-phy"?', options: ['pho', 'to', 'gra', 'phy'], a: 'tog', explanation: 'pho-TOG-ra-phy' }, { q: 'Which syllable is stressed in the word "RE-lax"?', options: ['re', 'lax'], a: 'lax', explanation: 're-LAX' }, { q: 'Which syllable is stressed in the word "HOB-by"?', options: ['hob', 'by'], a: 'hob', explanation: 'HOB-by' }, { q: 'Which syllable is stressed in the word "GAR-den-ing"?', options: ['gar', 'den', 'ing'], a: 'gar', explanation: 'GAR-den-ing' }, { q: 'Which syllable is stressed in the word "CRE-a-tive"?', options: ['cre', 'a', 'tive'], a: 'a', explanation: 'cre-A-tive' }, { q: 'Which syllable is stressed in the word "THER-a-peu-tic"?', options: ['ther', 'a', 'peu', 'tic'], a: 'peu', explanation: 'ther-a-PEU-tic' }, { q: 'Which syllable is stressed in the word "IN-ter-est"?', options: ['in', 'ter', 'est'], a: 'in', explanation: 'IN-ter-est' }, { q: 'Which syllable is stressed in the word "COL-lect-ing"?', options: ['col', 'lect', 'ing'], a: 'lect', explanation: 'col-LECT-ing' }, { q: 'Which syllable is stressed in the word "EX-er-cise"?', options: ['ex', 'er', 'cise'], a: 'ex', explanation: 'EX-er-cise' }, { q: 'Which syllable is stressed in the word "MU-sic-al"?', options: ['mu', 'sic', 'al'], a: 'mu', explanation: 'MU-sic-al' }, { q: 'Which syllable is stressed in the word "IN-stru-ment"?', options: ['in', 'stru', 'ment'], a: 'in', explanation: 'IN-stru-ment' }, { q: 'Which syllable is stressed in the word "VO-lun-TEER"?', options: ['vo', 'lun', 'teer'], a: 'teer', explanation: 'vo-lun-TEER' }, { q: 'Which syllable is stressed in the word "EN-joy-ment"?', options: ['en', 'joy', 'ment'], a: 'joy', explanation: 'en-JOY-ment' } ]; let currentWordStressIndex = 0; const homophoneQuestions = [ { q: 'I like to my free time. (choose between \'waste\' or \'waist\')', a: 'waste', tip: 'Waste (verb) means to use carelessly. Waist (noun) is part of the body.' }, { q: 'I need to a new skill. (choose between \'learn\' or \'lurn\')', a: 'learn', tip: 'Learn (verb) means to gain knowledge or a skill. "Lurn" is not a word.' }, { q: 'The of the story was very interesting. (choose between \'plot\' or \'plat\')', a: 'plot', tip: 'Plot (noun) is the main events of a story. "Plat" is not a word.' }, { q: 'I like to music while I work. (choose between \'hear\' or \'here\')', a: 'hear', tip: 'Hear (verb) means to perceive sound. Here (adverb) means in this place.' }, { q: 'She has a great for painting. (choose between \'talent\' or \'talant\')', a: 'talent', tip: 'Talent (noun) is a natural aptitude or skill. "Talant" is not a word.' }, { q: 'The weather will our outdoor plans. (choose between \'affect\' or \'effect\')', a: 'affect', tip: 'Affect (verb) means to influence. Effect (noun) means a result.' }, { q: 'I need to my energy after exercising. (choose between \'recharge\' or \'recharj\')', a: 'recharge', tip: 'Recharge (verb) means to restore energy. "Recharj" is not a word.' }, { q: 'He likes to his free time with friends. (choose between \'spend\' or \'spand\')', a: 'spend', tip: 'Spend (verb) means to use time or money. "Spand" is not a word.' }, { q: 'The of the book was very exciting. (choose between \'ending\' or \'endingg\')', a: 'ending', tip: 'Ending (noun) is the final part. "Endingg" is not a word.' }, { q: 'I want to a new language. (choose between \'study\' or \'studi\')', a: 'study', tip: 'Study (verb) means to acquire knowledge. "Studi" is not a word.' }, { q: 'My favorite is playing guitar. (choose between \'hobby\' or \'hobbie\')', a: 'hobby', tip: 'Hobby (noun) is an activity done for pleasure. "Hobbie" is not the correct spelling.' }, { q: 'I like to my mind by meditating. (choose between \'clear\' or \'cleer\')', a: 'clear', tip: 'Clear (verb) means to make free from obstruction. "Cleer" is not a word.' }, { q: 'She has a great of books. (choose between \'collection\' or \'collecsion\')', a: 'collection', tip: 'Collection (noun) is a group of things. "Collecsion" is not a word.' }, { q: 'I enjoy in outdoor activities. (choose between \'engaging\' or \'engajing\')', a: 'engaging', tip: 'Engaging (verb) means to participate. "Engajing" is not a word.' }, { q: 'It\'s important to have a good work-life . (choose between \'balance\' or \'balanse\')', a: 'balance', tip: 'Balance (noun) means an even distribution. "Balanse" is not a word.' } ]; let currentHomophoneIndex = 0; const syllableSortQuestions = [ { q: 'How many syllables are in the word "hobby"?', options: ['1', '2', '3', '4'], a: '2', explanation: 'hob-by (2 syllables)' }, { q: 'How many syllables are in the word "activity"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'ac-ti-vi-ty (4 syllables)' }, { q: 'How many syllables are in the word "leisure"?', options: ['1', '2', '3', '4'], a: '2', explanation: 'lei-sure (2 syllables)' }, { q: 'How many syllables are in the word "photography"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'pho-tog-ra-phy (4 syllables)' }, { q: 'How many syllables are in the word "relaxing"?', options: ['2', '3', '4', '5'], a: '3', explanation: 're-lax-ing (3 syllables)' }, { q: 'How many syllables are in the word "gardening"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'gar-den-ing (3 syllables)' }, { q: 'How many syllables are in the word "creative"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'cre-a-tive (3 syllables)' }, { q: 'How many syllables are in the word "therapeutic"?', options: ['3', '4', '5', '6'], a: '4', explanation: 'ther-a-peu-tic (4 syllables)' }, { q: 'How many syllables are in the word "interest"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'in-ter-est (3 syllables)' }, { q: 'How many syllables are in the word "collecting"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'col-lect-ing (3 syllables)' }, { q: 'How many syllables are in the word "exercise"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'ex-er-cise (3 syllables)' }, { q: 'How many syllables are in the word "musical"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'mu-sic-al (3 syllables)' }, { q: 'How many syllables are in the word "instrument"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'in-stru-ment (3 syllables)' }, { q: 'How many syllables are in the word "volunteering"?', options: ['4', '5', '6', '7'], a: '5', explanation: 'vo-lun-teer-ing (5 syllables)' }, { q: 'How many syllables are in the word "enjoyment"?', options: ['2', '3', '4', '5'], a: '3', explanation: 'en-joy-ment (3 syllables)' } ]; let currentSyllableSortIndex = 0; // Section 5: Build Your Own Answer (Rule-based Feedback) const buildAnswerQuestions = [ { q: "What do you do in your free time?", sample: "In my free time, I really enjoy reading. I try to read for at least an hour every day, usually before bed. It helps me unwind and learn new things.", minWords: 15, maxWords: 40, keywords: ['reading', 'playing', 'watching', 'listening', 'cooking', 'gardening', 'hiking', 'exercising', 'hobby', 'leisure', 'free time', 'relax', 'unwind'] }, { q: "Do you prefer to spend your leisure time alone or with others?", sample: "I generally prefer to spend my leisure time with others, especially my friends. We often go hiking or play board games together. I find these activities more enjoyable and social.", minWords: 20, maxWords: 50, keywords: ['alone', 'others', 'friends', 'family', 'social', 'solitary', 'group', 'together'] }, { q: "Did you have any hobbies when you were a child?", sample: "Yes, when I was a child, I used to collect stamps. I had a huge collection from different countries. It was a fascinating hobby that taught me a lot about geography.", minWords: 20, maxWords: 50, keywords: ['child', 'childhood', 'young', 'used to', 'collect', 'play', 'learn', 'remember'] }, { q: "Are there any new hobbies you would like to try?", sample: "Definitely! I've always wanted to try pottery. I find the idea of creating something with my hands very appealing and therapeutic. I hope to join a class soon.", minWords: 20, maxWords: 50, keywords: ['new hobby', 'try', 'learn', 'want to', 'would like to', 'explore', 'interested in'] } ]; let currentBuildAnswerIndex = 0; // --- Helper Functions for Exercises --- function getRadioValue(name) { const radios = document.querySelectorAll(`input[name="${name}"]:checked`); return radios.length > 0 ? radios[0].value : null; } function setFeedback(elementId, isCorrect, message) { const feedbackElem = document.getElementById(elementId); feedbackElem.textContent = message; feedbackElem.className = `exercise-feedback ${isCorrect ? 'correct' : 'incorrect'}`; feedbackElem.style.display = 'block'; } function clearRadioSelection(name) { document.querySelectorAll(`input[name="${name}"]`).forEach(radio => radio.checked = false); } function disableRadioOptions(name, disabled) { document.querySelectorAll(`input[name="${name}"]`).forEach(radio => radio.disabled = disabled); } // --- Exercise 1.1: Synonym Match --- function loadSynonymQuestion() { const qData = synonymQuestions[currentSynonymIndex]; document.getElementById('synonymQuestion').textContent = qData.q; const optionsElem = document.getElementById('synonymOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'synonym'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option}`)); optionsElem.appendChild(label); }); document.getElementById('synonymFeedback').style.display = 'none'; disableRadioOptions('synonym', false); } function checkSynonym() { const userAnswer = getRadioValue('synonym'); const correctAnswer = synonymQuestions[currentSynonymIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('synonymFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${correctAnswer}".`); disableRadioOptions('synonym', true); } function nextSynonym() { currentSynonymIndex = (currentSynonymIndex + 1) % synonymQuestions.length; loadSynonymQuestion(); } // --- Exercise 1.2: Collocation Quiz --- function loadCollocationQuestion() { const qData = collocationQuestions[currentCollocationIndex]; document.getElementById('collocationQuestion').textContent = qData.q; const optionsElem = document.getElementById('collocationOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'collocation'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option}`)); optionsElem.appendChild(label); }); document.getElementById('collocationFeedback').style.display = 'none'; disableRadioOptions('collocation', false); } function checkCollocation() { const userAnswer = getRadioValue('collocation'); const correctAnswer = collocationQuestions[currentCollocationIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('collocationFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${correctAnswer}".`); disableRadioOptions('collocation', true); } function nextCollocation() { currentCollocationIndex = (currentCollocationIndex + 1) % collocationQuestions.length; loadCollocationQuestion(); } // --- Exercise 1.3: Fill in the Blanks (Vocabulary) --- function loadVocabFillQuestion() { const qData = vocabFillQuestions[currentVocabFillIndex]; document.getElementById('vocabFillQuestion').innerHTML = qData.q; document.getElementById('vocabFillInput').value = ''; document.getElementById('vocabFillFeedback').style.display = 'none'; document.getElementById('vocabFillInput').disabled = false; } function checkVocabFill() { const userAnswer = document.getElementById('vocabFillInput').value.trim().toLowerCase(); const correctAnswer = vocabFillQuestions[currentVocabFillIndex].a.toLowerCase(); const isCorrect = userAnswer === correctAnswer; setFeedback('vocabFillFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${vocabFillQuestions[currentVocabFillIndex].a}".`); document.getElementById('vocabFillInput').disabled = true; } function nextVocabFill() { currentVocabFillIndex = (currentVocabFillIndex + 1) % vocabFillQuestions.length; loadVocabFillQuestion(); } // --- Exercise 2.1: Error Correction --- function loadErrorCorrectionQuestion() { const qData = errorCorrectionQuestions[currentErrorCorrectionIndex]; document.getElementById('errorCorrectionQuestion').textContent = qData.q; document.getElementById('errorCorrectionInput').value = ''; document.getElementById('errorCorrectionFeedback').style.display = 'none'; document.getElementById('errorCorrectionInput').disabled = false; } function checkErrorCorrection() { const userAnswer = document.getElementById('errorCorrectionInput').value.trim().toLowerCase(); const correctAnswer = errorCorrectionQuestions[currentErrorCorrectionIndex].a.toLowerCase(); const isCorrect = userAnswer === correctAnswer; setFeedback('errorCorrectionFeedback', isCorrect, isCorrect ? `Correct! ${errorCorrectionQuestions[currentErrorCorrectionIndex].tip}` : `Incorrect. The correct answer is "${errorCorrectionQuestions[currentErrorCorrectionIndex].a}". ${errorCorrectionQuestions[currentErrorCorrectionIndex].tip}`); document.getElementById('errorCorrectionInput').disabled = true; } function nextErrorCorrection() { currentErrorCorrectionIndex = (currentErrorCorrectionIndex + 1) % errorCorrectionQuestions.length; loadErrorCorrectionQuestion(); } // --- Exercise 2.2: Sentence Transformation --- function loadSentenceTransformQuestion() { const qData = sentenceTransformQuestions[currentSentenceTransformIndex]; document.getElementById('sentenceTransformQuestion').innerHTML = qData.q; document.getElementById('sentenceTransformInput').value = ''; document.getElementById('sentenceTransformFeedback').style.display = 'none'; document.getElementById('sentenceTransformInput').disabled = false; } function checkSentenceTransform() { const userAnswer = document.getElementById('sentenceTransformInput').value.trim().toLowerCase(); const correctAnswer = sentenceTransformQuestions[currentSentenceTransformIndex].a.toLowerCase(); const isCorrect = userAnswer === correctAnswer; setFeedback('sentenceTransformFeedback', isCorrect, isCorrect ? `Correct! ${sentenceTransformQuestions[currentSentenceTransformIndex].tip}` : `Incorrect. The correct answer is "${sentenceTransformQuestions[currentSentenceTransformIndex].a}". ${sentenceTransformQuestions[currentSentenceTransformIndex].tip}`); document.getElementById('sentenceTransformInput').disabled = true; } function nextSentenceTransform() { currentSentenceTransformIndex = (currentSentenceTransformIndex + 1) % sentenceTransformQuestions.length; loadSentenceTransformQuestion(); } // --- Exercise 2.3: Combine Sentences --- function loadCombineSentencesQuestion() { const qData = combineSentencesQuestions[currentCombineSentencesIndex]; const questionElem = document.getElementById('combineSentencesQuestion'); // Handle multiple blanks if necessary, but current data only has one questionElem.innerHTML = qData.q; document.getElementById('combineSentencesInput').value = ''; document.getElementById('combineSentencesFeedback').style.display = 'none'; document.getElementById('combineSentencesInput').disabled = false; } function checkCombineSentences() { const userAnswer = document.getElementById('combineSentencesInput').value.trim().toLowerCase(); const correctAnswer = combineSentencesQuestions[currentCombineSentencesIndex].a.toLowerCase(); const isCorrect = userAnswer === correctAnswer; setFeedback('combineSentencesFeedback', isCorrect, isCorrect ? 'Correct!' : `Incorrect. The correct answer is "${combineSentencesQuestions[currentCombineSentencesIndex].a}".`); document.getElementById('combineSentencesInput').disabled = true; } function nextCombineSentences() { currentCombineSentencesIndex = (currentCombineSentencesIndex + 1) % combineSentencesQuestions.length; loadCombineSentencesQuestion(); } // --- Exercise 3.1: Sentence Ordering --- function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; } function loadSentenceOrderingQuestion() { const qData = sentenceOrderingQuestions[currentSentenceOrderingIndex]; const listElem = document.getElementById('sentenceOrderingList'); listElem.innerHTML = ''; const shuffledSentences = shuffleArray([...qData.q]); // Shuffle a copy shuffledSentences.forEach((sentence, index) => { const li = document.createElement('li'); li.textContent = `${index + 1}. ${sentence.substring(sentence.indexOf('.') + 2)}`; // Remove original number listElem.appendChild(li); }); document.getElementById('sentenceOrderingInput').value = ''; document.getElementById('sentenceOrderingFeedback').style.display = 'none'; document.getElementById('sentenceOrderingInput').disabled = false; } function checkSentenceOrdering() { const userAnswer = document.getElementById('sentenceOrderingInput').value.trim(); const correctAnswer = sentenceOrderingQuestions[currentSentenceOrderingIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('sentenceOrderingFeedback', isCorrect, isCorrect ? 'Correct! The paragraph is now coherent.' : `Incorrect. The correct order is "${correctAnswer}". Full paragraph: "${sentenceOrderingQuestions[currentSentenceOrderingIndex].full}"`); document.getElementById('sentenceOrderingInput').disabled = true; } function nextSentenceOrdering() { currentSentenceOrderingIndex = (currentSentenceOrderingIndex + 1) % sentenceOrderingQuestions.length; loadSentenceOrderingQuestion(); } // --- Exercise 3.2: Connectors Gap-Fill --- function loadConnectorsGapFillQuestion() { const qData = connectorsGapFillQuestions[currentConnectorsGapFillIndex]; document.getElementById('connectorsGapFillQuestion').innerHTML = qData.q; const optionsElem = document.getElementById('connectorsGapFillOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'connectorsGapFill'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option}`)); optionsElem.appendChild(label); }); document.getElementById('connectorsGapFillFeedback').style.display = 'none'; disableRadioOptions('connectorsGapFill', false); } function checkConnectorsGapFill() { const userAnswer = getRadioValue('connectorsGapFill'); const correctAnswer = connectorsGapFillQuestions[currentConnectorsGapFillIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('connectorsGapFillFeedback', isCorrect, isCorrect ? 'Correct! This linking word improves coherence.' : `Incorrect. The best option is "${correctAnswer}".`); disableRadioOptions('connectorsGapFill', true); } function nextConnectorsGapFill() { currentConnectorsGapFillIndex = (currentConnectorsGapFillIndex + 1) % connectorsGapFillQuestions.length; loadConnectorsGapFillQuestion(); } // --- Exercise 3.3: Logical Paragraph Practice --- function loadLogicalParagraphQuestion() { const qData = logicalParagraphQuestions[currentLogicalParagraphIndex]; document.getElementById('logicalParagraphQuestion').innerHTML = `Read the paragraph and choose the best concluding sentence:
"${qData.q}"`; const optionsElem = document.getElementById('logicalParagraphOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'logicalParagraph'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option}`)); optionsElem.appendChild(label); }); document.getElementById('logicalParagraphFeedback').style.display = 'none'; disableRadioOptions('logicalParagraph', false); } function checkLogicalParagraph() { const userAnswer = getRadioValue('logicalParagraph'); const correctAnswer = logicalParagraphQuestions[currentLogicalParagraphIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('logicalParagraphFeedback', isCorrect, isCorrect ? 'Correct! This sentence logically completes the paragraph.' : `Incorrect. The best concluding sentence is: "${correctAnswer}"`); disableRadioOptions('logicalParagraph', true); } function nextLogicalParagraph() { currentLogicalParagraphIndex = (currentLogicalParagraphIndex + 1) % logicalParagraphQuestions.length; loadLogicalParagraphQuestion(); } // --- Exercise 4.1: Word Stress Quiz --- function loadWordStressQuestion() { const qData = wordStressQuestions[currentWordStressIndex]; document.getElementById('wordStressQuestion').textContent = qData.q; const optionsElem = document.getElementById('wordStressOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'wordStress'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option.toUpperCase()}`)); optionsElem.appendChild(label); }); document.getElementById('wordStressFeedback').style.display = 'none'; disableRadioOptions('wordStress', false); } function checkWordStress() { const userAnswer = getRadioValue('wordStress'); const correctAnswer = wordStressQuestions[currentWordStressIndex].a; const isCorrect = userAnswer === correctAnswer; setFeedback('wordStressFeedback', isCorrect, isCorrect ? `Correct! ${wordStressQuestions[currentWordStressIndex].explanation}` : `Incorrect. ${wordStressQuestions[currentWordStressIndex].explanation}`); disableRadioOptions('wordStress', true); } function nextWordStress() { currentWordStressIndex = (currentWordStressIndex + 1) % wordStressQuestions.length; loadWordStressQuestion(); } // --- Exercise 4.2: Homophone Fill-in-the-Blank --- function loadHomophoneQuestion() { const qData = homophoneQuestions[currentHomophoneIndex]; document.getElementById('homophoneQuestion').innerHTML = qData.q; document.getElementById('homophoneInput').value = ''; document.getElementById('homophoneFeedback').style.display = 'none'; document.getElementById('homophoneInput').disabled = false; } function checkHomophone() { const userAnswer = document.getElementById('homophoneInput').value.trim().toLowerCase(); const correctAnswer = homophoneQuestions[currentHomophoneIndex].a.toLowerCase(); const isCorrect = userAnswer === correctAnswer; setFeedback('homophoneFeedback', isCorrect, isCorrect ? `Correct! ${homophoneQuestions[currentHomophoneIndex].tip}` : `Incorrect. The correct word is "${homophoneQuestions[currentHomophoneIndex].a}". ${homophoneQuestions[currentHomophoneIndex].tip}`); document.getElementById('homophoneInput').disabled = true; } function nextHomophone() { currentHomophoneIndex = (currentHomophoneIndex + 1) % homophoneQuestions.length; loadHomophoneQuestion(); } // --- Exercise 4.3: Syllable Sort --- function loadSyllableSortQuestion() { const qData = syllableSortQuestions[currentSyllableSortIndex]; document.getElementById('syllableSortQuestion').textContent = qData.q; const optionsElem = document.getElementById('syllableSortOptions'); optionsElem.innerHTML = ''; shuffleArray(qData.options).forEach(option => { const label = document.createElement('label'); const input = document.createElement('input'); input.type = 'radio'; input.name = 'syllableSort'; input.value = option; label.appendChild(input); label.appendChild(document.createTextNode(` ${option}`)); optionsElem.appendChild(label); }); document.getElementById('syllableSortFeedback').style.display = 'none'; disableRadioOptions('syllableSort', false); } function checkSyllableSort() { const userAnswer = getRadioValue('syllableSort'); const correctAnswer = syllableSortQuestions[currentSyllableSortIndex].a.toString(); // Ensure string comparison const isCorrect = userAnswer === correctAnswer; setFeedback('syllableSortFeedback', isCorrect, isCorrect ? `Correct! ${syllableSortQuestions[currentSyllableSortIndex].explanation}` : `Incorrect. ${syllableSortQuestions[currentSyllableSortIndex].explanation}`); disableRadioOptions('syllableSort', true); } function nextSyllableSort() { currentSyllableSortIndex = (currentSyllableSortIndex + 1) % syllableSortQuestions.length; loadSyllableSortQuestion(); } // --- Section 5: Build Your Own Answer (Rule-based Feedback) --- function loadBuildAnswerQuestion() { const qData = buildAnswerQuestions[currentBuildAnswerIndex]; document.getElementById('buildAnswerQNum').textContent = currentBuildAnswerIndex + 1; document.getElementById('buildAnswerQuestionText').textContent = qData.q; document.getElementById('buildAnswerUserAnswer').value = ''; document.getElementById('buildAnswerAiFeedback').style.display = 'none'; document.getElementById('buildAnswerBandEstimate').style.display = 'none'; // This will always be hidden now document.getElementById('buildAnswerSampleAnswer').style.display = 'none'; document.getElementById('toggleBuildAnswerSampleBtn').textContent = 'Show Sample Band 9 Answer'; document.getElementById('submitBuildAnswer').disabled = false; document.getElementById('buildAnswerUserAnswer').disabled = false; document.getElementById('buildAnswerAiFeedback').innerHTML = ''; } function getBuildAnswerFeedback() { const qData = buildAnswerQuestions[currentBuildAnswerIndex]; const userResponse = document.getElementById('buildAnswerUserAnswer').value.trim(); const aiFeedbackElem = document.getElementById('buildAnswerAiFeedback'); const submitBtn = document.getElementById('submitBuildAnswer'); const userAnswerArea = document.getElementById('buildAnswerUserAnswer'); submitBtn.disabled = true; userAnswerArea.disabled = true; let feedbackMessages = []; const words = userResponse.split(/\s+/).filter(word => word.length > 0); const wordCount = words.length; // 1. Length Check if (wordCount qData.maxWords) { feedbackMessages.push(`Your answer is quite long (${wordCount} words). For Part 1, aim for concise answers, typically ${qData.minWords}-${qData.maxWords} words.`); } else { feedbackMessages.push(`Good length for Part 1! (${wordCount} words).`); } // 2. Keyword Check const lowerCaseResponse = userResponse.toLowerCase(); let foundKeywords = []; qData.keywords.forEach(keyword => { if (lowerCaseResponse.includes(keyword)) { foundKeywords.push(keyword); } }); if (foundKeywords.length > 0) { feedbackMessages.push(`You used relevant keywords like: ${foundKeywords.join(', ')}.`); } else { feedbackMessages.push(`Try to incorporate more topic-specific vocabulary. Consider words related to: ${qData.keywords.join(', ')}.`); } // 3. General encouragement/tip feedbackMessages.push("Remember to focus on clear articulation and natural fluency when speaking. Keep practicing!"); aiFeedbackElem.style.display = "block"; aiFeedbackElem.innerHTML = ""; feedbackMessages.forEach((msg) => { const p = document.createElement("p"); p.textContent = msg; aiFeedbackElem.appendChild(p); }); aiFeedbackElem.className = 'feedback-response correct'; // Use correct style as it's general advice // No band estimate with rule-based feedback document.getElementById('buildAnswerBandEstimate').style.display = 'none'; submitBtn.disabled = false; userAnswerArea.disabled = false; } function nextBuildAnswer() { currentBuildAnswerIndex = (currentBuildAnswerIndex + 1) % buildAnswerQuestions.length; loadBuildAnswerQuestion(); } function toggleBuildAnswerSample() { const sampleElem = document.getElementById('buildAnswerSampleAnswer'); const toggleBtn = document.getElementById('toggleBuildAnswerSampleBtn'); if (sampleElem.style.display === 'none') { sampleElem.innerHTML = `
Sample Band 9 Answer: ${buildAnswerQuestions[currentBuildAnswerIndex].sample.replace(/\n/g, '
')}
Ready to achieve your target IELTS score?
Join 15,000+ students with expert-led courses and AI practice tests.
Start Free Trial