What's New in PyCharm Edu 3 & 3.5

For Educators
For Students

Subtask Management

When teaching your students to program, you often want to give them an opportunity to work with the same code fragment, gradually making tasks more complicated and sophisticated. With PyCharm Edu 3.5 it is now possible to 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!

Adding subtasks

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.

Adding a new answer placeholder

Add more answer placeholders for your subtasks so students 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.

Editing an existing answer placeholder

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 your students will be able not only to add new code fragments, but also to modify the code fragments they have already changed.

Working with a subtask test and description

Switch to a subtask you want to work with and change the task code file and description, as well as test file just the same way you do for a simple task.

Don't afraid to lose the task code, description and checking test when adding a subtask: everything will be saved in the fist subtask.

Better Task Descriptions

Enhanced task description panel

In PyCharm Edu 3 & 3.5, you can edit your task descriptions right in the task panel, by clicking the Edit icon, and you can also put code snippets right inside a task description.

Now you can also add hyperlinks to task descriptions to navigate a student to another task. Hyperlinks follow this format:

<a href="#[lesson_name]#[task_name]#">[link name]</a>

Markdown for a task description

PyCharm Edu now supports Markdown (Preferences → Tools → Education → Default task description format) as one of the formats for a task description.

Multiple hints for task answer placeholders

In PyCharm Edu 3 & 3.5, it's now possible to create several hints for a single answer placeholder that will be shown to students to help them solve the task.

Task Checking

Running and debugging custom tests

Custom tests, which you write to verify students' input and solutions, can now be run and debugged right from the course creation mode, without having to generate the course or preview it. Right-click the Run button from the test editor and choose the desired action.

You can also place breakpoints in your test code right inside the editor and see the console output along with the variable viewer.

Fix for raw input in debug mode

Not a new feature, but a fix for the widely used case in teaching and learning programming. You can now safely use the input() function in the debug mode: when you step over input(), you get the command line to proceed with the actual keyboard input.

Course Dependencies

Automatic course dependencies

When designing your course, you'll most likely use some packages and libraries not installed on a student's machine. Now you can list all the dependencies in the requirements.txt file when creating your course.

When a student 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.

Python version compatibility information

Now you can easily specify the Python version your course is compatible with, thanks to Course Creator → Change Course Information.

When a student opens a course, PyCharm will pick the appropriate interpreter. If no interpreter is installed on the student's computer, PyCharm will suggest choosing another version.

Course Preview

Previewing your course

As you design a course, it's good to view it from the student'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.

Enhanced course Project View

We've reworked the course Project View panel: all system and test files, which will be hidden from a student, are displayed in light gray.

The Adaptive Python Course

Thanks to integration with Stepik, a learning management, and MOOC platform, we’ve polished the experimental Adaptive Python course that was recently introduced in PyCharm Edu 3.

How it works

As a student goes through this course, PyCharm Edu and Stepik monitor their progress and pick the next tasks accordingly.

To take the course, go to Create New Project → Educational and choose Adaptive Python from the list.

As you work on the course, mark each task as easy or difficult so the system can adapt to your level of knowledge.

Find more details on the Stepik course webpage.

Get Started with Django

If you’re interested in entering the world of web development, you may want to learn Django, a high-level Python web framework. PyCharm Edu 3.5 now has a new Django Tutorial based on Django Girls Tutorial.

How it works

This simple and very clear tutorial will help you create your first web app, a simple blog, in several steps. The idea behind it is that you’re changing project files step by step, and learning the main features and logic of the framework at the same time.

To take the course, go to Create New Project → Educational and choose Django Tutorial from the list.

Read more on our blog

Find out how Pycharm Edu works
Get Pycharm Edu
Completely free and open source