DAT121 lab worksheet 1: Python basics

Create collection of documents in a ZIP, tar, or similar archive, or a single document if appropriate, and submit through Canvas.

1. Set up Jupyter notebook

Chances are you have already worked with Jupyter notebook and Python. If not, get started e.g. following the Jupyter setup guidelines; a version of this file should also be included with the Jupyter installation itself.

2. Course of studies

  1. Is there anything about the 2-year master in data science that you need to figure out? We will look into it!
  2. NMBU has recently updated its website, and we continue to work toward a clear presentation of the courses of studies, the modules, the institutes/departments, research groups, and projects. The improvements will be realized either within the framework of the official website or through supplementary means of communication. Please check: Do you find all the relevant information? Does the most important information have the highest visibility and accessibility, or would it need to be featured more prominently?

We should create a document together based on the collected feedback in order to kickstart the required improvements.

3. Measurement of code performance and scaling

Consider the sequence f(n), defined by f(k + 2) = (k + 2)(-1)kf(k + 1)f(k) for k integer or zero, where f(0) = f(1) = 1.

  1. Implement two ways of computing f(n), one iterative and one recursive.
  2. Measure the performance of both, as a function of n.

Apologies for the mistake in the original version of the problem.

4. Discussion of glossary terms

The following glossary terms have been proposed for "Python basics:" Argument passing, dictionary (also: hash), dynamic array, dynamic typing, global variable, object reference, procedural programming, scope, script language (also: interpreted language), static array.

  1. Propose glossary entries for the two terms highlighted for discussion: Dictionary/hash (referring to the "dictionary" data structure in Python) and dynamic typing.
  2. Do we actually agree on the definitions and descriptions of these terms? Even if we agree in principle, would you suggest any formulations that should be improved?
  3. If you speak Norwegian: Can you find any sources in the disciplinary literature in Norwegian where the terms are used? Are we translating them into Norwegian correctly?
  4. Do you see more terms from DAT121 part 1 that would need a clarification and an agreed definition?

(submit through Canvas by end of 16th August 2023)

Index