Teach by practice
PyCharm Edu helps to share knowledge and transfer programming skills in the form of code practicing tasks and integrated tests with all the productivity boosters a professional IDE has.
Every Python course created with PyCharm Edu is structured as a list of lessons. Each lesson contains tasks. A task has the following components: a description, a task.py file with exercise code, a tests.py file with the task check, and any other files needed for the learner to complete the task.
To create a course, go to Create New Course, fill in the title and description, and set up the Python interpreter you want to work with. The IDE will automatically create a simple course with lesson1 and task1 included. Go to View | Tool Windows | Project (Alt+1) to look at the course structure and change it.
Add more lessons and tasks via File | New...(Alt+N), rename from item context menu Refactor ⟶ Rename (Shift+F6), and drag-n-drop to reorder. If you need additional files for the task, just add them and decide whether you want to make them visible to learners or not (Course Creator ⟶ Make Visible to ⁄ Hide from Student).
When designing your course, you'll most likely use some packages and libraries not installed on a learner's machine. List all the dependencies in the requirements.txt file when you create your course. When a learner opens the course on their computer, PyCharm Edu will create a separate virtual environment based on the default Python interpreter and install all the dependencies required.
You can easily specify the Python version your course is compatible with, thanks to Course Creator ⟶ Change Course Information. When a learner opens a course, PyCharm will pick the appropriate interpreter. If there is no interpreter installed on the student's computer, PyCharm will suggest choosing another version.
Teach by practice with the help of simple and effective "fill in the missing code" exercises. Let learners independently check their assignments with your integrated tests, help them on with special hints.
Open task.py file to write a code you want to share as an exercise. Once the code is ready, select a fragment you want a learner to fill in, invoke Add Answer Placeholder command and add the text describing what code the learner should write. Add some hints to help the learner find the right code fragment.
To execute your code, click Run icon in the left gutter—PyCharm Edu shows console with the code file output.
If you want to look how your task will be seen by the learner, right-click the task.py file in the Project tool window, and choose Course Creator ⟶ Show Preview.
Edit your task descriptions right in the task panel, by clicking the Edit icon. Put code snippets and hyperlinks to other tasks right inside your task description.
PyCharm Edu supports HTML and Markdown, so you can start editing with your preferred format, or even a combination of both.
Every task has tests.py file that you need to modify to check the learner' solutions. Write your custom tests using PyCharm Edu testing framework. Get back to the Task Description panel and click Check icon—that will run your test and show the result as a learner will get it.
When the test is ready, you can run it to get the console output. Or you can place breakpoints and run the debugger to see the console output along with the variable viewer. Right-click the Run button from the test editor and choose the desired action.
If you want to give learners an opportunity to work with the same code fragment, and gradually make tasks more complicated and sophisticated—add steps, or subtasks, for any task in your course. This feature request came from Venkat Subramaniam, and we want to thank him for his help with understanding this use case better!
To create a new subtask for a current task, just go to the context menu and choose the Add Subtask command. Click the Switch subtask link to manage the list of subtasks: switch between them, delete them or create new ones.
Add more answer placeholders for your subtasks so learners can add new code elements to the task code fragment they are working with. You can always select Answer Placeholder ⟶ Hide for Previous Subtasks to avoid displaying these new code fragments on the previous steps.
If you want to change a code fragment that already has a placeholder created in one of the previous subtasks, you can Activate it. Then learners will be able to not only add new code fragments, but also to modify the code fragments they have already changed.
Switch to the subtask you want to work with and change the task code file and description, as well as the test file just the same way you do for a simple task. Don't be afraid of losing the task code, description and checking test when adding a subtask: everything will be saved in the first subtask.
Keep up your learning materials and share them publicly or privately with your students or co-workers on Stepik, a learning management and MOOC platform. Or save your course as an archive file.
In 2016 we partnered with Stepik to create the Adaptive Python course. But integration with Stepik also helps easily store and share your courses.
Once you've created an account and logged in to Stepik, you can easily authorize PyCharm Edu with Stepik Status Bar icon and a special Log in to Stepik link.
Then you can upload your course to Stepik, update it anytime you need, and share publicly or privately.
Before sharing your course, it's good to view it from a learner's perspective and test it. Right-click on the course view and go to Course Creator ⟶ Preview Course to open your course in student mode.
You can save your course as a zip file with Course Creator ⟶ Generate Course Archive action. The generated archive could be opened in PyCharm Edu via File | Open... menu item.
PyCharm Edu is a special free edition of the PyCharm IDE, bundling a range of tools for professional development along with additional educational functionality. Learners receive immediate feedback as they are guided through self-paced lessons. Educators can create their own courses with PyCharm Edu.
It probably is if you want to go about teaching someone Python. As an educator, you can create your own courses using PyCharm Edu and share them publicly or privately with your students or co-workers.
Please visit our GitHub repository to download course examples. Install PyCharm Edu and select Open on the Welcome Screen to open any of the examples.
To create a course or an assignment for PyCharm Edu, please use this tutorial.
To create a course with subtasks for PyCharm Edu, please use this tutorial.
The software is installed locally, meaning that you don’t have to worry about network connectivity or server loads. You can study online or offline, anywhere and anytime. Everything can be synchronized with a remote server when needed.
Yes, you can. PyCharm Edu is based on PyCharm Community Edition and comprises all its features, making it just perfectly suitable for writing professional projects with Python.
PyCharm Edu is based on the Community Edition and comprises all of its functionality. Additionally, it installs and detects Python during installation. It has a simpler UI (adjustable in settings) and adds courses.
PyCharm Professional Edition additionally supports different web development technologies, has remote development capabilities and additional languages, and supports working with databases.
PyCharm Edu only supports Python. If you want to teach Java, Kotlin or other languages the same way, please contact us.
PyCharm Edu does not support advanced frameworks such as Django, Flask or Pyramid. Neither does it offer web development functionality. If this is what you’re after, please contact us.
We are committed to providing the same professional-level support for PyCharm Edu as we do for PyCharm Professional Edition. Please submit your support requests here. You can also file a bug or ask for a new feature in our issue tracker. To stay upto date on PyCharm news and updates, visit the product blog and follow us on twitter.