Introduction to Julia

Course Objective
To make the student familiar with the fundamentals of Julia

Learning Outcomes
Upon completion of this course, students will be able to
Produce quality code that can be used in a wide variety of circumstances.
Understand complex data types and the best ways to perform operations on them.

Detailed Syllabus

1 Introduction to Julia: The REPL

2 Fundamentals I:  Variables ,  Integers and Floating-Point Numbers, Mathematical Operations and Elementary Functions, Complex and Rational Numbers,  Strings, Functions, Control Flow, Scope of Variables, Types, Methods, Constructors,  Conversion and Promotion, Interfaces, Modules, Metaprogramming, Multi-dimensional Arrays, Linear algebra

  1. Fundamentals II: Networking and Streams, Parallel Computing, Date and Time, Running External Programs, Calling C and Fortran Code, Handling Operating System Variation, Interacting with Julia, Embedding Julia, Packages, Package Development, Profiling, Memory allocation analysis, Stack Traces Performance, Controlling Workflow,  Style, Noteworthy Differences from other Languages, Unicode Input
  2. The Julia Standard Library