Skip to content

Latest commit

 

History

History
188 lines (120 loc) · 6.17 KB

CURRICULUM.md

File metadata and controls

188 lines (120 loc) · 6.17 KB

Curriculum - Scientific Computing 01

Lessons


Lesson 1: Python Basics I

Time: Monday, February 21, 08.00-10.00

Location: 1441 - 012, Aud 1

Readings before class: Python Basics I

Content of the class

  1. Introduction to cloud computing with UCloud
  • Be able to manage an app in UCloud, including mounting folders, create runs, terminate runs.
  1. Introduction to Command Line Interface (CLI):
  • Be able to navigate using the shell, be comfortable with commands such as cd | ls | pwd | mkdir | rm.
  • Be able to run script from the shell.
  1. Exercises on Data types: (statement vs expression, data types (built-in))
  • Be able to work with objects such as str, list, tuples, dictionaries, bool, float, ints

Lesson 2: Python Basics II

Time: Monday, February 28, 08.00-10.00

Location: 1441 - 012, Aud 1

Readings before class: Python Basics II Please make sure to complete the exercises from week 1 before this class.

Content of the class

  1. Flow control
  • Be able to write and use for and while loops.
  • Understand how to use if, elif, else for flow control.
  • Know the function of the keywords continue and break.
  1. Functions
  • Be able to write simple functions.
  • Be able to integrate functions in for loops.

Lesson 3: Modular Code development

Time: Monday, March 7, 08.00-10.00

Location: 1441 - 012, Aud 1

Readings before class: Modules and Packages Please make sure to complete the exercises from week 2 before this class.

Lecture video

Content of the class

  1. Working with modules/libraries
  • Know what a module is and how to import and use them in Python
  • How to install libraries using pip
  • Be familiar with virtual environments and understand their use
  1. Creating a module
  • Know how to create re-usable functions
  • Best practice when developing re-usable functions/modules (docstrings, type hints, descriptive variable names)

Lesson 4: Object-Oriented Programming

Time (UPDATED): Monday, March 21, 08.00-10.00

Location: 1441 - 012, Aud 1

Readings before class:

Content of the class:

  1. Object Oriented Design (OOD) and UML diagrams
  • How to structure our programming.
  1. Object Oriented Programming (OOP)
  • Implementation of our designs

Lesson 5: Projects and Iterative development

Time (UPDATED): Monday, March 28, 08.00-10.00

Location: 1441 - 012, Aud 1

Readings before class: Iterative development

Content of the class

  • Question/Overview of readings
  • Introduction to the debugger in VS code
  • exercises on a project

Lesson 6: collaborative distributed version control

Time (UPDATED): Monday, April 04, 08.00-10.00

Location: 1441 - 012, Aud 1

NOTE: As we decided in class 5 we will continue the exericses from there and probably not have the time to go into GitHub in this class. You therefore don't need to read for the class (unless you didn't read for class 5), however please take a look at the exercises before class such that you get the most out of class.

Before class:

Optional before class: Install git on your local laptop

Evaluation of workshop Please fill out this questionnaire

Content of the class

  • git and GitHub
  • the .gitignore
  • Branches
  • Pull requests

Note: We will not spent too much time going over git basics to please read before the class.

Literature

See readings folder.