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
- Navigate to your Sona folder (usually
F:\Sona
) - 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:
- Stores information about a person (name, age, color)
- Shows a greeting using that information
- 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?
- Practice the basics - Try all the examples in this guide
- Build something simple - Maybe a calculator or greeting program
- Learn more commands - Check out Basic Commands
- Join the community - Connect with other Sona programmers
- 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!