Logistics, Dates, and Deadlines#

The following page contains everything you need to know about the course. This involves computer programmes and accounts you services lecture dates and deadlines. Please read it carefully before approaching us with questions.

Computing environment#

We will use various programmes in this course, which will be installed during the first lecture. See the page with details for the first session.

Communication#

All communication related to the course should be via Zulip.

Questions that do not contain any private information or sensitive data should be asked in a public stream such that everyone benefits from the answer.

We will announce relevant information about the lectures and course logistics on Zulip. If you do not sign up or check your messages, you might miss something important!

Office hours#

If you have a question or problem that is better discussed in person, we can do so right after the lecture.

Distribution of materials#

Preparation materials for each lecture can be found on the course webpage

There is a separate site at https://effective-programming-practices.vercel.app/, which contains all the preparatory materials for the course and more. In contrast to this site, it is organised by topics. Other than accessing the preparatory materials using links on this site, we expect you to use the topics site as a reference.

We will sometimes refer to this site as “the green site” and to the topics site as “the black-or-white site” (depends on whether you like dark mode or not).

Deadlines#

  • Until October 14 you must register for the class via Basis. Otherwise, you cannot take the class for credit! It happens to multiple students every year and the examination office does not make exceptions. Please also look at the official dates from the examination office for details.

  • You will need to create a repository for your final project by October 14. In order to do so, follow this invitation. We will compare the lists received from the examination office and this one.

  • The topic of of your final project needs to be submitted until January 21, 11:59pm (i.e., a day before the last lecture) by writing it down at the top of the README.md file of your repository and pushing to Github. This is to make sure that

    1. you have a topic and

    2. you have created your repository and know how to push materials to it.

    We will double-check before the last lecture that we have received a topic from everyone who registered.

  • The deadline for the final project is Thursday, March 6, 11:59pm. You will not be able to push to your repository after this deadline.

Tentative Lecture Plan (this might change!)#

Lecture

Date

Comment

1

2024-10-10

Overview, logistics, installation

2

2024-10-17

Shell and git

3

2024-10-24

Basic Python

4

2024-10-31

More Python and more git

5

2024-11-07

Data management

6

2024-11-14

More data management and plotting

7

2024-11-21

Scientific computing with numpy and scipy

8

2024-11-28

Testing and error handling

9

2024-12-05

Reproducibility and pytask

10

2024-12-12

Project templates, Debugging

-

2024-12-19

NO LECTURE (Work on Christmas assignment)

11

2025-01-09

Software engineering

12

2025-01-16

Numerical optimization, Discuss final project topics

13

2025-01-23

Speedup

Assignments#

Assignment

Published

Due

Topic

1

2024-10-30

2024-11-05

Python and Git

2

2024-11-07

2024-11-18

Data management

3

2024-11-28

2024-12-08

Scientific computing, testing

4

2024-12-12

2025-01-08

Project templates and pytask

5

2025-01-14

2025-01-21

Project templates, numerical optimization

Should an updated deadline be communicated via Zulip for any of the assignments, the one from Zulip counts!