JetBrains Academy for Organizations - July 2023 release

Released: Jul 6, 2023

Updates in July 2023

Features

  • Python (data science, machine learning)
    • Python project: Traffic Light (Beta) - In this project, not only will you create your own traffic light app, but you will also gain valuable skills in multi-threading, exception handling, class inheritance, and implementing the circular queue data structure.
    • Data science project: Random Forest from Scratch (Beta) - Dive into the implementation of one of the most popular ensemble algorithms, Random Forest. You'll have the opportunity to build the entire algorithm from scratch using numpy and test it on the titanic dataset from sklearn.
    • NLP project: HyperSearch Engine (Beta) - Build your very own search engine using the TF-IDF algorithm. Your program will be able to highlight the target word and provide context around it.
    • Django project: Regex Tester (Beta) - Harness the power of regular expressions by creating a tool for testing regexes. In this project, you'll develop a simple regex tester that can store the history of tests, allowing you to tame the complexity of regular expressions.
    • Topics:
      • Python: Garbage Collector and Memory Leaks.
      • Django: Model data types.
      • Flask: Flask Test client, Versioning API.
      • Data science instruments: Crosstab in pandas, KNeighborsClassifier in scikit-learn.
      • Machine learning: Preprocessing categorical features, Adaboost, Adaboost: an illustrated walk-through, Gradient boosting, Gradient boosting: the illustrated regression.
      • NLP: Introduction to Hugging Face, Implementation of transformers in Hugging Face, Hugging Face Datasets, Transformers in NLP, Introduction to dialogue systems, Rule-based dialogue systems, BLEU, ROUGE, N-gram and collocation measures.
    • These projects have now been released from Beta and are ready for you to explore:
      • Library Management System (Easy).
      • Algorithms with IMDB (Challenging).
      • HyperSchool (Challenging).
      • Opinion Detector (Challenging).
      • Spam Filter (Challenging).
  • Frontend (HTML, CSS, JavaScript)
    • Project: Site for Marathon (Beta) - Discover the power of iframes in web development as you learn to seamlessly embed external content within your web pages. Explore the techniques of absolute positioning and z-index to precisely position elements on your page. Gain proficiency in working with images and adding subtle animations to enhance the dynamism of your web page.
    • Project: Who Wants to Be a Millionaire (Beta) - Create a browser game while acquiring essential skills in web development. Dive into the world of browser events and learn to effectively handle them, enabling seamless interactivity within your game. Work with JSON objects, allowing you to efficiently store and manipulate game data, and develop your game logic using JavaScript.
    • Topics:
      • HTML: Tag embed.
      • CSS: Filters, Media queries, Responsive images and videos, Responsive tables, Viewport.
      • JavaScript: Self-invoking functions and closures, Server-sent events, Objects prototyping.
      • The Postprocessor project has been released from Beta, with improved content and functionality.
  • Kotlin
    • Project: Bulls and Cows (Beta) - Challenge yourself by creating an advanced version of the classic code-breaking game "Bulls and Cows". Begin by recreating the original version of the game and then elevate it to new heights with your innovative additions and enhancements.
    • Spring Boot project: Account Service (Beta) - Master the Spring Security module. Gain a solid understanding of user authentication and authorization, allowing you to ensure the utmost security for your applications. Learn how to register security events and familiarize yourself with the latest information security standards for web applications, ensuring your projects meet modern requirements.
    • Topics:
      • Kotlin: Retrofit, Advanced lambda expressions, Type-safe builders, StringBuffer.
      • Android: System apps and common intents, Crashlytics, Menus: Options, Popup.
      • Ktor: DefaultHeaders, Request Validation.
      • Koin: Koin Annotations.
    • The Blockchain and Cinema Room Manager have been released from Beta.
  • Go
    • Project: File Type Analyzer (Beta) - Files come in a variety of formats, often indicated by their names. Even if the file type has been manually changed or removed, information about the type is still embedded within the file. In this project, you'll build a tool that extracts information from files to determine their type. Experiment with various algorithms and observe how different algorithms impact the tool's speed.
    • Topics: Synchronization with channels, Context cancellation and timeouts.
  • Java
    • Topics: Hashing java.security.MessageDigest, Understand the problem, External resources.
  • Algorithms and structures
    • Topics: Dynamic programming: another approach, Cryptographic hash functions, Edit distance, Caesar cipher, Vigenère cipher.
  • System administration and DevOps
    • Topics:
      • Command line: How to parse JSON with jq, Sorting and transforming JSON with jq.
      • Docker: Docker-compose.yml syntax.
      • Git: Cherry-picking and checkout options, Git undo/reset.
      • Kubernetes: Tools for Local Kubernetes Deployment, What is a pod?
  • Scala
    • Topic: Unified types.
  • Fundamentals
    • Topics:
      • Essentials: Best practices for writing code, 12-factor application: configuration, process and execution.
      • SQL and databases: Explain, Explain Analyze, Leveraging Built-in SQL Functions and Features, Writing efficient SQL queries.
  • Git
    • Added a new track 'Introduction to Git' - For beginners, understanding the commands and the order and circumstances in which to use them is a challenge which can only be overcome through practice. Even if you already know the basics, this track can help you build your expertise in applying Git to a broad range of problems. By the end of the track, you'll know how to:
      • Use Git and GitHub.
      • Install and set up a Git client.
      • Use common Git commands.
      • Work with local and remote repositories.