Juliaプログラミング入門
Juliaプログラミング言語の包括的なガイドです。高性能で汎用性の高い動的言語であり、科学計算や数値計算に最適です。このコースでは、基本的な構文やデータ型から、メタプログラミング、データフレーム、ネットワーキング、データベースインターフェースといった高度なトピックまで網羅しています。
コース概要
📚 コンテンツ概要
高性能で汎用的な動的言語であるJuliaプログラミング言語についての包括的なガイド。科学計算および数値計算に最適な言語として、基本構文やデータ型から、メタプログラミング、データフレーム、ネットワーキング、データベースインターフェースといった高度なトピックまでカバーしています。
C言語並みの高速性とPythonのような使いやすさで、高性能な科学計算をマスターしよう。
著者: Tutorials Point (I) Pvt. Ltd.
謝辞: 2020年、Tutorials Point (I) Pvt. Ltd. 版権所有。すべてのコンテンツおよびグラフィックスはTutorials Pointの財産です。
🎯 学習目標
- Juliaプログラミング言語の定義を行い、その核心機能および歴史的背景を特定する。
- パフォーマンスおよび構文の観点から、他の技術計算言語との違いを理解する。
- Linux、Windows、macOS上でJulia環境およびREPLのインストールと設定を成功させる。
- Juliaのスタイル規則に従った変数名付けを行い、単一行・複数行コメントを使ってコードのドキュメント化を行う。
- 範囲オブジェクト、ジェネレーター、コンプレッション、および
zeros()やones()などの組み込み関数を用いて、さまざまな種類や次元の配列を構築する。 - ブール論理、
endキーワード、および感嘆符付き関数(例:push!、splice!)を活用して、高度な配列インデックス操作および変更タスクを実行する。 - タプルおよび名前付きタプルを構築・操作し、関数のキーワード引数としての応用も含めて扱う。
- 標準型および任意精度型を使用して、整数オーバーフローの挙動や除算エラーを識別・管理する。
- 浮動小数点表現を分析し、符号付きゼロ、特殊値(NaN、Inf)、マシンイプシロンを含む。
- 算術演算子、ビット演算子、更新演算子を実行および組み合わせて、データ型を操作する。
レッスン 共 10 课时 · 预计 30.0h
レッスン
Lesson
This lesson introduces the Julia programming language and its ability to solve the "two-language problem" by providing high-level, readable syntax that executes with the speed of low-level languages. Students will learn how to set up their development environment and understand how Julia’s LLVM-based compilation eliminates the need to rewrite prototypes for production.
This lesson introduces the fundamentals of Julia programming, focusing on variable naming conventions, type inference, and the use of snake_case. Students will also learn how to manage the Julia environment, execute scripts using the include() function, and implement proper documentation standards through single and multi-line comments.
This lesson introduces tuples in Julia as fixed-length, immutable collections that ensure data integrity by preventing accidental modifications. Students will learn how to define and index tuples, utilize tuple unpacking, and leverage their performance advantages for storing fixed-size data.
This lesson introduces the landscape of operators in Julia, covering arithmetic, bitwise, and logical operations, as well as the use of compound updating assignments. Students will learn how to apply these operators effectively while managing type-specific behaviors and operator precedence to solve computational problems.
This lesson explores the distinction between Julia’s 32-bit Char primitives and immutable UTF-8 Strings, emphasizing their unique type hierarchies and memory handling. Students will learn to perform character arithmetic, implement functional transformations, and optimize text processing through efficient byte-based indexing and SubString views.
This lesson explores flow control in Julia, focusing on implementing complex conditional logic, iterative loops, and key-value data structures. Students will also learn to leverage Julia's multiple dispatch system and the Dates module to manage and manipulate temporal data types efficiently.
This lesson explores the Julia Dates module, focusing on the hierarchical management of temporal data through Date, Time, and DateTime types. Students will learn to perform precise calendar arithmetic, utilize stream-based I/O, and apply metaprogramming techniques to build flexible, reusable code.
This lesson introduces the Julia visualization ecosystem, focusing on the Plots.jl metapackage that provides a unified syntax for various rendering backends. Students will learn how to switch between backends like GR and UnicodePlots to optimize workflows for both high-resolution graphical output and terminal-based data analysis.
This lesson explores the four pillars of scientific computing in Julia: high-performance data handling, statistical rigor, modular architecture, and versatile graphics. Students will learn how to integrate diverse data streams, apply weighted statistical metrics, and utilize various libraries for both low-level and declarative data visualization.
This lesson explores Julia’s networking and database ecosystem, focusing on using the Multiple Dispatch paradigm to interface with high-performance tools like Gaston and PGFPlots for data visualization and reporting. It also introduces practical byte-stream communication, contrasting the reliability of TCP and Named Pipes with the speed-focused nature of UDP.