Introduction to Python

Python is a powerful, efficient, reliable, and versatile open-source programming language that consistently ranks as one of the most popular programming languages in the world. Unlike other programming languages, Python syntax closely resembles natural languages, making it easier to learn and read. It is extensively used, from software development and cyber security to data analysis, simulation, and numerical computation. It has been designed to be highly extensible via modules. Python ecosystem is vast: libraries and frameworks exist for virtually every need, and a large active community of users ensures it is continuously improved and helps practitioners overcome technical challenges and stay updated on the latest developments.

Coming Soon!

Welcome!

Welcome to the Introduction to Python course!

In this course, we will explore how Python can be leveraged to tackle the unique and complex challenges Yacht Designers, Naval Architects, and Engineers face. From data analysis and simulation to automation and system integration, Python offers a comprehensive and efficient solution that outperforms traditional languages like C or C++ in versatility, ease of use, and speed of development. Whether you are analyzing the structural integrity of a vessel, optimizing the design of a new marine structure, or conducting environmental impact assessments, Python will empower you to achieve your goals with greater efficiency and innovation.

This course is suitable for a broad audience and includes a project and a final assignment related to Yacht Design and Naval Architecture. The instructors are also currently developing a course series dedicated to Machine Learning (ML), in which the programming language will be Python. If you plan to pursue the ML courses, you may want to take this course!

Why Python?

Python is a powerful, efficient, reliable, and versatile programming language that consistently ranks as one of the most popular programming languages in the world. It has gained widespread use in many fields, such as Machine Learning.

  • Easy to learn and reliable: Unlike other programming languages such as Java, C, or C++, Python syntax closely resembles natural languages, making it easier to learn and read. That means we can spend less time coding and more time solving complex engineering problems.
  • Versatile application: Python’s versatility is unmatched. It is used not only in software development but also extensively in data analysis, simulation, and numerical computation, which are crucial, for example, in performance analysis, structural integrity assessment, and environmental studies.
  • Rich ecosystem and community support: The Python ecosystem is vast. Libraries and frameworks exist for virtually every need. Libraries like Pandas for data manipulation, PyTorch for machine learning, and OpenCV for image processing can significantly enhance the analysis and interpretation of complex data, from material stress tests to hydrodynamic simulations. You won’t need to develop tools for exploring data or simulation since most of them are already available. Furthermore, Python’s large and active community means you’ll find extensive resources and tons of people ready to help you overcome technical challenges and stay updated on the latest developments.
  • Interdisciplinary integration: projects often require collaboration from various disciplines, including mechanics, electronics, aerodynamics, and environmental science. Python’s ability to seamlessly integrate with other languages and technologies means you can efficiently work within interdisciplinary teams, using Python’s capabilities to, for example, analyze data, automate tasks, and develop systems that are at the heart of engineering advancement.
  • Open source advantage: Python is open source, meaning it is freely available and continually improved by a global community of developers. This not only reduces software costs but also ensures that Python is at the cutting edge of technology, security, and performance. This means access to the latest tools and innovations without the constraint of licensing fees and proprietary software limitations.
  • Object-Oriented Programming (OOP): Python’s object-oriented programming capability is one of its main features and provides several advantages over other programming languages, especially regarding code organization, reusability, and scalability. While many modern programming languages support OOP, Python’s implementation is notable for its clarity and simplicity, making it accessible to beginners while still being powerful enough for advanced programming tasks.
Introduction to Python course

What will you learn?

Completing this course will give you the knowledge and skills to understand and write Python code. More specifically, you will:

1- Understand the basics of Python programming:

  • Introduction to Google Colab, including how to set it up and how to run Python code.
  • Learn why Python is widely used in various fields and explore real-world applications of Python in Naval Engineering.
  • Understand the fundamental concepts behind Python programming, from understanding what a program or a script is to learning about object-oriented programming.

2- Understand Python Syntax and Data Structures:

  • Write and execute basic Python scripts.
  • Understand Python’s syntax rules and conventions.
  • Use lists, tuples, dictionaries, and sets effectively.
  • Understand the properties and use cases of each data structure.

3- Develop Control Flow Skills:

  • Implement conditional statements in Python.
  • Use loops to iterate over data.

4- Create and Use Functions:

  • Define and call functions to organize code.
  • Understand the scope, parameters, and return values.

5- Handle Files and Data:

  • Read from and write to files using Python.

6- Understand Object-Oriented Programming:

  • Define and instantiate classes to create objects.
  • Understand class attributes and methods.

7- Create and Use Modules:

  • Import and use Python’s built-in and external modules.
  • Organize code into modules for better maintainability.
  • Learn about popular Python modules such as NumPy, Pandas, Matplotlib, SciPy, SymPy, and PyTorch.

8- Apply All the Concepts to an Extensive Dataset:

  • Work with an extensive dataset of parametrized hull geometries.
  • Compute quantities of interest systematically from big data.
  • Analyze the data and draw conclusions.

Capstone Project

Course Organization

The course is video-based and on-demand, allowing you to learn at your own pace, wherever and whenever you want.

It includes videos, quizzes, and downloadable documents, and provides access to the course’s virtual private classroom, where you can interact with the instructor and other students.

Upon completion of the course, you will receive a Course Certificate. To obtain the Course Certificate, you must complete all lessons, pass the quizzes, and have your Course Assignment approved.

Resources:

  • Video lessons.
  • English captions.
  • Written materials.
  • Quizzes.
  • Final Assignment.
  • Virtual Private Classroom.
  • Course Certificate.
Not Enrolled
COMING SOON!

Course Includes

  • 27 Lessons
  • Video captions in English
  • Written documentation (PDF)
  • Quizzes
  • Final Assignment
  • Course Evaluation Survey
  • Virtual Private Classroom
  • Course Certificate