Tools Languages Solutions Support Store Education Download Educational Products I want to Learn Teach Java Kotlin Python Scala so that as a Student Lifelong Learner Professional Developer Teacher MOOC or Book Author Professional Developer I can: DOWNLOAD QUICKSTART GUIDE DOWNLOAD QUICKSTART GUIDE DOWNLOAD QUICKSTART GUIDE DOWNLOAD QUICKSTART GUIDE Introduction to JavaBETA Please welcome a series of courses on the main Java concepts: Introduction, Statements and Arrays, Collections, and Classes. They include both the theory and coding practice with inline IDE tips and tricks. Please note, the courses are Beta. Stay tuned for upcoming improvements and share your feedback in our tracker or twitter. Find more details in the course’s Quickstart Guide Kotlin Koans Do you want to get started with Kotlin, the powerful new programming language from JetBrains, but don’t know where to begin? The Kotlin Koans course is a series of exercises specially designed to get you familiar with the Kotlin syntax. Find more details in the course’s Quickstart Guide Introduction to Python Interested in learning programming with a general-purpose language? The Introduction to Python course is specially designed for programmers with little or no previous coding experience. To take the course, go to Browse Courses and choose Introduction to Python from the list. Find more details in the course's Quickstart Guide Integration with Stepik Stepik is a learning management and MOOC platform, which can be used by an educator to share courses with you privately. Stepik has a lot of public courses available, which you can access from your IDE. Progress synchronization If you like learning the theory lessons on Stepik but prefer to do the coding exercises in the IDE – you don't need to worry about losing your course progress. All your progress is synchronized between the platforms. Importing more courses You can import any course from Stepik that has programming tasks, which you can solve right inside the IDE. You can switch back-and-forth with Stepik easily any time you want. Professional Environment Productivity features such as smart code completion, code inspections, a visual debugger, and more not only boost your learning productivity, but later help you switch easily and seamlessly to other JetBrains tools. Enjoy a fine–tuned workspace Make your IDE feel like home and help you stay focused and avoid distraction, with customizable color and keyboard shortcut schemes, and all the look-and-feel settings you need for productive development. Learn faster with a smart editor Take advantage of language-specific syntax & error highlighting to help you avoid code mistakes. Learn how to style your code right with the code formatting, and don't ever get stuck thanks to code completion and quick documentation. Run & debug your code Run your code to be sure everything goes right. Use the powerful debugger with a graphical UI to find out what went wrong—set breakpoints, run your code step by step and have all the information available to you at your fingertips. We will be glad to hear from you! What languages and technologies do you want to learn with JetBrains? Please fill in the feedback form below, or contact us on Twitter. Scala is Now Supported!NEW You can now share your Scala knowledge in the form of coding tasks and custom verification tests. If you need our support or want to help create Scala learning materials, please complete the feedback form at the bottom of this page or contact us on Twitter. Find more details in the Quickstart Guide Course Structure Every course created in the IDE contains one or more lessons. Each lesson is structured as a list of tasks. A task has the following components: a description, a file with exercise code, a file with the task check, and any other files needed for the learner to complete the task. Create a new course To create a course, go to File | Create New Course and enter a title and description. The IDE will automatically create a simple course with lesson1 and task1 included. Go to View | Tool Windows | Project to verify the course structure. Open a course as an educator NEW When creating a new course, it is often much easier to start with some existing course as a template rather than create everything from scratch. Go to Browse Courses, find a course which code tasks and tests you want to take a closer look at, and click the arrow icon next to the Join button. Manage lessons, tasks, and files Add more lessons and tasks via File | New..., rename from the context menu Refactor | Rename, 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. Group lessons into sections NEW To create a new section, right-click the course and select New | Section, rename with Refactor | Rename, and drag-n-drop to reorder. You can also drag lessons from one section to another. Working with Tasks Teach with the help of simple and effective "fill in the missing code" exercises. Let learners independently check their assignments with your integrated tests, and help them learn with special hints. Write exercise code Open a task file to write the code you want to share as an exercise. Once the code is ready, select a fragment you want a learner to fill in, use the 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. Create dependent answer placeholders NEW If you want to give learners an opportunity to reuse code they have already written in a previous task, you will need to create a dependent answer placeholder (Answer Placeholder -> Add Dependency). The dependent placeholder will be automatically replaced with the learner's answer from the previous task. Write a test Every task has a test file that you need to modify to check the learner's solutions. Get back to the Task Description panel and click the Check icon – this will run your test and show the result the way the learner will see it. When the test is ready, you can run or set breakpoints and debug your code. Write a task description NEW To edit your task descriptions right in the Editor, simply open the task.html file. Preview all the changes on the Task Description panel while editing. Put code snippets and hyperlinks to other tasks, .png images, tables, psi elements, and IDE keyboard shortcuts right inside your task description. The IDEs support HTML and Markdown. Framework Lessons NEW BETA To give learners an opportunity to work with a project structure, and to gradually make the project more complicated and sophisticated, consider adding Framework Lessons. From a learner's perspective From a learner’s perspective, Framework Lesson is a set of code files, a project with a list of tasks they need to go through. Every task opens one or more project files in the Editor so learners can work with answer placeholders in those files. Set up a project structure Right-click your course and choose New | Framework Lesson to start your project. Create a new task in the created lesson and add all the project files under the task directory. Add answer placeholders to one or more files you want learners to start with. Create the next step Right-click the framework lesson and create a new task with New | Task. All the project files with all the placeholders will be automatically copied from the previous task. All the placeholders are copied as dependent ones, which means there is no need for learners to re-enter all the answer placeholders they have already worked with. Now the new placeholders can be added as a next step for learners to go further. Course Sharing Keep up with your learning materials and share them publicly or privately with your students or co-workers. Preview course Before sharing your course, it's good to view it from a learner's perspective and to test it. Right-click on the course view and go to Course Creator ⟶ Preview Course to open your course in learner mode. Integration with Stepik Stepik, a learning management and MOOC platform, helps you easily store and share your courses. You can upload your course to Stepik, update it anytime you need, and share it either publicly or privately. We will be glad to hear from you! Which languages and technologies do you want to be able to to teach with JetBrains? Please fill in the feedback form below, or contact us on Twitter. Please contact us if you're interested in learning or teaching with Educational Products: Email You're interested in: Learning Teaching Programming language: C / C++ C# DSL F# Go Groovy Java JavaScript, TypeScript Kotlin Objective-C PHP Python Ruby Scala SQL Swift VB.NET Your message I want to subscribe to news, updates & educational materials relevant to my interests and agree to JetBrains processing my personal data for this purpose. I may withdraw this consent at any time in my profile. In addition, an unsubscribe link is included in each email. About JetBrains Company Contacts Press & Logos Careers Follow JetBrains Copyright © 2000–2018 JetBrains s.r.o. Developed with drive and IntelliJ IDEA Privacy & Security | Terms of Use Cookies and IP addresses allow us to deliver and improve our web content and to provide you with a personalized experience. Our website uses cookies and collects your IP address for these purposes. JetBrains may use cookies and my IP address to collect individual statistics and to provide me with personalized offers and ads subject to the Privacy Policy and the Terms of Use. JetBrains may use third-party services for this purpose. I can revoke my consent at any time by visiting the Opt-Out page. [Y]es, I agree[N]o, thanks ~ root#