An interactive desktop app for learning Python, with lessons, a built-in code editor, challenges, and local network chat.
MarCode is a desktop application for learning Python from scratch. Each lesson comes with a short explanation, a code example you can edit, and a challenge. You write code, run it inside the app, and check your solution to earn points, so there is nothing else to set up.
MarCode was built with a simple goal: to make learning Python approachable and practical. It is meant for two kinds of people: teachers and mentors who want a ready-made tool for teaching Python in classrooms, and self-learners who want to study at their own pace.
All lesson content lives in a single file, shared.py. Titles, explanations, example code, challenges, hints and translations are all defined there, so you can edit existing lessons or add your own without touching the application code in start.py. That makes MarCode easy to adapt to your own course, classroom or teaching style. Each lesson needs a unique id and its text in all three languages.
- Built-in code editor with syntax highlighting
- Run your code and see the output right inside the app
- One challenge per lesson, checked automatically, with a score and visual progress bar
- LAN Talk (Local Network Chat): built-in chat room for classrooms and labs. Users on the same network can talk to each other automatically, without setting up IP addresses
- Customizable font family and font sizes from the settings menu
- Seamless language switching between English, Persian and Kurdish (Sorani) without restarting
- Your progress, font settings and language choice are saved between sessions
- Dark interface built with CustomTkinter
29 lessons in 7 sections:
- Getting Started
- Variables and Data
- Conditions
- Loops
- Data Structures
- Functions
- Modules
- Windows
- Python 3.8 or newer (only if running from source)
customtkinter
Option 1: Installer (recommended)
Download and run MarCode_Setup.exe from the Releases page. No Python installation is required.
Option 2: Run from source
git clone https://github.com/RamyarHasanpour/marcode.git
cd marcode
pip install customtkinter
python start.pyOn the first launch, the app creates a folder named MarcodeProject on one of your drives and stores your progress and font settings there.
| File | Description |
|---|---|
start.py |
The app window, code editor, challenge checking, font settings and LAN chat (UDP/TCP sockets) |
shared.py |
Lesson content, translations and interface settings |
M_Logo.ico |
Application icon |
مارکۆد (MarCode) بەرنامەیەکی دێسکتۆپە بۆ فێربوونی پایتۆن لە سفرەوە. هەر وانەیەک شرۆڤەیەکی کورت، نموونەیەکی کۆد کە دەتوانیت دەستکاری بکەیت، و ئاڵنگارییەکی تێدایە. کۆدەکە دەنووسیت، لەناو بەرنامەکە جێبەجێی دەکەیت و بە چارەسەرکردنی ئاڵنگارییەکە خاڵ وەردەگریت؛ پێویستت بە هیچ بەرنامەیەکی تر نییە.
مارکۆد بە ئامانجێکی سادە دروستکراوە: ئاسان و کارامەکردنی فێربوونی پایتۆن. بۆ دوو جۆر کەس گونجاوە: مامۆستا و ڕێنمایکارەکان کە ئامرازێکی ئامادەیان پێویستە بۆ فێرکردنی پایتۆن لە پۆلدا، و ئەوانەی دەیانەوێت بە خۆیان و بە خێرایی خۆیان پایتۆن فێر ببن.
هەموو ناوەڕۆکی وانەکان لە یەک فایلدایە: shared.py. ناونیشان، شرۆڤە، نموونەی کۆد، ئاڵنگاری، ڕێنمایی و وەرگێڕانەکان هەموویان لەوێ دیاریکراون، بۆیە دەتوانیت وانەکان دەستکاری بکەیت یان وانەی نوێ زیاد بکەیت بەبێ ئەوەی دەست بە کۆدی بەرنامەکە لە start.py بدەیت. ئەمە وا دەکات مارکۆد بە ئاسانی لەگەڵ کۆرس، پۆل یان شێوازی وانەوتنەوەی خۆتدا بگونجێت. هەر وانەیەک پێویستی بە idی تایبەت و دەقی هەر سێ زمانەکە هەیە.
- ئیدیتۆری کۆدی ناوخۆیی لەگەڵ ڕەنگکردنی وشە سەرەکییەکانی پایتۆن
- جێبەجێکردنی کۆد و پیشاندانی دەرەنجام لەناو خودی بەرنامەکە
- ئاڵنگارییەک بۆ هەر وانەیەک کە بە شێوەی خۆکار دەپشکنرێت لەگەڵ نیشاندەری پێشکەوتن (Progress Bar)
- گفتوگۆی تۆڕی ناوخۆیی (LAN Talk): بەشی چاتی ناوخۆیی بۆ پۆل و تاقیگەکان؛ بەکارهێنەرانی سەر هەمان تۆڕ دەتوانن بەبێ ڕێکخستنی IP ڕاستەوخۆ پەیام بۆ یەکتر بنێرن
- بەشی ڕێکخستنەکان (Settings) بۆ گۆڕینی جۆری فۆنت و قەبارەی نووسینەکان
- گۆڕینی ڕاستەوخۆی زمانی بەرنامەکە لە نێوان ئینگلیزی، فارسی و کوردی بەبێ داخستنەوەی بەرنامە
- هەڵگرتنی پێشکەوتن، ڕێکخستنی فۆنت و زمانی هەڵبژێردراو لە نێوان جارەکانی کارپێکردندا
- ڕووکارێکی تاریک کە بە CustomTkinter دروستکراوە
٢٩ وانە لە ٧ بەشدا:
- دەستپێکردن
- گۆڕاوەکان و دراوەکان
- پێکهاتە مەرجدارەکان
- بازنەکانی دووبارەبوونەوە
- پێکهاتەکانی دراوە
- فانکشنەکان
- مۆدیوڵەکان
- ویندۆز
- پایتۆنی ٣.٨ یان نوێتر (ئەگەر لە سۆرس کۆدەوە کاری پێدەکەیت)
- کتێبخانەی
customtkinter
ڕێگەی یەکەم: فایلی دامەزراندن (پێشنیارکراو)
فایلی MarCode_Setup.exe لە بەشی Releases دابەزێنە و دایبمەزرێنە (پێویستی بە پایتۆن نییە).
ڕێگەی دووەم: لە ڕێگەی سۆرس کۆدەوە
git clone https://github.com/RamyarHasanpour/marcode.git
cd marcode
pip install customtkinter
python start.pyلە یەکەم جار کارپێکردندا، بەرنامەکە فۆڵدەرێک بە ناوی MarcodeProject لەسەر یەکێک لە درایڤەکانت دروست دەکات و پێشکەوتن و ڕێکخستنەکانت لەوێ هەڵدەگرێت.
مارکد (MarCode) یک برنامه دسکتاپ برای یادگیری پایتون از صفر است. هر درس شامل یک توضیح کوتاه، یک کد نمونه قابل ویرایش و یک چالش است. کد را مینویسید، همانجا اجرا میکنید و با حل چالش امتیاز میگیرید؛ نیازی به نصب هیچ محیط توسعه دیگری نیست.
مارکد با یک هدف ساده ساخته شده است: آسان و کاربردی کردن یادگیری پایتون. این برنامه برای دو گروه مناسب است: مدرسها و مربیهایی که به ابزاری آماده برای آموزش پایتون در کلاس نیاز دارند، و کسانی که میخواهند خودشان و با سرعت خودشان پایتون یاد بگیرند.
تمام محتوای درسها در یک فایل قرار دارد: shared.py. عنوان، توضیح، کد نمونه، چالش، راهنمایی و ترجمهها همه همانجا تعریف شدهاند؛ بنابراین میتوانید بدون دست زدن به کد اصلی برنامه در start.py، درسهای موجود را ویرایش کنید یا درس جدید اضافه کنید. همین باعث میشود مارکد را بتوان بهراحتی با دوره، کلاس یا سبک تدریس خودتان هماهنگ کرد. هر درس به یک id منحصربهفرد و متن هر سه زبان نیاز دارد.
- ادیتور کد داخلی با رنگی شدن کلمات کلیدی پایتون
- اجرای کد و نمایش خروجی داخل خود برنامه
- یک چالش برای هر درس که بهصورت خودکار بررسی میشود، همراه با نوار پیشرفت (Progress Bar)
- گفتگوی شبکه محلی (LAN Talk): سیستم چت داخلی برای کلاسها و کارگاهها؛ کاربران متصل به یک شبکه میتوانند بدون نیاز به تنظیم دستی IP، بهطور خودکار با هم گفتگو کنند
- منوی تنظیمات (Settings) برای تغییر نوع فونت و اندازه متنها
- تغییر آنی زبان برنامه بین انگلیسی، فارسی و کوردی (سورانی) بدون نیاز به بستن برنامه
- ذخیره پیشرفت، تنظیمات فونت و زبان انتخابشده بین دفعات اجرا
- ظاهر تیره ساختهشده با CustomTkinter
۲۹ درس در ۷ بخش:
- شروع کار
- متغیرها و دادهها
- ساختارهای شرطی
- حلقههای تکرار
- ساختارهای داده
- توابع
- ماژولها
- ویندوز
- پایتون ۳.۸ یا جدیدتر (در صورت اجرا از روی سورس کد)
- کتابخانه
customtkinter
روش اول: فایل نصبی (پیشنهادی)
فایل MarCode_Setup.exe را از بخش Releases دانلود و نصب کنید (نیازی به نصب بودن پایتون نیست).
روش دوم: اجرا از روی سورس کد
git clone https://github.com/RamyarHasanpour/marcode.git
cd marcode
pip install customtkinter
python start.pyدر اولین اجرا، برنامه پوشهای به نام MarcodeProject را روی یکی از درایوهای شما میسازد و پیشرفت و تنظیمات فونت شما را آنجا ذخیره میکند.