# 🚀 Getting Started with Sona - Your First Steps into Programming ## Welcome, New Programmer! 👋 **This guide is perfect for complete beginners aged 12-55+**. Whether you've never written code before or you're switching from another language, we'll get you up and running with Sona in just 30 minutes! --- ## 🎯 What You'll Learn By the end of this guide, you'll be able to: - ✅ Install and set up Sona on your computer - ✅ Write your first program that says "Hello, World!" - ✅ Understand the basics of how programming works - ✅ Use Sona's accessibility features - ✅ Know where to get help when you need it --- ## 🛠️ Setting Up Sona ### **Step 1: Download Sona** 1. **Navigate to your Sona folder** (usually `F:\Sona`) 2. **Look for these files**: - `sona_accessibility_enhanced.py` (beginner-friendly) - `comprehensive_language_test.py` (advanced) - `sona_smart_launcher.py` (automatic detection) ### **Step 2: Choose Your Interface** **🧠 For Beginners/Learning (Recommended)** ```bash python sona_accessibility_enhanced.py ``` This gives you: - Helpful error messages - Progress indicators - Gentle guidance - Accessibility features **⚡ For Experienced Programmers** ```bash python comprehensive_language_test.py ``` This gives you: - Minimal interface - Fast execution - Direct feedback - Efficient workflow **🎯 Smart Detection (Let Sona Choose)** ```bash python sona_smart_launcher.py ``` This automatically detects the best interface for you! ### **Step 3: Test Your Setup** Type this into Sona: ```sona show "Hello, World!" ``` You should see: ``` Hello, World! ``` **🎉 Congratulations! You just wrote your first program!** --- ## 🌟 Your First Real Program Let's write a program that's actually useful - a personal greeter: ```sona think "Creating a personal greeting program" show "=== Personal Greeter ===" name = "Alex" age = 16 favorite_color = "blue" show "Hello, " + name + "!" show "You are " + age + " years old" show "Your favorite color is " + favorite_color think "This program introduces someone with their basic info" ``` **What this program does:** 1. **Stores information** about a person (name, age, color) 2. **Shows a greeting** using that information 3. **Uses thinking blocks** to document what we're doing --- ## 🎭 Understanding Sona's Two Modes ### 🧠 **Accessibility Mode** (Perfect for Learning) When you use `sona_accessibility_enhanced.py`, you get: ```sona show "Learning programming!" ``` Output: ``` Learning programming! [INFO] Command executed successfully [PROGRESS] Program completed: 1/1 statements ``` **Features:** - 📊 **Progress indicators** show what's happening - 🤔 **Gentle error messages** help you learn - 💭 **Thinking blocks** let you add notes - 🎯 **Help system** guides you through problems ### ⚡ **Traditional Mode** (For Speed) When you use `comprehensive_language_test.py`, you get: ```sona show "Fast programming!" ``` Output: ``` Fast programming! ``` **Features:** - 🚀 **Minimal output** for efficiency - ⚡ **Fast execution** without extra feedback - 🎯 **Direct results** only - 💻 **Professional interface** familiar to experienced programmers **You can switch between modes anytime!** --- ## 🎯 Basic Sona Commands ### **1. Showing Information** ```sona show "Hello, World!" show "Your name is Alex" show 42 show "The answer is " + 42 ``` ### **2. Storing Information** ```sona name = "Sam" age = 25 is_student = true favorite_number = 7 ``` ### **3. Doing Math** ```sona calculate 5 + 3 calculate 10 - 4 calculate 6 * 7 calculate 20 / 4 ``` ### **4. Making Decisions** ```sona when age >= 18: show "You can vote!" else: show "You can't vote yet" ``` ### **5. Adding Notes** ```sona think "This is a note to remember later" think "I'm calculating the total cost" calculate total = 10 + 5 ``` --- ## 🎨 Accessibility Features ### **🎯 For All Users** - **Plain English syntax** - No confusing symbols - **Gentle error messages** - Learn from mistakes - **Progress indicators** - See what's happening - **Thinking blocks** - Add notes anywhere ### **🧠 For Neurodivergent Users** - **Consistent patterns** - Everything follows the same rules - **Predictable behavior** - No surprises - **Calm visual design** - No overwhelming colors - **Executive function support** - Built-in organization ### **👁️ For Visual Accessibility** - **Screen reader support** - Works with NVDA, JAWS, VoiceOver - **High contrast themes** - Better visibility - **Dyslexia-friendly fonts** - OpenDyslexic available - **Keyboard navigation** - Use without mouse ### **🎧 For Audio Accessibility** - **Visual feedback** - See everything instead of hearing it - **Customizable sounds** - Turn audio on/off - **Notification control** - Adjust alerts --- ## 🔧 Customizing Your Environment ### **Accessibility Settings** ```sona # Customize your experience settings theme = "high-contrast" settings font = "dyslexia-friendly" settings feedback = "visual-only" settings progress = "detailed" ``` ### **Interface Preferences** ```sona # Choose your interface style settings interface = "accessibility" # or "traditional" settings errors = "gentle" # or "direct" settings help = "enabled" # or "disabled" ``` --- ## 🆘 Getting Help ### **Built-in Help** ```sona help help show help calculate help when ``` ### **Common Questions** **Q: I got an error message. What do I do?** A: Read the error message carefully! In accessibility mode, they're designed to help you learn. Look for: - 🤔 **Gentle suggestion** - What might be wrong - 💡 **Tip** - How to fix it - 📝 **Example** - Correct way to do it **Q: How do I save my programs?** A: Use your text editor's save function (Ctrl+S). Save files with `.sona` extension. **Q: Can I switch between modes?** A: Yes! Just close one and open the other. Your programs work in both modes. **Q: Where can I get more help?** A: Check the wiki, join the community, or ask in the forums! --- ## 🚀 Your Programming Journey Starts Now ### **What's Next?** 1. **Practice the basics** - Try all the examples in this guide 2. **Build something simple** - Maybe a calculator or greeting program 3. **Learn more commands** - Check out [Basic Commands](Basic-Commands.md) 4. **Join the community** - Connect with other Sona programmers 5. **Keep exploring** - Programming is a journey, not a destination! ### **Remember:** - **Every expert was once a beginner** - You're on the right path - **It's okay to make mistakes** - That's how you learn - **Ask for help** - The community is here to support you - **Have fun** - Programming should be enjoyable! --- ## 🎯 Practice Exercises ### **Exercise 1: About You** Write a program that shows information about yourself: ```sona think "Creating a program about myself" name = "Your Name" age = 16 school = "Your School" hobby = "Your Hobby" show "Hi! I'm " + name show "I'm " + age + " years old" show "I go to " + school show "I love " + hobby ``` ### **Exercise 2: Simple Calculator** Create a calculator that adds two numbers: ```sona think "Building a simple calculator" number1 = 10 number2 = 5 result = number1 + number2 show "Adding " + number1 + " and " + number2 show "The answer is " + result ``` ### **Exercise 3: Age Checker** Write a program that checks if someone can drive: ```sona think "Checking if someone can drive" age = 17 when age >= 16: show "You can drive!" else: show "You can't drive yet" ``` --- ## 🌟 Congratulations! **You've taken your first steps into programming!** You now know: - How to set up and run Sona - Basic commands and syntax - How to use accessibility features - Where to get help when you need it **Ready for the next step?** Check out [Basic Commands](Basic-Commands.md) to learn more about what Sona can do! --- *This guide is constantly updated based on feedback from new programmers. Have suggestions? Let us know!*