├── 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 | 13 | 18 | 23 | 28 | 33 | 38 | 43 | 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 | --------------------------------------------------------------------------------