Getting Started - Bryantad/Sona GitHub Wiki

🚀 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)

python sona_accessibility_enhanced.py

This gives you:

  • Helpful error messages
  • Progress indicators
  • Gentle guidance
  • Accessibility features

⚡ For Experienced Programmers

python comprehensive_language_test.py

This gives you:

  • Minimal interface
  • Fast execution
  • Direct feedback
  • Efficient workflow

🎯 Smart Detection (Let Sona Choose)

python sona_smart_launcher.py

This automatically detects the best interface for you!

Step 3: Test Your Setup

Type this into 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:

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:

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:

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

show "Hello, World!"
show "Your name is Alex"
show 42
show "The answer is " + 42

2. Storing Information

name = "Sam"
age = 25
is_student = true
favorite_number = 7

3. Doing Math

calculate 5 + 3
calculate 10 - 4
calculate 6 * 7
calculate 20 / 4

4. Making Decisions

when age >= 18:
    show "You can vote!"
else:
    show "You can't vote yet"

5. Adding Notes

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

# Customize your experience
settings theme = "high-contrast"
settings font = "dyslexia-friendly"
settings feedback = "visual-only"
settings progress = "detailed"

Interface Preferences

# Choose your interface style
settings interface = "accessibility"  # or "traditional"
settings errors = "gentle"           # or "direct"
settings help = "enabled"            # or "disabled"

🆘 Getting Help

Built-in Help

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
  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:

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:

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:

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 to learn more about what Sona can do!


This guide is constantly updated based on feedback from new programmers. Have suggestions? Let us know!