Course Overview
Writing code to solve complex scientific and engineering problems has become an essential skill for scientists and engineers. This course helps students to develop this skill through: learning core principles and best practices for programming; practicing usage of fundamental software development tools and techniques such as version control, packaging and architecture design; leveraging scientific computation tools commonly used in scientific Python, like numpy, matplotlib and scipy; developing, evaluating and communicating Python libraries for wind-energy applications through hands-on group projects, peer code reviews and code presentations. Through this course, a student’s material, cognitive, and social computational literacy will be largely improved, together with the ability to formulate computational problems in wind energy and solve them with programming.
Course Highlights
Placeholder Text
MAIN GOAL
Placeholder Text
Learning Outcomes
After completion of this course, you will be able to:
- + Utilize Python packages common to wind energy, such as numpy, matplotlib, scipy, PyWake, TOPFARM, xarray, pandas, etc.
- + Manipulate data stored in the most common wind-energy formats, demonstrating skills such as loading from/saving to file, performing computations, and visualizing results.
- + Design and publish a Python package for a wind-energy application with tests and documentation.
- + Collaborate with a team on a code base hosted on GitLab, demonstrating basic git skills such as adding, committing, pushing, and branching.
- + Develop, debug, and lint code using VS Code and related extensions.
- + Communicate code orally and also in writing, via diagrams, comments, commit messages, and documentation.
- + Critically analyze code for good coding practices such as modularity, maintainability, adherence to stylistic conventions, etc.
- + Write tests for scientific code.
- + Execute code on a computing cluster.
Meet Your InstructorS
Admissions
Entry Requirements
- + B.Sc. or B.Eng. degree or higher and at least, two years of relevant working experience.
- + Proficient English skills.
- + You will need a PC with a stable internet connection to follow this online course.
Recommended Requirements
- + We strongly recommend that you have mathematics and programming skills equivalent to B.Sc. or B.Eng. level or higher.
Teaching and Assessment Methods
- + The individual final grade is determined as a cumulative evaluation of the person’s contributions to the final programming project, handed in via a GitLab repository, and an individual written quiz.
- + Lectures and group work on assignments (3-4 students per group).
Application Deadline: TBC
Fees & Funding
Tuition Fees
TBC