• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

jmxpearson/duke-julia-ssri: Materials for SSRI's introduction to Julia.

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

jmxpearson/duke-julia-ssri

开源软件地址:

https://github.com/jmxpearson/duke-julia-ssri

开源编程语言:

Jupyter Notebook 98.8%

开源软件介绍:

Planning for the Duke SSRI Julia Short Course, March 22, 2017.

Topics to be covered:

Overview: Why Julia? (John)

  • Goals:
    • as easy to use as Python, R, or Matlab
    • within a factor of 2 of FORTRAN or C
  • General-purpose language (web server, systems, etc.), but focused on technical computing
  • Under what conditions should I consider switching to Julia?

Julia basics (John/Tyler)

  1. Interactive usage (John)

    • running the REPL; running Jupyter and IJulia
    • getting help
      • ? mode
  2. Basic data operations (Tyler)

    • matrices and vectors
    • linear algebra
    • comprehensions
    • it's okay to use loops
    • but it's also okay to vectorize (but be careful!)
    • defining functions (so we can do ... below)
  3. Other data types (John)

    • tuple
      • tuples are collections of function arguments
      • splatting and slurping (...)
    • dict
      • introduction (for Matlab people)
      • type safety (for Python people)
      • cultural: keys are often symbols
    • set (time permitting)

Plotting things (John/Tyler)

  • PyPlot (John)
  • Winston (Tyler) [Winston is basically like Matlab's plotting syntax ... I'd like to intersperse some plotting with the DataFrames discussion, since this is a natural application. Maybe you can show PyPlot for more pure-math plotting applications, and I can show Winston / Gadfly for data applications?] — Sounds good. I will probably use this as an excuse to show off Python interoperability
  • Gadfly (Tyler): like ggplot for Julia

Theory: how Julia makes your code fast (John)

  1. Compilers and compilation
    • stages of compilation
  2. Types and the type system
    • why types are important
    • grappling with type difficulties
    • the type hierarchy
      • super and subtypes
    • getting help: which, @which, methodswith, typeof
    • types vs objects
  3. Multiple dispatch
    • multiple dispatch vs methods
    • type annotations: when you do and don't need them
  4. Enhancing your code's performance
    • @time
    • garbage collection; memory management
    • Debugging
  5. Macros & meta-programming
    • [This might be worth a brief mention, but nothing more]
    • if code is just another data structure, you can write code that writes code!

Other Topics (Tyler, with input from John on gotchas)

  1. Language similarites / Best coding practices / avoiding "gotchas"
    • Put everything in functions so as to avoid Julia's default global scoping
    • adding type info to list comprehensions
    • Basic syntax comparisons with sister languages (Matlab, Python, R, etc.)
    • Other "gotchas" might already be discussed above with the compilation details section
    • see here for a more complete list
  2. Importing datasets from other languages
    • Matlab/R/Stata/SPSS/SAS datasets
    • CSV files
  3. DataFrames
    • How to use
    • How to convert to matrices and back
    • NA type
    • GLM package for basic data analysis
  4. Optimization
    • JuliaOpt
    • JuMP
  5. Distributions
    • distributions as objects
    • evaluating distributions
    • drawing from distributions
    • automated log transformations for MLE applications
    • maybe worth noting that StatsFuns.jl logpdfs are automatically differentiable by ForwardDiff.jl PR

Presentation order of jupyter notebook files

  1. intro_slides.ipynb
  2. Julia basics.ipynb
  3. PlottingWithWinston.ipynb
  4. PlottingWithGadfly.ipynb
  5. SimilarityOtherLanguages.ipynb
  6. DataImport.ipynb
  7. DataFrames.ipynb
  8. Regressions.ipynb
  9. Nonlinear optimization with JuMP.ipynb
  10. Distributions.ipynb



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap