# julia_and_its_application **Repository Path**: JohnnyChen94/julia_and_its_application ## Basic Information - **Project Name**: julia_and_its_application - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: 2021fall - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-26 - **Last Updated**: 2024-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Julia 语言及其应用 [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa] > 今年的内容到此已经结束了, 后续应该不会再有更新。 > > 如果时间安排顺利的话, 应该会基于这些内容在 22 年春夏的时候准备一些更正式的材料 (小册子或者视频教程) 发布出来, 如果你觉得这些材料对你或者周围人有帮助的话请点个 star (这样的话我就有动力发电了) 这是我在华东师范大学内部做的一个关于 Julia 的系列讲座时用到的材料, 主要目的是 - 介绍 Julia 这门语言 - 介绍一些科学计算中关于性能优化的一些基础知识 - 作为例子, 介绍一些我所了解领域中的基础知识, 例如: 数值计算、 图像处理、 机器学习和深度学习 如果关于材料的内容有疑问, 欢迎[开issue](https://github.com/johnnychen94/Julia_and_its_applications/issues/new)提问. 配置 Julia 请查看 [setup](setup.md) ## 时间及内容安排 **时间:** 2021年10月10日 - 2021年12月12日, 每周日下午 14:00 - 16:00 **地点:** 数学科学学院机房教室 200B **内容大纲:** 已讲内容: - (第一讲 10.10): Julia 概述: 这是⼀⻔什么样的语⾔, 为什么要有这⻔语⾔, 以及当前的⽣态 - (第二讲 10.17): Julia 的基本数据类型以及函数的定义 - (第三讲 10.24): Julia 的类型系统和多重派发 (补充材料: 利用 functor 模式打造一个简单的深度学习方案) - (第四讲 10.31): [广播与向量化编程][4_1_broadcasting] (顺便演示了 [Julia-VSCode] 还有 [Revise.jl]) - (第五讲 11.7): 一个简单的关于卷积的小练习([problems][workshop_problems] and [solution][workshop_solution]) 顺便还介绍了 Flux 下的 Conv 层的概念, 但由于过于繁忙(懒惰)一直没有把内容补上 (下次一定) - (第六讲 11.14): [矩阵与迭代器接口][6_1_interfaces], [异步模型与多线程模型][6_2_parallel_intro] - (第七讲 11.21): 继续介绍 [异步与多线程模型][6_2_parallel_intro], 以及多进程模型的内容 (暂时还没有整理完)。 顺便还介绍了一些关于元编程、 [LoopVectorization] 以及 [Halide][halide_scheduling] 的一些东西。 - (第八讲 12.5): [从零开始写一个 Julia 包][8_package_workflow]: `Manifest.toml`/`Project.toml`, 包 注册表, 单元测试及CI, 性能测试, 文档构建 ## 其他 - 原始仓库放在 [GitHub](https://github.com/johnnychen94/Julia_and_its_applications) 上面, 考虑到一些同学缺乏一些必要的技术手段, 在国内也镜像到 [Gitee](https://gitee.com/JohnnyChen94/julia_and_its_application)了。 - 致宏关于这些内容自己整理了一系列的笔记,有兴趣的话可以查看 [Rex's blog](https://www.wzhecnu.xyz/tags/Julia/) (2021年) [4_1_broadcasting]: https://johnnychen94.github.io/Julia_and_its_applications/4_1_broadcasting.jl.html [6_1_interfaces]: https://johnnychen94.github.io/Julia_and_its_applications/6_1_interfaces.jl.html [workshop_problems]: https://johnnychen94.github.io/Julia_and_its_applications/5_1_workshop_problems.jl.html [workshop_solution]: https://johnnychen94.github.io/Julia_and_its_applications/5_1_workshop_solution.jl.html [6_2_parallel_intro]: https://johnnychen94.github.io/Julia_and_its_applications/6_2_parallel_intro.jl.html [8_package_workflow]: https://johnnychen94.github.io/Julia_and_its_applications/8_package_workflow.jl.html [LoopVectorization]: https://github.com/JuliaSIMD/LoopVectorization.jl [halide_scheduling]: https://halide-lang.org/tutorials/tutorial_lesson_05_scheduling_1.html [Julia-VSCode]: https://www.julia-vscode.org/ [Revise.jl]: https://github.com/timholy/Revise.jl [cc-by-nc-sa]: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh [cc-by-nc-sa-image]: https://mirrors.creativecommons.org/presskit/buttons/80x15/svg/by-nc-sa.svg