All Projects → TuringApp → Turing

TuringApp / Turing

Licence: MIT license
Free and cross-platform IDE for pseudocode and Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Turing

JamTools
JamTools是一个跨平台的小工具集,包含了截屏、录屏、文字识别、各种格式转换、鼠标键盘动作录制播放、文件传输、聊天机器人等功能
Stars: ✭ 73 (+108.57%)
Mutual labels:  pyqt5
EVHS-Programming-Club
The public GitHub repo for the EVHS Programming Club
Stars: ✭ 16 (-54.29%)
Mutual labels:  programming
links-uteis
📎 A curated list of awesome project development links
Stars: ✭ 2,547 (+7177.14%)
Mutual labels:  programming
koapy
KOAPY 는 키움 OpenAPI 를 Python 에서 쉽게 사용할 수 있도록 만든 라이브러리 패키지 및 툴입니다.
Stars: ✭ 103 (+194.29%)
Mutual labels:  pyqt5
resources
Awesome resources - 网络资源
Stars: ✭ 27 (-22.86%)
Mutual labels:  programming
blog
No description or website provided.
Stars: ✭ 33 (-5.71%)
Mutual labels:  programming
iOS-Programming-Documents
iOS Programming Documents in Korean
Stars: ✭ 64 (+82.86%)
Mutual labels:  programming
jak
Hybrid web/desktop applications on Linux
Stars: ✭ 79 (+125.71%)
Mutual labels:  pyqt5
learn2love
Book for learning programming with Lua and LÖVE.
Stars: ✭ 34 (-2.86%)
Mutual labels:  programming
Be-Focussed-Productivity-Monitor
PyQt application for Windows and Linux to monitor productivity while working. It will also notify when to take a break after a long focussed work.
Stars: ✭ 13 (-62.86%)
Mutual labels:  pyqt5
python-workouts
Quick Reference for Python
Stars: ✭ 24 (-31.43%)
Mutual labels:  programming
cs-sakaryauniversity
Sakarya Üniversitesi'nde okuduğum süre boyunca karşıma çıkan tüm ödevler, ders notları ve çıkmış sınav soruları (All the assignments, lecture notes and exams)
Stars: ✭ 133 (+280%)
Mutual labels:  programming
react-native-header-search-bar
Fully customizable header search bar for React Native
Stars: ✭ 101 (+188.57%)
Mutual labels:  programming
polyrpc
PolyRPC, A multi-tier functional programming language
Stars: ✭ 16 (-54.29%)
Mutual labels:  programming
PyTelTools
Python Telemac Tools for post-processing tasks (includes a workflow)
Stars: ✭ 24 (-31.43%)
Mutual labels:  pyqt5
hnn
The Human Neocortical Neurosolver (HNN) is a software tool that gives researchers/clinicians the ability to develop/test hypotheses on circuit mechanisms underlying EEG/MEG data.
Stars: ✭ 62 (+77.14%)
Mutual labels:  pyqt5
qt-tile-layout
A tile layout for PyQt5
Stars: ✭ 18 (-48.57%)
Mutual labels:  pyqt5
Auraglyph
Auraglyph is an infinite modular musical sketchpad.
Stars: ✭ 62 (+77.14%)
Mutual labels:  programming
antimony
The Antimony programming language
Stars: ✭ 83 (+137.14%)
Mutual labels:  programming
aws-cpp-developer-guide
Content for the AWS SDK for C++ Developer Guide. For more info about the AWS C++ SDK, go to http://github.com/aws/aws-sdk-cpp
Stars: ✭ 19 (-45.71%)
Mutual labels:  programming

GitHub issues GitHub stars GitHub license Gitter

Turing

Turing is a free and cross-platform app whose main goal is to assist the learning of algorithms and programming languages by providing easy-to-use development tools to all.

It provides a lighter alternative to the well-known Algobox, which is the currently de-facto widely used solution.

Note: Turing was originally meant to be a school project for the CS class. Don't expect enterprise-grade code here. We do our best to keep the whole codebase clean, but some parts are still undocumented and not covered by unit tests.

Quid, quis, quomodo?

Turing is written in Python 3.6 and uses the PyQt5 framework for its GUI. It provides two work modes:

  • Algorithm mode
    • Uses a "natural" pseudocode language similar to the one used in Algobox and school books.
    • Assisted development
  • Program mode
    • Uses Python, for the more experienced

In both modes, the code can be debugged and executed step-by-step to facilitate the problem-solving side of development.

Using Turing

Turing is cross-platform, but has only been tested on Windows and Linux-based operating systems. macOS should be supported, but no guarantee is made of that.

Using the package (recommended for Linux)

A package is available for Ubuntu and Debian. You can install it like this:

sudo apt-get install turing

If it does not work, use the pre-compiled binaries available below.

Using pre-compiled binaries (recommended)

Click on the Releases tab at the top of the page and download the release corresponding to your OS.

  • windows32: Windows 32 bits (7 or later)
    • tested on 10 x64
  • nix64: Linux 64 bits (Ubuntu 14.04 / Debian 8 or later)
    • tested on 18.04
  • osx: macOS 64 bits (10.13 High Sierra or later)
    • tested on 10.13

Using the source code (advanced users)

Python 3.6 required!

You need to have python3 point to Python 3.6 in your shell! Either use an alias in your .bashrc or a distribution that comes with Python 3.6.

It uses the following libraries:

  • PyQt 5 - UI framework
  • pyQode - PyQt code editor with syntax highlighting
  • Pygments - Syntax highlighter for printing code files
  • pep8 - Code quality checker

First, install everything using pip:

pip install --ignore-installed -r requirements.txt

Note: if you have Python 2.x installed on your computer (which is the case on 99% of Linux distributions), the old pip may be present in PATH and interfere with the above command line. If that happens, try using pip3 instead of pip. Of course, it must be the pip paired with the installed Python3 (so you may need to use pip3.6 instead).

Next, open the src/ folder and use run.bat or source run.sh depending on your operating system.

Building Turing (using pyInstaller)

You need:

  • Python 3.6 (python3.6)
  • Python 3.6 dev package (python3.6-dev)
  • Qt5 lrelease (qt5-dev-tools)

Contributing

We're currently looking for translators. For more information, see the CONTRIBUTING.md file and the Gitter.

If you're a developer and you found a bug somewhere and fixed it, feel free to make a PR, we usually answer in no more than a few hours.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].