Main text book to study
- J2L: Julia as a second language, Erik Engheim, 2023
- JDP: Hands on design patterns and best practices with julia, Tom Kwong, 2020
- JHP: Julia High Performance, 2nd Edition, Avik Sengupta, 2019
Study Schedule (2023)
| Date | Range | Presenter |
|---|---|---|
| Aug 2 | Setup Julia Repo in GitHub with Actions | Norel |
| Aug 18 | Setup Julia Repo in GitHub with Actions, Why Julia? | Norel |
| Aug 24 | Why Julia? | Kjeong |
| Sep 15 | Organizing and modularizing your code, Modules, Packages and Data Type Concepts | Norel |
| Sep 24 | Julia as a calculator | Kjeong |
| Oct 6 | Control flow | Norel |
| Oct 13 | Control flow | Norel |
| Nov 5 | Julia as a spreadsheet | Kjeong |
| Nov 10 | Julia as a spreadsheet, Working with text | Norel |
| Nov 18 | Storing data in dictionaries | Kjeong |
| Dec 1 | Understanding types, Modules, Packages and Data Type Concepts | Norel |
| Dec 16 | Understanding types, Modules, Packages and Data Type Concepts | Norel |
| Dec 22 | Building a rocket | Kjeong |
| Dec 29 | Conversion and promotion | Norel |
| Jan 5 | Representing unknown values | Kjeong |
| Jan 12 | Working with strings | Norel |
| Jan 19 | Understanding Julia collections | Kjeong |
| Jan 26 | Working with sets | Norel |
| Feb 2 | Working with vectors and matrices | Kjeong |
| Feb 9 | Functional programming in Julia | Norel |
| Feb 16 | Input and output | Kjeong |
| Feb 23 | Defining parametric types | Norel |
Documentation for JuliaStudy.
JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.LModelJuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.LStateBase.:==Base.insert!Base.showJuliaStudy.Julia2ndLang.ToyGeometry.cone_valueJuliaStudy.Julia2ndLang.ToyGeometry.cosineJuliaStudy.Julia2ndLang.ToyGeometry.cylinder_volumeJuliaStudy.Julia2ndLang.ToyGeometry.facJuliaStudy.Julia2ndLang.ToyGeometry.sineJuliaStudy.Julia2ndLang.ToyGeometry.sphere_volumeJuliaStudy.JuliaPatterns.Calculator.interestJuliaStudy.JuliaPatterns.Calculator.rateJuliaStudy.JuliaPatterns.DataTypeConcepts.genSubStrJuliaStudy.JuliaPatterns.DataTypeConcepts.locationJuliaStudy.JuliaPatterns.DataTypeConcepts.subtypeTreeStrJuliaStudy.JuliaPatterns.DataTypeConcepts.subtypetreeJuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.add_rule!JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.resultJuliaStudy.JuliaPatterns.FactoryMethodPattern.formatJuliaStudy.JuliaPatterns.SharedArrayPattern.std_by_securityJuliaStudy.JuliaPatterns.SpaceWar.explodeJuliaStudy.JuliaPatterns.SpaceWar.overlapJuliaStudy.JuliaPatterns.SpaceWar.towJuliaStudy.JuliaPatterns.Vehicle.engage_wheels!JuliaStudy.JuliaPatterns.Vehicle.land2!JuliaStudy.JuliaPatterns.Vehicle.move!JuliaStudy.JuliaPatterns.Vehicle.positionJuliaStudy.JuliaPatterns.Vehicle.power_off!JuliaStudy.JuliaPatterns.Vehicle.power_on!JuliaStudy.JuliaPatterns.Vehicle.travel_pathJuliaStudy.JuliaPatterns.Vehicle.turn!
Base.:== — MethodBase.:(==)(a::Archer, b::Archer)See https://stackoverflow.com/questions/70362843/how-to-create-equality-test-case-for-custom-structures-in-julia
JuliaStudy.Julia2ndLang.ToyGeometry.cone_value — Methodcone_value(r, h)Calculate the volume of a cone with radius r and height h.
JuliaStudy.Julia2ndLang.ToyGeometry.cosine — Methodcosine(x::Number)Calculate the cosine of an angle x given in radians
JuliaStudy.Julia2ndLang.ToyGeometry.cylinder_volume — Methodcylinder_volume(r, h)Calculate the volume of a cylinder with radius r and height h.
JuliaStudy.Julia2ndLang.ToyGeometry.fac — Methodfac(n)Get factorial of n.
JuliaStudy.Julia2ndLang.ToyGeometry.sine — Methodsine(x)Calculate the sine of an angle x given in radians.
JuliaStudy.Julia2ndLang.ToyGeometry.sphere_volume — Methodsphere_volume(r)Calculate the volume of a sphere with radius r
JuliaStudy.JuliaPatterns.Calculator.interest — Methodinterest(amount, rate)Calculate interest from an amount and interest rate of rate.
JuliaStudy.JuliaPatterns.Calculator.rate — Methodrate(amount, interest)Calculate interest rate based on an amount and interest.
JuliaStudy.JuliaPatterns.DataTypeConcepts.genSubStr — MethodgenSubStr(inType, indent::Int, level::Int, inStr::String) ::StringGenerate substring for recursive call from subtypeTreeStr.
JuliaStudy.JuliaPatterns.DataTypeConcepts.location — Methodlocation(p::Property)
Returns the location of the property as a tuple of (latitude, longitude).
JuliaStudy.JuliaPatterns.DataTypeConcepts.subtypeTreeStr — FunctionsubtypeTreeStr(inType = nothing, indent::Int = 4) ::StringReturn all sub types with tree stucture.
This function is improved version of subtypetree for easy testing.
JuliaStudy.JuliaPatterns.DataTypeConcepts.subtypetree — Functionsubtypetree(roottype, level = 1, indent = 4)Display the entire type hierarchy starting from the specified roottype
JuliaStudy.JuliaPatterns.SharedArrayPattern.std_by_security — Methodstd_by_security(valuation)Find standard deviation of each attribute for each security
JuliaStudy.JuliaPatterns.SpaceWar.explode — Methodexplode(things::AbstractVector{Any})explode an array of objects
JuliaStudy.JuliaPatterns.SpaceWar.overlap — Methodoverlap(A::Rectangle, B::Rectangle)check if two rectangles (A & B) overlap
JuliaStudy.JuliaPatterns.SpaceWar.tow — Methodtow(A::Spaceship, B::T) where {T <: Thing}equivalent of parametric type
JuliaStudy.JuliaPatterns.Vehicle.engage_wheels! — Methodengage_wheels(args...)engage wheels for landing. Optional
JuliaStudy.JuliaPatterns.Vehicle.land2! — Methodland2!(vehicle)Landing (using trait)
JuliaStudy.JuliaPatterns.Vehicle.move! — Functionmove!move the vehicle by the specified distance
JuliaStudy.JuliaPatterns.Vehicle.position — Functionpositionreturns the (x, y) position of the vehicle
JuliaStudy.JuliaPatterns.Vehicle.power_off! — Functionpower_off!turn off the vehicle's engine
JuliaStudy.JuliaPatterns.Vehicle.power_on! — Functionpower_on!turn on the vehicle's engine
JuliaStudy.JuliaPatterns.Vehicle.travel_path — Methodtravel_path(position, destination)Returns a travel plan from current position to destination
JuliaStudy.JuliaPatterns.Vehicle.turn! — Functionturn!steer vehicle to the specified direction
JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.LModel — MethodCreate a L-system model.
JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.LState — MethodCreate a L-system state from a model.
Base.show — MethodDisplay model nicely.
JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.add_rule! — MethodAdd rule to a model.
JuliaStudy.JuliaPatterns.DomainSpecificLanguagePattern.result — MethodCompact the result suitable for display
JuliaStudy.JuliaPatterns.FactoryMethodPattern.format — Functionformat(::Formatter, x::T) where {T <: Number}
Format a number x using the specified formatter. Returns a string.
Base.insert! — MethodInsert new elements at current position.