forked from UiO-IN3110/UiO-IN3110.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
184 lines (178 loc) · 14.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.12: http://docutils.sourceforge.net/" />
<title>Higher Level Programming</title>
<link rel="stylesheet" href="index.css" type="text/css" />
</head>
<body>
<div class="document" id="higher-level-programming">
<h1 class="title">Higher Level Programming 2019</h1>
<h2 class="subtitle">A course taught at the <a href="http://www.uio.no/studier/emner/matnat/ifi/IN3110/">University of Oslo</a></h2>
<div class="title-logos container">
<div class="line-block">
<div class="line"><br /></div>
<div class="line">Latest version - August 2019</div>
</div>
</div>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<div class="title-logos container">
<img alt="Logo" src="logo.png" style="width: 100%;" />
</div>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<p>This lecture series introduces concepts of higher level programming. The lecture introduces essential tools to quickly and efficiently implement programming problems.</p>
<p>The assignments are available on the <a href="https://www.uio.no/studier/emner/matnat/ifi/IN3110/h19/oppgaver.html">University course website</a>.
The <img style="height:15px" src="notebook.png"></img> images link to the lecture scripts and the <img src="play.png" alt="Play video" style="height:15px;"> images link to the video recordings of each lecture.
</ndep>. You can also run the lecture slides interactively on your browser <a href="https://mybinder.org/v2/gh/UiO-IN3110/UiO-IN3110.github.io/master?filepath=lectures"><img id="badge" src="badge_logo.svg"></a>.
<p>The lecture was initially created by Hans Petter Langtangen and extended by Joakim Sundnes, Ola Skavhaug, Jonathan Feinberg, Karl-Erik Holter, Vidar Tonaas Fauske, Benjamin Ragan-Kelley and <a class="reference external" href="mailto:simon@simula.no">Simon Funke simon@simula.no</a>. It is being taught on a yearly basis at University of Oslo under the name <a href="http://www.uio.no/studier/emner/matnat/ifi/IN3110/">IN3110/IN4110</a>.</p>
<div class="contents main-content topic" id="table-of-contents">
<p class="topic-title first"><strong>Table of Contents</strong></p>
<ul class="simple">
<li>About this course
<!-- <a href="https://youtu.be/zm3lAP_bOew"><img src="play.png" style="height:15px;"></a> -->
<ul>
<li>About this course<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/01-about-course/About%20the%20course.ipynb"> <img style="height:15px" src="notebook.png"></img></a></li>
<!-- <li>Scripting vs regular programming<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/01-about-course/Scripting%20vs%20regular%20programming.ipynb" src="ipython-notebook.png"> <img style="height:15px" src="notebook.png"></img></a></li> -->
</ul>
</li>
<li>The git version control system <a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/01-about-course/Introduction%20to%20git.ipynb"> <img style="height:15px" src="notebook.png"></img></a>
<a href="https://youtu.be/wSoL3u9C__Y"><img src="play.png" style="height:15px;"></a>
</li>
<li>Bash programming
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/02-bash-programming/Bash%20programming.ipynb"> <img style="height:15px" src="notebook.png"></a>
<a href="https://youtu.be/usLnbJTJWxY"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/h_-Apv2-qxA"><img src="play.png" alt="Part 2" style="height:15px;"></a>
</li>
<li>Introduction to Python
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/03-python-summary/03_python_summary-short.ipynb"> <img style="height:15px" src="notebook.png"></a>
<a href="https://youtu.be/MqgCDS-J5TQ"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/7QVpJFBvcqg"><img src="play.png" alt="Part 2" style="height:15px;"></a>
<ul>
<li>Getting help</li>
<li>Variables and types</li>
<li>Functions</li>
<li>Classes</li>
</ul>
</li>
<li>Advanced Python topics
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/04-python-summary2/04_python_summary2.ipynb"> <img style="height:15px" src="notebook.png"></a>
<ul>
<li>Essentials for better Python programming
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/04-python-summary2/Essentials%20for%20better%20Python%20programming.ipynb"> <img style="height:15px" src="notebook.png"></a>
</li>
<li>Error handling
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/04-python-summary2/Error%20handling%20in%20Python.ipynb"> <img style="height:15px" src="notebook.png"></a>
</li>
<li>Testing
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/04-python-summary2/Testing.ipynb"> <img style="height:15px" src="notebook.png"></a>
</li>
<li>Structuring Python programs
<a href="https://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/04-python-summary2/How%20to%20structure%20your%20program.ipynb"> <img style="height:15px" src="notebook.png"></a>
</li>
</ul>
</li>
<li>Numerical computing with NumPy
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/05-numerical-python/05_numerical_python.ipynb"> <img style="height:15px" src="notebook.png"></a>
<a href="https://youtu.be/7xD2AgatEs4"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/0B6i332HXNs"><img src="play.png" alt="Part 2" style="height:15px;"></a>
<ul>
<li>A first taste of NumPy</li>
<li>Creating arrays</li>
<li>Indexing/slicing arrays</li>
<li>Performance considerations</li>
<li>Vectorisation</li>
<li>Plotting</li>
</ul>
</li>
<li>Mixed programming
<ul>
<a href="https://youtu.be/LQeTFCjSXFI"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/oPGp3FIw0WY"><img src="play.png" alt="Part 2" style="height:15px;"></a>
<li>Profiling <a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/06-mixed-programming1/python_profiling.ipynb"><img style="height:15px" src="notebook.png"></a>
<li>Overview of mixed-programming<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/06-mixed-programming1/mixed_programming_introduction.ipynb"><img style="height:15px" src="notebook.png"></a>
<li>Cython<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/06-mixed-programming1/mixed_programming_cython.ipynb"><img style="height:15px" src="notebook.png"></a>
<li>Numba<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/06-mixed-programming1/Numba.ipynb"><img style="height:15px" src="notebook.png"></a>
</ul>
</li>
<li>Peer-review information
<a href="https://github.com/UiO-IN3110/UiO-IN3110.github.io/raw/master/lectures/pull-request/peer-review.pdf"> <img style="height:15px" src="pdf.png"></a>
<!--<a href="https://youtu.be/dag1-j6RhyE"><img src="play.png" alt="Part 1" style="height:15px;"></a> -->
</li>
<li>Jupyter Notebook
<a href="https://youtu.be/qD2bK0ac7vA"><img src="play.png" alt="Play video" style="height:15px;"></a>
</li>
<li>Regular expressions</li>
<a href="https://github.com/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/08_regular_expression/regular_expression.pdf"> <img style="height:15px" src="pdf.png"></a>
<a href="https://youtu.be/GcASRysX4Cs"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/pg_6hV_uuUw"><img src="play.png" alt="Part 2" style="height:15px;"></a>
<li>Data analysis with Pandas
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/11_pandas/Pandas.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="https://youtu.be/-67TGxIPki0"><img src="play.png" alt="Part 1" style="height:15px;"></a>
<a href="https://youtu.be/qkIrGBiSQrI"><img src="play.png" alt="Part 2" style="height:15px;"></a>
<!-- <a href="https://youtu.be/HEtgQyvD-Y8" title="Part 1"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="https://youtu.be/ski9LAVN9xc" title="Part 2"><img src="play.png" alt="Play video" style="height:15px;"></a> -->
</li>
<li>Peer-review instructions for assignment 5
<a href="https://github.com/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/pull-request/Peer%20review%20assignment%205.ipynb"> <img style="height:15px" src="pdf.png"></a>
</li>
<li>Web programming with Flask
<a href="https://youtu.be/tal2A9m-BLc" title="Part 1"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="https://youtu.be/f3RhT6LRaK0" title="Part 2"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/09_web_programming/Introduction%20to%20HTML.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/09_web_programming/Introduction%20to%20HTML%20-%20Forms.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/09_web_programming/Introduction%20to%20Flask.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/09_web_programming/monty-hall-game.ipynb"><img style="height:15px" src="notebook.png"></a>
<ul>
<li>Introduction to HTML</li>
<li>The Flask web server</li>
<li>The Monty Hall Game</li>
</ul>
<li>Python in Production: From script to project
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/10_from_script_to_project/From%20Script%20to%20Project.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="https://youtu.be/MELnDt86PgA" title="Part 1"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="https://youtu.be/y1pNEFwQWro" title="Part 2"><img src="play.png" alt="Play video" style="height:15px;"></a>
<ul>
<li>Requirement.txt files</li>
<li>Virtual environments with virtualenv</li>
<li>Continuous integration with travis</li>
<li>PyDoc, Sphinx and readthedocs</li>
<li>Versioning with git tags</li>
<li>Deployments of webapps with Heroku</li>
<li>Deployments of libraries with PyPi</li>
</ul>
</li>
<li>Machine learning with SciKit Learn
<a href="https://youtu.be/5idJ8C-0gGU" title="Part 1"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="https://youtu.be/j1GJRR-EmNs" title="Part 2"><img src="play.png" alt="Play video" style="height:15px;"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/12_scikit_learn/scikit-learn-1-presentation.ipynb"><img style="height:15px" src="notebook.png"></a>
<a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/12_scikit_learn/scikit-learn-2.ipynb"><img style="height:15px" src="notebook.png"></a>
<ul>
<li>What is machine learning</li>
<li>Intrduction to scikit-learn</li>
<li>Performance evaluation</li>
</ul>
</li>
<li>Tips of the week
<ul>
<!-- <li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/gitignore.ipynb">Tip 1: Executable slides</a></li>
<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/ipython_embed.ipynb">Tip 2: IPython embed</a></li>
<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/bash_rc_alias.ipynb">Tip 3: Bash aliases and lambda functions</a></li> -->
<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/gitignore.ipynb">Tip 1: gitignore files</a></li>
<!--<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/git_gui.ipynb">Tip 3: Git GUIs</a></li>
<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/prettier_git.ipynb">Tip 4: Prettier git log</a></li>
<li><a href="http://nbviewer.jupyter.org/github/UiO-IN3110/UiO-IN3110.github.io/blob/master/lectures/tips_and_tricks/Builtin%20Superheroes.ipynb">Tip 5: Builtin Superheroes</a></li> -->
</ul>
</li>
</ul>
</div>
<div class="line-block">
<div class="line"><br /></div>
<div class="line"><br /></div>
<!-- More information -->
The 2018 course content is available <a href="index_2018.html">here</a>.
Page design: <a href="http://www.labri.fr/perso/nrougier/from-python-to-numpy">From Python to Numpy</a> book.
</div>
</body>
</html>