$30
Subprograms in Julia
In this homework assignment you will investigate how some design issues, related to subprograms, are addressed in Julia, a recent, high-level, high-performance programming language. The web site for Julia is https://julialang.org/. The design issues you will investigate are
Nested subprogram definitions
Scope of local variables
Parameter passing methods
Keyword and default parameters
Closures
First investigate how each of these issues are answered in julia programming language. Then write simple programs clearly illustrating the design decisions for the issues Julia. Discuss the results of execution of your programs in the report.
For each design issue, your example code and its output should illustrate the answer. You can illustrate the answers to these questions, in different parts of a single program. The example program must be complete.
You can use online compilers. Your example programs must be different than the sample codes that may be available in the Internet. To help the TA understand your code and give you good grades, appropriately comment your source to explain your example and why your example is appropriate for this homework.
Organize all of your experiments and their results and put them into a report. The report should include the following:
For each design issue, a sample code segment and the results of its execution. You should explain what your example does, clearly. Make sure you give a list of references and proper citations to these references in your report about the design choices for these issues in the languages covered in this homework. (45 points)
A section that includes your evaluation of Julia in terms of readability and writability of subprogram syntax.
A section about your learning strategy. A learning strategy is an individual's approach to complete a task. In this section, discuss, in detail, the material and tools you used, experiments you performed. Also talk about personal communication, if you had. Give the URLs of the online compiler/interpreters you used to run your programs