JetBrains Academy
The place for learning and teaching computer science your way
JetBrains Academy の新しいプロジェクトとテーマ: 4 月の更新情報
JetBrains Academy では、学習は教育と娯楽の両方を兼ね備えていると考えています。 最新のプロジェクトでは独自の交通信号機を制作したり、医療機関の予約システムを作成したりします。さらにはパスワードハッカープロジェクトも提供されています。このように、学習と娯楽の両方が取り入れられているのは偶然ではありません。
今月は Java、Python、Flask、フロントエンド、データサイエンスなどの幅広いプログラミング分野にわたって 10 件の新しいプロジェクトと 36 個の新しいテーマがリリースされています。 プロジェクトリポジトリの新着情報を詳しく見てみましょう。
Java
🆕 プロジェクト: Traffic Light(ベータ)。中難度
交通信号機の仕組みをご存知ですか? このプロジェクトでは単純化された交通信号機を制作し、その過程でさまざまな新しいスキルを習得することができます。 プロジェクトを完了すると、マルチスレッドの操作、例外の処理、クラスの継承、および循環キューデータ構造の使用を行えるようになります。
🆕 プロジェクト: Hospital Appointment Booking System(ベータ)。高難度
このプロジェクトでは Spring Boot を使用した REST サービスの構築方法と、データベース、JSON、および REST API の基本的な操作方法を学習します。 新たに習得したスキルを使用し、病院の運営を改善する REST API ベースの予約システムを開発します。 患者が簡単に予約を取り、医院長は医師の仕事量を監視しすることで、医師は 1 日の計画を立てやすくなります。
🆕 プロジェクト: Password Hacker(ベータ)。超高難度
この Java プロジェクトでハッキングの世界をのぞいてみましょう! ここではあなたがハッカーになり、パスワードの情報を持たずに機密サーバーに接続するミッションを達成します。 このプロジェクトを通してイテレーター、ジェネレーター、Java の itertools モジュールなどのハッキングに使用される主なツールと手法について学びます。 さらにはクライアントアプリを開発し、ソケットモジュールを使ってサーバーに接続します。このような作業を通して JSON と時間モジュールに関する理解をさらに深めます。
また、Meal Planner プロジェクトが正式リリースになりました。
🆕 テーマ:
- コード編成: Thread-safe singleton
- Spring Boot: Custom queries with @Query、Testing repositories
Python
🆕 プロジェクト: Jeopardy! Question Answering Bot(ベータ)。超高難度
Jeopardy! 形式の質問回答プロジェクトで力試ししましょう。さまざまな知識分野の質問に答えられるボットを作成します。 2011 年にこのゲームで人間を打ち負かしたことで知られる IBM Watson に勝てるでしょうか? 文章埋め込みアルゴリズムを使ってユーザーの質問を分離する方法を学習し、Q&A システムを制作するためのコーパスの準備に関するインサイトを得ます。
🆕 プロジェクト: Marathon Runners(ベータ)。 高難度
最も一般的な k 近傍法(KNN)アルゴリズムを実装し、機械学習の扉を開きましょう。 このプロジェクトでは基本的な Python ツールを使って KNN アルゴリズムをゼロからコーディングし、分類問題を解決します。 基本的なデータ型を学習し、Python 関数の使用を実践し、オブジェクト指向プログラミングの基本を学習します。 また、データを機械学習アルゴリズムに供給する前にデータを準備して正規化する方法を学びます。
🆕 プロジェクト: Learning Progress Tracker(ベータ)。高難度
登録の管理、学習進度の追跡、およびユーザーとカテゴリに関する詳細な情報の提供を行える教育プラットフォームを構築します。 ループ、フロー制御、機能分解、および SOLID 原則の使用を実践します。 文字列を処理し、ユニットテストフレームワークを利用してエラーのないコードを作成する方法を学習します。 データの並べ替えとフィルターにはリストなどの適切なコレクションが使用されます。
さらに、プロジェクト Simple Text Summarization、Sorting Tool、および Video Game Database は学習者向けの機能が改善され、正式リリースになりました。
Flask
🆕 プロジェクト: Movie Database API(ベータ)。超高難度
映画ファンにとっては必ず気に入っていただける新プロジェクトとなっています。 映画データベースを使用して、SQLAlchemy でデータベーステーブルマッピングの設計と実装、データの挿入と取得、および SQL クエリの構築によるデータのフィルタリングを学びます。 また、データモデルとリレーションをデータベーススキーマに実装する貴重な体験も得られます。 ポップコーンを用意して始めましょう!
また、Memorization Tool が正式リリースになりました。
フロントエンド
🆕 プロジェクト: URL Shortener(ベータ)中難度
このプロジェクトでは、HTML と JavaScript と使用してウェブサイト URL を短縮するウェブページを作成します。 ドキュメントオブジェクトモデル(DOM)を操作して、ユーザーの入力を取得して結果を動的に表示する処理も実践します。 これは、HTML と JavaScript のスキルを実践的な環境に応用してウェブ開発のハンズオン経験を得られる素晴らしい機会となっています。
🆕 プロジェクト: Dog Glossary(ベータ)。高難度
誰でもオンラインでかわいいワンちゃんの写真を見たいものですよね? パブリック API を使って犬の写真と犬種のリストをランダムに表示するウェブページを作成します。 このプロジェクトは API の処理を実践して HTML と JavaScript のスキルを改善するのに役立ちます。 API からデータを取得してウェブページに表示することで、プロミスの操作方法とさまざまなデータ構造の処理方法を学習します。
🆕 テーマ:
- CSS: Grid gaps、Introduction to Grid
- JavaScript: Local Storage
- Node.js: Working with filesystem、Creation of HTTP server、Querystring module、What is module?
データサイエンス
🆕 機械学習プロジェクト: Naive Bayes Classifier with Pen and Paper(ベータ)。 低難度
このプロジェクトでは単語を数値データに変換するプロセスへの理解を深め、単純ベイズ分類器の内部的な仕組みを探ります。 単純なデータセットに対する作業を通して分類問題の解決への理解を深めます。 また、自然言語処理の重要なタスクである言語識別についても学習し、ペンと紙のみを使った基本的な分類器の作成方法を学びます。
さらに、プロジェクト Generating Randomness と Linear Regression from Scratch が正式リリースになりました。
🆕 テーマ:
- ツール: K-Means in sklearn
- 機械学習: Basics of neural network architecture、MAE、Introduction to Question Answering
- NLP: Knowledge-based QA、Machine Reading Comprehension & Logical Reasoning QA、Open-domain and close-domain QA
今月は新しい Game Development with Unity(Unity によるゲーム開発)トラックもリリースし、Introduction to Natural Language Processing(自然言語処理の基礎)を更新しました。 見逃した方は、ぜひご覧ください。
Kotlin
Contacts プロジェクトが正式リリースになりました。
🆕 テーマ:
- Ktor: WebSockets
- 制御フロー: Inline functions and reified types in Kotlin
- オブジェクト指向プログラミング: Infix functions、Operator overloading
- 型とデータ構造: CharSequence、Type cast and smart cast
Bash(Unix シェル)
Enigma プロジェクトが正式リリースになりました。
Android
🆕 テーマ: Parcel and Bundle
基礎
🆕 テーマ:
- アルゴリズムと構造: Ford-Fulkerson algorithm、DFS-based topological sort、Coding: overview
- 開発ツール: Introduction to Kubernetes
- JVM: Parallel GC
- DevOps: Best practices for writing Dockerfiles
- SQL とデータベース: Sequences、The WITH statement、Aggregate operations、Explain, Import and export CSV files、Date and Time data types in SQLite
「ベータ」表記のあるプロジェクトは、早期のテスト段階にあります。 プラットフォームでベータプロジェクトをご覧になりたい方は、プロファイル設定でベータテスター機能が有効になっていることを確認してください。
今月のお知らせはこれで以上となります! これらの更新内容が皆さまのお役に立ち、学習体験を向上させるものであることを願っています。 いつものように、皆さんからのフィードバックと提案をお待ちしています。academy@jetbrains.com にご連絡いただくか、Twitter または Facebook にご意見をお寄せください。
楽しく学びましょう!
JetBrains Academy チーム一同より
オリジナル(英語)ブログ記事の作者: