├── LICENSE
├── syllabus.md
├── README.md
└── installation.md
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright David P. Sanders, 2019.
2 |
3 | Code content is licensed under the MIT license.
4 |
5 | Text content is licensed under the CC BY-NC-SA license.
6 |
--------------------------------------------------------------------------------
/syllabus.md:
--------------------------------------------------------------------------------
1 | # Syllabus and schedule for 6.S083 / 18.S190
2 |
3 | This is a working syllabus for 6.S083 / 18.S190 during spring 2020.
4 |
5 | |Lecture| Class Video | Class Notebook | Other Resources |
6 | |--|--|--|--|
7 | | 1. Analyzing covid-19 data | [Welcome Video](https://video.odl.mit.edu/videos/25acbf684dbd4fb18caa694dc1e9cb4a/) | |
8 |
9 | -
10 | 2. Modelling exponential growth
11 |
12 |
13 |
14 | -
15 | 3. Probability
16 |
17 |
18 |
19 | -
20 | 4. Individual-based models
21 |
22 |
23 |
24 | -
25 | 5. Differential equations
26 |
27 |
28 |
29 | -
30 | 6. SIR models
31 |
32 |
33 |
34 | -
35 | 7. Networks
36 |
37 |
38 |
39 | -
40 | 8. Optimization
41 |
42 |
43 |
44 | -
45 | 9. Fitting to data
46 |
47 |
48 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 6.S083 Introduction to Computational Thinking with Julia
2 |
3 | ## Spring 2020
4 |
5 | **Please see https://github.com/mitmath/6S083 for the Spring 2020 version of the course**
6 |
7 | See the branch `fall_2019` here for the fall 2019 version.
8 |
9 | Welcome to 6.S083. This is an introductory course on Computational Thinking, using the Julia programming language, taught in fall 2019.
10 |
11 | ### Professors
12 | Visiting Professor David P. Sanders ([sandersd@mit.edu](mailto:sandersd@mit.edu)) & Professor Alan Edelman
13 |
14 | ### Lectures
15 | MW 3 - 4.30, online. (Registered students will receive a Zoom link.)
16 |
17 | Start date: March 30, 2020.
18 |
19 | ### Office hours
20 | TBD
21 |
22 | ### Evaluation
23 |
24 | * 5 problem sets, 20% each. Lowest score dropped.
25 |
26 | * To pass, you must submit at least 4 problem sets with passing grades
27 |
28 | * No final exam
29 |
30 | Problem sets consist of coding and will be submitted online.
31 |
32 |
33 |
34 | ### Windows users
35 |
36 | If you use Windows, please download Git for Windows [here](https://gitforwindows.org)
37 |
38 | ### Getting the files
39 |
40 | To get the files, use `git` from the command line (or from a GUI), as follows
41 |
42 | - Clone the repository once with
43 | ```
44 | git clone https://github.com/dpsanders/6.S083
45 | ```
46 | This will create a new directory called `6.S083` with the matierials.
47 |
48 |
49 | - Update it to pull in new changes
50 | ```
51 | git pull
52 | ```
53 | This needs to be executed from within the directory. (Use `cd` to change directory.)
54 |
55 | ### Syllabus
56 | See [here](syllabus.md) for the course syllabus and schedule.
57 |
--------------------------------------------------------------------------------
/installation.md:
--------------------------------------------------------------------------------
1 | # Installation of Julia
2 |
3 | This document contains step-by-step instructions to install the Julia language, together with the necessary additional tools / environments that we will use in the course.
4 |
5 | Please follow the instructions carefully and one by one. You should be able to copy and paste from this document; otherwise you must be careful to use the correct capitalisation, e.g. `IJulia`, not `Ijulia` or `ijulia`.
6 |
7 | ## 1. Install Julia
8 |
9 | 1. Download the current stable version of Julia (1.4.0) from https://julialang.org/downloads corresponding to your operating system, and install it.
10 |
11 | - For Linux you should download the "generic binary" and note where you save it on your machine (i.e. in which directory).
12 |
13 | - You may instead use your operating system's package installer (e.g. `homebrew` on Mac) to install Julia, *provided* that the version installed is at least 1.4.
14 |
15 | 2. Make sure that Julia runs and execute `1 + 1`.
16 |
17 | 3. If you know how to do so, you probably want to set up some kind of link or alias so that you can run Julia from anywhere.
18 |
19 | 4. Browse through the [Julia home page](www.julialang.org), have a look at the [comprehensive Julia manual](https://docs.julialang.org/en/v1) and a [page with resources for learning the language](https://julialang.org/learning).
20 |
21 |
22 | ## 2. Install the Jupyter notebook
23 |
24 | We will use the [Jupyter notebook](jupyter.org) computational environment. Install it as follows:
25 |
26 | 1. Run Julia.
27 |
28 | 2. At the Julia prompt `julia> `, type
29 |
30 | ```jl
31 | julia> using Pkg
32 | julia> Pkg.add("IJulia")
33 | ```
34 |
35 | 3. When that has finished, at the Julia prompt `julia> ` type
36 |
37 | ```jl
38 | julia> using IJulia
39 | julia> notebook()
40 | ```
41 |
42 | 4. Answer `y` when asked if you want to install the Jupyter notebook.
43 |
44 | A good alternative is to use the more modern [JupyterLab](https://jupyterlab.readthedocs.io/en/stable). To do so, type `jupyterlab()` instead of `notebook()`.
45 |
46 |
47 | 5. Install interactive capabilities that we will use:
48 |
49 | ```jl
50 | julia> Pkg.add("WebIO")
51 | julia> using WebIO
52 | julia> WebIO.install_jupyter_nbextension()
53 | ```
54 |
55 | If you use JupyterLab, replace the last line with `julia> WebIO.install_jupyter_labextension()`.
56 |
57 |
58 | ## 3. Install packages we will need
59 |
60 | 1. At the Julia prompt, type
61 |
62 | ```jl
63 | julia> using Pkg
64 | julia> Pkg.add("Plots")
65 | julia> Pkg.add("Interact")
66 | ```
67 |
68 | ## 4. Install the Juno IDE
69 |
70 | We will also use the Juno IDE (Integrated Development Environment). This consists of a set of plugins for the modern editor Atom. You can use Atom for editing all kinds of documents, not just Julia code.
71 |
72 |
73 | 1. Download and install the Atom editor from https://atom.io.
74 |
75 | 2. Run Atom.
76 |
77 | 3. In the Atom menu, choose `Preferences -> Install` and install the Atom package named `uber-juno`. This will install the Juno IDE, which is a collection of packages for Atom as well as some Julia packages for communicating with Atom.
78 |
79 | 4. Save a file called `hello.jl` with the contents `1 + 1`.
80 |
81 | 5. Type `Shift-Enter` to run the code (with your cursor somewhere on the line containing `1 + 1`).
82 |
83 | 6. For more information about Juno, see the [Juno home page](https://junolab.org).
84 |
--------------------------------------------------------------------------------