From 7e29db5b01226dba69c1be8570c858e019499de1 Mon Sep 17 00:00:00 2001 From: constantinius Date: Mon, 2 Dec 2024 20:38:12 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20lubojr/n?= =?UTF-8?q?aucse.python.cz@f007fb2c6d1fa68d1fb59483be295ca2d8065c78=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beginners-en/exceptions/index.html | 31 ++ .../exceptions/index/solutions/0/index.html | 31 ++ .../beginners-en/modules/index.html | 294 ++++++++++++ .../beginners-en/testing-continued/index.html | 268 +++++++++++ .../index/solutions/0/index.html | 194 ++++++++ .../beginners-en/testing/index.html | 438 ++++++++++++++++++ .../testing/index/solutions/0/index.html | 194 ++++++++ .../pyladies-en-vienna-2024-autumn/index.html | 132 ++++++ .../sessions/testing/back/index.html | 36 ++ .../sessions/testing/index.html | 162 +++++++ v0/2024/pyladies-en-vienna-2024-autumn.json | 2 +- 11 files changed, 1781 insertions(+), 1 deletion(-) create mode 100644 2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/index.html create mode 100644 2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index.html create mode 100644 2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index/solutions/0/index.html create mode 100644 2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index.html create mode 100644 2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index/solutions/0/index.html diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index.html index ef7f35842b..15af7fd90d 100644 --- a/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index.html +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index.html @@ -261,6 +261,37 @@

Solution

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/index.html index 31e2623ce5..8c113411e2 100644 --- a/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/index.html +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/index.html @@ -78,6 +78,37 @@

Exceptions – Solution [0]

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + + diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/index.html new file mode 100644 index 0000000000..5d0366bb8f --- /dev/null +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/index.html @@ -0,0 +1,294 @@ + + + + + + + + + Beginners course PyLadies Vienna: Modules + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +

You've already learned that it is not convenient write longer programs in the +Python interpreter and you've been writing your Python scripts as +text files with the .py extension.

+

The scripts can be easily edited and executed repeatedly. This works nicely +up to the point when it becomes too limiting to hold all our code in a +single file (e.g., the script becomes too long, parts of code repeat in +different scripts).

+

Can we organize our code better than that?

+

Modules

+

Python allows us to organize code in modules. A module is something like +a box containing some ready-to-use code. We can pull it from a shelf, import +it, and then use it in our script.

+

For example, you can import the function sqrt from +the module math:

+
from math import sqrt
+
+print(sqrt(2))
+

In this case, the module math (Python standard library) +contains a set of various mathematical functions and constants. +With the from <module> import <names> command we pulled from the +math modules one function sqrt, which refers +to the function calculating square root, +and made it available in our program.

+

Alternatively, you can import a whole module and access its names through +the module name and period .. For example:

+
import math
+
+print(math.cos(math.pi))
+

... or:

+
import turtle
+
+turtle.left(90)
+turtle.color('red')
+turtle.forward(100)
+turtle.exitonclick()
+

Packages

+

Python allows a special kind of module which itself contains sub-modules. +A module which is a collection of modules is called a package in the Python +jargon. A package can have sub-packages and, in more complex projects, it is +common to have several levels of sub-modules.

+

Do not fear! Import of a sub-module from a package does not differ from the +regular top-level module. The sub-modules are separated by dots, but apart from +that, you work with them the same way:

+
import os       # os is a package
+import os.path  # path is submodule of os package, os.path is a full module name
+
+directory = "./test"
+if not os.path.exists(directory):
+    os.mkdir(directory)
+

Custom modules

+

You can also create your own module, simply, by creating a Python file. +Functions and variables (and other named objects) that you create there will be available +in programs where you import this module.

+

Let's try it. First, create a new Python file meadow.py and write:

+
meadow_colour = 'green'
+number_of_kitties = 28
+
+def description():
+    return 'The meadow is {colour}. There are {number} kitties.'.format(
+        colour=meadow_colour, number=number_of_kitties)
+

And then write in another file write.py with the following content:

+
import meadow
+
+print(meadow.description())
+

and run:

+
$ python3 write.py
+

Python searches for the imported modules in a defined following order:

+
    +
  • built-in modules from the Python Standard Library (e.g. sys, math)
  • +
  • modules in a directory specified by sys.path, which by default is the same folder where the executed script is located (not the current working directory - where Python command was launched)
  • +
  • directories in the PYTHONPATH environment variable
  • +
  • the rest of the modules in Python’s standard library (not built-ins) - (e.g. random, os) +That is why in 4th lesson with turtle, we said to NOT name the current script turtle.py
  • +
+

Do not forget to have both files (meadow.py and write.py) in the same directory.

+

Import mechanics and undesired side-effects

+

What exactly does the command import meadow do?

+

First, Python looks for a matching file (meadow.py) and runs all the commands +in the file, from top to bottom, like it was a regular script. +Once it is done, all the names in the global scope (variables, functions, +etc.) are remembered and made available for use outside of the module.

+

When you try to import the same module again, the commands in the module +are not executed and Python re-uses the already initialized module.

+

Try it! Write in the end of meadow.py:

+
print('The meadow is green!')
+

And then run python in the command line (if you already have an interactive +Python open, close it, and run again) and enter:

+
>>> import meadow
+The meadow is green!
+>>> import meadow
+>>> import meadow
+>>>
+

The message we print at the end of the module appears only once.

+

When the module is "doing something" (it prints something, asks the user, +writes something into a file) we say that it has a side effect. +We generally try to avoid writing modules with side effects. +The purpose of a module is to give us functions, that we +will use to do something, not to do it instead of us. +E.g., when we write import turtle, no window opens. It opens +only when we write turtle.forward().

+

So you had better delete the print from our module.

+

One directory for every project

+

From now on, we will work on bigger projects that contain +more files. We recommend that you create a folder for each +of them.

+

The import best practice

+

Python imports are case-sensitive. import Spam is different from import spam.

+

Where to put the imports?

+

Always keep imports at the top of your script before you the start of your +own code.

+

Does the order of the imports matter?

+

Generally, the order of the imports does not matter. though, we often +order the imports,

+

1) modules from the Python system library (e.g., math) +2) third-party libraries (installed with the pip command) +3) imports from our own modules

+

If you decide to import multiple names from the module do it in one import +command, e.g.:

+
from math import pi, sin, cos
+

Further reading

+

You can find more info about import and modules here.

+ + +
+ + + + + +
+ + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index.html new file mode 100644 index 0000000000..abc8bb447a --- /dev/null +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index.html @@ -0,0 +1,268 @@ + + + + + + + + + Beginners course PyLadies Vienna: Testing Continued + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +

Negative tests

+

Tests that verify that a program works correctly +under correct conditions are called positive tests. +An exception raised during the positive testing lead to failure of the test.

+

Tests which check behaviour for invalid inputs are called negative tests. +The purpose of the negative testing is verification of the graceful handling +of error states. Raising of an exception is often the expected behaviour +of the tested code.

+

For example, the computer_move function should raise an error +(e.g., ValueError) when the board is full.

+

It is much better to raise an exception than doing nothing +and silently letting the program get stuck elsewhere. +You can use such function in a more complex program +and be sure that it will raise an understandable error +when it is called under bad conditions. +The error helps you to fix the actual problem. The sooner you discover +an error the easier is to fix it.

+

Use the with statement and the raises function +to test that your code raises the expected exception. +The raises function is imported from the pytest module.

+

We have not talked about the with statement and context managers yet. +But don't worry, you will learn about them later. Just check how it is used +to test whether an exception is raised.

+
import pytest
+
+import tic_tac_toe
+
+def test_move_failure():
+    with pytest.raises(ValueError):
+        tic_tac_toe.computer_move('oxoxoxoxoxoxoxoxoxox')
+

Let's now try to edit the function for getting a perimeter of rectangle +so that it raises a ValueError if any of the sides is smaller or equal to zero. +Add a test for the new functionality.

+
+

Solution

+ + +

Pytest fixtures

+

Fixtures in pytest are reusable components that set up specific states (e.g. database connections, test data).

+

Key Features

+
    +
  • Reusability: Define a fixture once and use it across multiple test functions.
  • +
  • Scoping: Fixtures can be scoped (available) at different levels like function, class, module, or session.
  • +
  • Automatic Cleanup: Fixtures can be set up to automatically clean up resources after a test is done.
  • +
  • Dependency Injection: Test functions can use fixtures by including them as arguments. (It is not possible to add "normal" arguments to test functions, only references to fixtures).
  • +
+

You can easily create and use a fixture in pytest in a following way:

+
import pytest
+
+@pytest.fixture
+def sample_data():
+    return [1, 2, 3, 4]
+def test_sum(sample_data):
+    assert sum(sample_data) == 10
+

By default fixture is called once per a test function - scope=function parameter of a fixture.

+

For resource utilization purposes it could be useful to create a fixture only once per whole module:

+
import pytest
+# A fixture to provide a configuration dictionary
+@pytest.fixture(scope="module")
+def config_data():
+    config = {
+        "api_endpoint": "http://api.example.com",
+        "retry_attempts": 5,
+        "timeout": 10
+    }
+    return config
+# Example test using the fixture
+def test_api_endpoint(config_data):
+    assert config_data["api_endpoint"] == "http://api.example.com"
+# Another test using the same fixture
+def test_retry_attempts(config_data):
+    assert config_data["retry_attempts"] == 5
+

This approach is useful when the setup does not involve external resources that require explicit cleanup after the tests.

+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index/solutions/0/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index/solutions/0/index.html new file mode 100644 index 0000000000..03e8f01dea --- /dev/null +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index/solutions/0/index.html @@ -0,0 +1,194 @@ + + + + + + + + + Beginners course PyLadies Vienna: Testing Continued + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + +

Testing Continued – Solution [0]

+ + +
import pytest
+
+def find_rectangle_perimeter(width, height):
+    """ Calculate perimeter of a rectangle from the given sides.
+    """
+    if width < 0 or height < 0:
+        raise ValueError("Rectangle sides must be non-negative.")
+    return  2 * (width + height)
+
+def test_find_perimeter_exception_negative():
+    """ Tests of negative integer values as input
+    """
+    with pytest.raises(ValueError):
+        find_rectangle_perimeter(-3, 5)
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index.html new file mode 100644 index 0000000000..d5599f7086 --- /dev/null +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index.html @@ -0,0 +1,438 @@ + + + + + + + + + Beginners course PyLadies Vienna: Testing + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + +

Testing

+

Programming is not just about writing code. +It is important to verify that the code does what it should. +The process of verification that the program works as expected is called testing.

+

You have probably already tested your programs by executing them. +When you test your program, you usually enter some input data and print the result if it is correct.

+

This is okay for a small program, but it gets harder as the program gets bigger. +Bigger programs have more options what they can do based on the possible +user input and configuration. Their manual testing becomes time-consuming, +especially when it needs to be repeated after every change, and it becomes more +likely errors slip unnoticed into our code.

+

Humans are not very good at performing boring repetitive tasks, that is +the domain of computers. And, not surprisingly, that is the reason why +developers write the code that verifies their programs.

+

Installing the pytest library

+

Up to now, we have used only the modules that come installed with Python, +for example, modules such as math or turtle. +There are many more libraries that are not included in Python +but you can install them to your Python environment and use them.

+

The library for testing in Python is called unittest. +It is quite difficult to use this library so we will use a better one. +We will install the library pytest which is faster, easier to use and very popular.

+

Submit the following command. (It is a command-line command, +just as cd or mkdir; do not enter it into the Python console.)

+
$ python -m pip install pytest
+

What is pip and why do we use it?

+

pip is a Python command-line tool for installing 3rd-party +Python libraries from the Python Package Index (PyPI) +and other sources (e.g., Git repositories).

+

python -m pip install pytest makes Python to install pytest library from PyPI.

+

For help on how to use pip run python -m pip --help.

+

python -m <command> or just <command>

+

python -m <command> tells Python to execute a script from the +Python module named <command> (e.g., python -m pip ...). +In a properly configured Python environment, it should be possible to call +the <command> directly, without the help of the python command +(e.g., pip ...)

+

To save ourselves the trouble of unnecessary complications with a possibly +misconfigured Python environment we recommend using the longer +python -m <command> version.

+

Writing tests

+

We will show testing through a very simple example. +There is a function add that can add two numbers. +There is another function that tests if the +add function returns correct results for specific numbers.

+

Make a copy of the code into a file named test_addition.py +in a new empty directory.

+

The naming of files and test functions is important for pytest (with default settings). +It is important for names of files containing tests and test functions +to start with test_.

+
def add(a, b):
+    return a + b
+
+def test_add():
+    assert add(1, 2) == 3
+

The naming of files and test functions matters

+

pytest scans your code and +searches for the included tests. When found, these tests are executed.

+

By default, the names of the test files and the test functions must start with +the test_ prefix in order to be recognized as tests.

+

What does the test function do?

+

The assert statement evaluates the expression that follows it. +If the result is not true then it raises the AssertionError exception +which is interpreted by pytest as a failing test. +You can imagine that assert a == b does following:

+
if not (a == b):
+    raise AssertionError
+

Do not use assert outside of test functions for now. +For "regular" code, the assert has functionality that +we will not explain now.

+

Running tests

+

You execute tests with the command python -m pytest -v <path> +followed by the path to the file containing the tests.

+

You can omit the <filename> argument and then python -m pytest -v +scans the current directory and runs tests in all files whose names start +with the test_ prefix.

+

You can also use a path to a directory where pytest should searches for +the tests.

+

This command scans the given file and calls all functions that start +with the test_ prefix. It executes them and checks if they raise any exception, +e.g., raised by the assert statement.

+
$ python3 -m pytest -v test_addition.py
+============================= test session starts ==============================
+platform linux -- Python 3.8.3, pytest-7.1.2, pluggy-1.0.0
+rootdir: /tmp/test_example
+collected 1 item
+
+test_addition.py .                                                       [100%]
+
+============================== 1 passed in 0.00s ===============================

If an exception occurs, pytest shows a red message with +additional details that can help you find the bug and fix it:

+
============================= test session starts ==============================
+platform linux -- Python 3.8.3, pytest-7.1.2, pluggy-1.0.0
+rootdir: /tmp/test_example
+collected 1 item
+
+test_addition.py F                                                       [100%]
+
+=================================== FAILURES ===================================
+___________________________________ test_add ___________________________________
+
+    def test_add():
+>       assert add(1, 2) == 3
+E       assert 4 == 3
+E        +  where 4 = add(1, 2)
+
+test_addition.py:5: AssertionError
+=========================== short test summary info ============================
+FAILED test_addition.py::test_add - assert 4 == 3
+============================== 1 failed in 0.01s ===============================

Try to run the test yourself. Modify the add function or (its test) so that the +test fails.

+

Test modules

+

You do not usually write tests in the same file with the regular code. +Typically, you write tests in another file. +This way, your code is easier to read, and it makes it possible to distribute +only the code, without the tests, to someone who is interested only in executing the program.

+

Split the test_addition.py file: Move the add function to a new module addition.py. +In the test_addition.py file, keep only the test. +To the test_addition.py file, add from addition import add to the top +so the test can call the tested function.

+

The test should pass again.

+

Let's now try to add two different tests for a function for computing perimeter of +rectangle from custom functions

+
def find_perimeter(width, height): 
+    "Returns the rectangle's perimeter of the given sides" 
+    return  2 * (width  +  height)
+print(find_perimeter(2, 4)) # this is how you'd normally check result without "testing"
+
+

Solution

+ + +

Executable modules

+

Automated tests are functions checking, with no manual intervention, +that all features of the tested program work correctly. +The testing does not give us 100% proof that +the code is without errors but it is still better than no testing at all.

+

The automated tests make modification of the code easier as you can +faster find possible bugs in the existing functionality (aka regressions).

+

Automated tests have to be able to run unattended. They are often executed +automatically and the failures are reported via some sort of notification, +e.g., by email.

+

Example Python Repository with pytest.

+

In practical terms, this means that the tests must not depend on live +interaction with the user, e.g., the input function will not work in tests.

+

Can we test user interaction in automated tests?

+

There are testing techniques allowing us to emulate user interaction +in the user interfaces. But is that beyond the scope of this course.

+

This can make your work harder sometimes. Let's look at a more complex project, +the 1D (one-dimensional) tic-tac-toe.

+

If you do not have the 1D tic-tac-toe program, the following sections are +only theoretical.

+

If you study at home, complete the 1D tic-tac-toe lesson before continuing. +The task description is at one-dimensional tic-tac-toe

+

The structure of the 1D tic-tac-toe code looks roughly like this:

+
import random  # (and possibly other import statements that are needed)
+
+def move(board, space_number, mark):
+    """Returns the board with the specified mark placed in the specified position"""
+    ...
+
+def player_move(board):
+    """Asks the player what move should be done and returns the board
+    with the move played.
+    """
+    ...
+    input('What is your move? ')
+    ...
+
+def computer_move(board):
+    """Places computer mark on random empty position and returns the board
+    with the move played.
+    """
+    ...
+
+def tic_tac_toe_1d():
+    """Starts the game
+
+    It creates an empty board and runs player_move and computer_move alternately
+    until the game is finished.
+    """
+    while ...:
+        ...
+        player_move(...)
+        computer_move(...)
+        ...
+
+# Start the game:
+tic_tac_toe_1d()
+

As we described in modules lesson, +if you import this module, Python executes all commands in it, from top to bottom:

+
    +
  • The first command, import, initializes the variables and functions of the +random module. It is module from the standard Python library it is unlikely +that it would have any side effect to worry about.

    +
  • +
  • The definitions of functions (def statements and everything in them) +just define the functions but they do not execute them.

    +
  • +
  • Calling the tic_tac_toe_1d function starts the game. +The tic_tac_toe_1d calls the player_move() function which calls input(). +This is an issue.

    +
  • +
+

If you import this module to the tests, the input fails and the module does +not get not imported.

+

If you want to import such a module from elsewhere, e.g., you would like +to use move() in a different game, the import of the module itself will +start the 1D tic-tac-toe game!

+

The calling of tic_tac_toe_1d is a side-effect and we need to remove it. +Okay, but you cannot start the game without it! There are two ways of fixing it.

+

Splitting a module

+

We can create a new python file just for running the game, while the functions will stay in the old file. +E.g., create a new file game.py and we move the tic_tac_toe_1d() call into it:

+
import tic_tac_toe
+
+tic_tac_toe.tic_tac_toe_1d()
+

You cannot test this module because it calls input indirectly. +But you can execute it if you want to play as python game.py

+

You can import the original module in test files or other modules without side effects.

+

A test for the original module could look like this:

+
import tic_tac_toe
+
+def test_move_to_empty_space():
+    board = tic_tac_toe.computer_move('--------------------')
+    assert len(board) == 20
+    assert board.count('x') == 1
+    assert board.count('-') == 19
+

Run part of code only if module is executed directly

+

There is a special way to check if python only imports functions from a file or it directly +runs it. It is possible by comparing value of a "magic" variable __name__.

+

The __name__ variable is available anytime you run a Python program and if it has value +__main__, it was run from the main script. If not, it was only imported.

+
if __name__ == "__main__":
+    tic_tac_toe_1d()
+

Now you can both import the original module in test files or other modules without +side effects and run it to play the game.

+

Best Practices for Testing

+
    +
  • Write Clear, Concise Test Cases: Each test should focus on a specific aspect of your code.
  • +
  • Use Descriptive Test Names: Test names should be descriptive about what they are testing.
  • +
  • Keep Tests Independent: Tests should not rely on each other.
  • +
  • Run Tests Regularly: Integrate testing into your continuous integration process (every time someone pushes to a repository).
  • +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index/solutions/0/index.html b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index/solutions/0/index.html new file mode 100644 index 0000000000..84fa844177 --- /dev/null +++ b/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index/solutions/0/index.html @@ -0,0 +1,194 @@ + + + + + + + + + Beginners course PyLadies Vienna: Testing + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + +

Testing – Solution [0]

+ + +

Possible tests examples:

+
def test_find_perimeter_1():
+    """ Tests if the function can handle two positive integer values as input.
+    """
+    res = find_perimeter(4, 5)
+    assert res == 18
+
+def test_find_rectangle_perimeter_zero_width():
+    """ Tests if the function can handle width set to 0.
+    """
+    res = find_perimeter(0, 3)
+    assert res == 0
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2024/pyladies-en-vienna-2024-autumn/index.html b/2024/pyladies-en-vienna-2024-autumn/index.html index bd4887aebe..8da1799b26 100644 --- a/2024/pyladies-en-vienna-2024-autumn/index.html +++ b/2024/pyladies-en-vienna-2024-autumn/index.html @@ -1162,6 +1162,138 @@

diff --git a/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/index.html b/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/index.html index cd3f73a729..b9b02e85ed 100644 --- a/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/index.html +++ b/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/index.html @@ -53,6 +53,42 @@

+

Homeworks

+ + + diff --git a/2024/pyladies-en-vienna-2024-autumn/sessions/testing/index.html b/2024/pyladies-en-vienna-2024-autumn/sessions/testing/index.html index a0da800cdb..a0a365408d 100644 --- a/2024/pyladies-en-vienna-2024-autumn/sessions/testing/index.html +++ b/2024/pyladies-en-vienna-2024-autumn/sessions/testing/index.html @@ -66,12 +66,174 @@

Materials

+

Cheatsheets

+ + +

Homeworks

+ + + + diff --git a/v0/2024/pyladies-en-vienna-2024-autumn.json b/v0/2024/pyladies-en-vienna-2024-autumn.json index 74ea035a0c..33344e7afb 100644 --- a/v0/2024/pyladies-en-vienna-2024-autumn.json +++ b/v0/2024/pyladies-en-vienna-2024-autumn.json @@ -1 +1 @@ -{"$schema":"https://naucse.python.cz/v0/schema/out/course.json","api_version":[0,3],"course":{"default_time":{"end":"20:00","start":"18:00"},"derives":"pyladies-en","description":"Learn Python from the beginning. No previous knowledge required!\n","end_date":"2025-01-07","lessons":{"beginners-en/and-or":{"pages":{"index":{"attribution":["Translated by Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/and-or/index.md","title":"Or & and","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"}},"static_files":{},"title":"Or & and","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"},"beginners-en/class":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/index/solutions/0/"}],"source_file":"lessons/beginners-en/class/index.md","title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"}},"static_files":{},"title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"},"beginners-en/cmdline":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova, edits by Mateusz Krainski","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ.\n

Based on tutorial Django Girls.

"],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/index/solutions/0/"}],"source_file":"lessons/beginners-en/cmdline/index.md","title":"Introduction to command line","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"}},"static_files":{"windows-cmd-properties.png":{"path":"lessons/beginners-en/cmdline/static/windows-cmd-properties.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/static/windows-cmd-properties.png"}},"title":"Introduction to command line","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"},"beginners-en/colabturtle":{"pages":{"index":{"attribution":["Written by Lubomir Dolezal, 2024 for [PyLadies Vienna]."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/3/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/4/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/5/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/6/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/7/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/8/"}],"source_file":"lessons/beginners-en/colabturtle/index.md","title":"Colab Turtle and loops","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"}},"static_files":{"turtle-dashed.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-dashed.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-dashed.png"},"turtle-dashed2.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-dashed2.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-dashed2.png"},"turtle-hexagons.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-hexagons.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-hexagons.png"},"turtle-rect.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-rect.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-rect.png"},"turtle-square.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-square.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-square.png"},"turtle-squares.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-squares.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-squares.png"},"turtle-stairs.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-stairs.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-stairs.png"}},"title":"Colab Turtle and loops","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"},"beginners-en/comparisons":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/index/solutions/1/"}],"source_file":"lessons/beginners-en/comparisons/index.md","title":"Comparison","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"}},"static_files":{},"title":"Comparison","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"},"beginners-en/def":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Atul Shurma","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/index/solutions/1/"}],"source_file":"lessons/beginners-en/def/index.md","title":"Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"}},"static_files":{},"title":"Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"},"beginners-en/dict":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Modified by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/3/"}],"source_file":"lessons/beginners-en/dict/index.md","title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"}},"static_files":{"dict.png":{"path":"lessons/beginners-en/dict/static/dict.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/static/dict.png"}},"title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"},"beginners-en/exceptions":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/"}],"source_file":"lessons/beginners-en/exceptions/index.md","title":"Exceptions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/"}},"static_files":{},"title":"Exceptions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/"},"beginners-en/first-steps":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova, edits by Mateusz Krainski","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/index/solutions/0/"}],"source_file":"lessons/beginners-en/first-steps/index.md","title":"First steps","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"}},"static_files":{},"title":"First steps","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"},"beginners-en/functions":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/index/solutions/0/"}],"source_file":"lessons/beginners-en/functions/index.md","title":"Functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"}},"static_files":{},"title":"Functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"},"beginners-en/hello-world":{"pages":{"index":{"attribution":["Translated by Petr Plavjanik","Modified by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/hello-world/index.md","title":"First program","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"}},"static_files":{},"title":"First program","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"},"beginners-en/inheritance":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/inheritance/index.md","title":"Inheritance","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"}},"static_files":{},"title":"Inheritance","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"},"beginners-en/install-editor":{"pages":{"atom":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/atom.md","title":"Atom","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/atom/"},"gedit":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/gedit.md","title":"Gedit","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/gedit/"},"index":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/index.md","title":"Editor installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},"kate":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/kate.md","title":"Kate","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/kate/"},"vscode":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/vscode.md","title":"VSCode","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/vscode/"}},"static_files":{"gedit_indent.png":{"path":"lessons/beginners-en/install-editor/static/gedit_indent.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_indent.png"},"gedit_linenums.png":{"path":"lessons/beginners-en/install-editor/static/gedit_linenums.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_linenums.png"},"gedit_prefs.png":{"path":"lessons/beginners-en/install-editor/static/gedit_prefs.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_prefs.png"}},"title":"Editor installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},"beginners-en/install_vienna":{"pages":{"index":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/index.md","title":"Python installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},"linux":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/linux.md","title":"Python installation - Linux","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/linux/"},"macos":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/macos.md","title":"Python installation - macOS","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/macos/"},"windows":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/windows.md","title":"Python installation - Windows","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/windows/"}},"static_files":{"windows_32v64-bit.png":{"path":"lessons/beginners-en/install_vienna/static/windows_32v64-bit.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/static/windows_32v64-bit.png"},"windows_add_python_to_path.png":{"path":"lessons/beginners-en/install_vienna/static/windows_add_python_to_path.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/static/windows_add_python_to_path.png"}},"title":"Python installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},"beginners-en/introduction2":{"pages":{"index":{"attribution":["Marketa Muzikova","Mateusz Krainski","Tyna Dolezalova","Based on PyLadies CZ introduction."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/introduction2/index.md","title":"Introduction","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"}},"static_files":{"screenshot.png":{"path":"lessons/beginners-en/introduction2/static/screenshot.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/static/screenshot.png"}},"title":"Introduction","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"},"beginners-en/lesson-1-homework":{"pages":{"index":{"attribution":["Mateusz Krainski"],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/lesson-1-homework/index.md","title":"Homework - lesson 1","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"}},"static_files":{},"title":"Homework - lesson 1","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"},"beginners-en/lesson-2-homework":{"pages":{"index":{"attribution":["Mateusz Krainski"],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/lesson-2-homework/index.md","title":"Homework - lesson 2","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"}},"static_files":{},"title":"Homework - lesson 2","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"},"beginners-en/list":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Google Translate :/","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/2/"}],"source_file":"lessons/beginners-en/list/index.md","title":"Lists","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"}},"static_files":{},"title":"Lists","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"},"beginners-en/print":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"css":".lesson-content .err-lineno {\n display: inline-block;\n background-color: #FCC\n }\n.lesson-content .err-exctype {\n display: inline-block;\n background-color: #CFC\n }","license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/print/index.md","title":"Print and errors","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"}},"static_files":{},"title":"Print and errors","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"},"beginners-en/str":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/3/"}],"source_file":"lessons/beginners-en/str/index.md","title":"Strings","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"}},"static_files":{},"title":"Strings","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"},"beginners-en/tictactoe":{"pages":{"index":{"attribution":["Translated by Petr Plavjanik","Modified by Tyna Dolezalova","Czech original PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/tictactoe/index.md","title":"Project 1 - 1D tic-tac-toe","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"}},"static_files":{},"title":"Project 1 - 1D tic-tac-toe","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"},"beginners-en/tuple":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Google Translate :/","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/tuple/index.md","title":"Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"}},"static_files":{},"title":"Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"},"beginners-en/variables":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/2/"}],"source_file":"lessons/beginners-en/variables/index.md","title":"Variables","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"}},"static_files":{},"title":"Variables","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"},"beginners-en/while":{"pages":{"index":{"attribution":["Translated by Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/index/solutions/0/"}],"source_file":"lessons/beginners-en/while/index.md","title":"While","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"}},"static_files":{},"title":"While","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"},"git-en/basics":{"pages":{"index":{"attribution":["Translated by Jakub Loucky","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"css":".lesson-content .green {\n color: #0a0\n }\n.lesson-content .red {\n color: #a00\n }\n.lesson-content .yellow {\n color: #a50\n }\n.lesson-content .strong {\n font-weight: bold\n }\n.lesson-content .blue {\n color: #0aa\n }","license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/basics/index.md","title":"Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"}},"static_files":{"diagram.png":{"path":"lessons/git-en/basics/static/diagram.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram.png"},"diagram.svg":{"path":"lessons/git-en/basics/static/diagram.svg","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram.svg"},"diagram2.png":{"path":"lessons/git-en/basics/static/diagram2.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram2.png"},"dropbox.png":{"path":"lessons/git-en/basics/static/dropbox.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/dropbox.png"},"git-pretty.png":{"path":"lessons/git-en/basics/static/git-pretty.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/git-pretty.png"},"git_commands_cheat_sheet.png":{"path":"lessons/git-en/basics/static/git_commands_cheat_sheet.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/git_commands_cheat_sheet.png"},"gitk.png":{"path":"lessons/git-en/basics/static/gitk.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/gitk.png"}},"title":"Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"},"git-en/branching":{"pages":{"index":{"attribution":["Translated by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/branching/index.md","title":"Branches in Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"}},"static_files":{"git_branch.png":{"path":"lessons/git-en/branching/static/git_branch.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/static/git_branch.png"}},"title":"Branches in Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"},"git-en/github":{"pages":{"index":{"attribution":["PyLadies Vienna Lubomir Dolezal, 2021."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/github/index.md","title":"GitHub","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/"}},"static_files":{"gcm-prompt.png":{"path":"lessons/git-en/github/static/gcm-prompt.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/static/gcm-prompt.png"}},"title":"GitHub","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/"},"git-en/install":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/index.md","title":"Git installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/"},"linux":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/linux.md","title":"Git installation - Linux","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/linux/"},"macos":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/macos.md","title":"Git installation - macOS","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/macos/"},"windows":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/windows.md","title":"Git installation - Windows","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/windows/"}},"static_files":{"windows-git-cred-manager.png":{"path":"lessons/git-en/install/static/windows-git-cred-manager.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/static/windows-git-cred-manager.png"}},"title":"Git installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/"}},"long_description":"


\nHere you can find all materials for the PyLadies Vienna Beginners Python Course.\nAll lectures are for complete beginners. Instructions are for Linux, Windows and macOS.\n
\nIf you have any questions, feel free to contact us on pyladies.vienna@gmail.com

","mentors":[{"img":"img/team/dolezalovat.jpg","links":[{"mail":"mailto:dolezalova.tynka@gmail.com"},{"linkedin":"https://www.linkedin.com/in/kristyna-dolezalova/"}],"name":"Týna Doležalová","role":"Geospatial Data Scientist, Overly enthusiastic about everything"},{"img":"img/team/schindlerf.jpg","links":[{"mail":"mailto:fabian.schindler.strauss@gmail.com"},{"linkedin":"https://www.linkedin.com/in/fabian-schindler-311030b9/"},{"twitter":"https://twitter.com/__fschindler__"}],"name":"Fabian Schindler","role":"Python/GIS developer, game enthusiast"}],"place":"Online\n","sessions":[{"materials":[{"lesson_slug":"beginners-en/install_vienna","title":"Python installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},{"lesson_slug":"beginners-en/install-editor","title":"Editor installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},{"external_url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf","title":"VS Code keybindings cheat sheet Windows","type":"cheatsheet","url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf"},{"external_url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf","title":"VS Code keybindings cheat sheet Mac OS","type":"cheatsheet","url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/"}},"serial":"0","slug":"install_home","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","title":"Installations","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/"},{"date":"2024-09-24","materials":[{"lesson_slug":"beginners-en/introduction2","title":"Introduction","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"},{"lesson_slug":"beginners-en/cmdline","title":"Introduction to command line","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"},{"lesson_slug":"beginners-en/first-steps","title":"First steps","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"},{"lesson_slug":"beginners-en/lesson-1-homework","title":"Homework - lesson 1","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"},{"external_url":"https://drive.google.com/file/d/1KPlvbwGpIe8HQVkancKk6wuTwhV5VkRc","title":"Google colab tutorial","type":"cheatsheet","url":"https://drive.google.com/file/d/1KPlvbwGpIe8HQVkancKk6wuTwhV5VkRc"},{"external_url":"https://drive.google.com/file/d/1Bvnb52oirQDiZ7WI5t4Q8UeCd10-_gpT","title":"Keyboard layout cheat sheet","type":"cheatsheet","url":"https://drive.google.com/file/d/1Bvnb52oirQDiZ7WI5t4Q8UeCd10-_gpT"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/"}},"serial":"1","slug":"install","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-09-24 20:00:00+0200","start":"2024-09-24 18:00:00+0200"},"title":"Introduction, installation check","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/"},{"date":"2024-10-01","materials":[{"lesson_slug":"beginners-en/hello-world","title":"First program","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"},{"lesson_slug":"beginners-en/print","title":"Print and errors","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"},{"lesson_slug":"beginners-en/variables","title":"Variables","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf","title":"Basics cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf"},{"external_url":"https://www.youtube.com/watch?v=fj2tuTIcUys","title":"VS Code Tips and tricks","type":"cheatsheet","url":"https://www.youtube.com/watch?v=fj2tuTIcUys"},{"lesson_slug":"beginners-en/lesson-2-homework","title":"Homework - lesson 2","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/"}},"serial":"2","slug":"hello","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-01 20:00:00+0200","start":"2024-10-01 18:00:00+0200"},"title":"First Program, Print","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/"},{"date":"2024-10-08","materials":[{"lesson_slug":"beginners-en/comparisons","title":"Comparison","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"},{"lesson_slug":"beginners-en/and-or","title":"Or & and","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"},{"lesson_slug":"beginners-en/functions","title":"Functions","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf","title":"Basics cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf"},{"external_url":"https://docs.google.com/document/d/1HsKbAt6DAH8uQYJUR8UB8sOFvzgUUr_WeZwB6cb9lcA","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1HsKbAt6DAH8uQYJUR8UB8sOFvzgUUr_WeZwB6cb9lcA"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/"}},"serial":"3","slug":"loops","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-08 20:00:00+0200","start":"2024-10-08 18:00:00+0200"},"title":"Conditions, modules and functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/"},{"date":"2024-10-15","materials":[{"lesson_slug":"beginners-en/colabturtle","title":"Colab Turtle and loops","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"},{"lesson_slug":"beginners-en/while","title":"While","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_if_while.pdf","title":"If/While cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_if_while.pdf"},{"external_url":"https://docs.google.com/document/d/1FO4J7l2oKN_vdrXVgvbrKOpJEx1Vu3f6gLnZe-tKIM4/edit","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1FO4J7l2oKN_vdrXVgvbrKOpJEx1Vu3f6gLnZe-tKIM4/edit"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/"}},"serial":"4","slug":"strings","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-15 20:00:00+0200","start":"2024-10-15 18:00:00+0200"},"title":"Loops, for and while","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/"},{"date":"2024-10-22","materials":[{"lesson_slug":"beginners-en/str","title":"Strings","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"},{"lesson_slug":"beginners-en/def","title":"Custom functions","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_functions.pdf","title":"Functions cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_functions.pdf"},{"external_url":"https://docs.google.com/document/d/1SPL6yMD3XOm9ZFDMDX_U4zSP-ltWd7QKvie5iCS8mno/edit","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1SPL6yMD3XOm9ZFDMDX_U4zSP-ltWd7QKvie5iCS8mno/edit"},{"external_url":"https://docs.google.com/document/d/1QWr8yzBfYtNaKLgRKoSL5tV5MGp46BOcD9Q3Q9ouOV8/edit","title":"Depth exploration colored example for function recursion","type":"cheatsheet","url":"https://docs.google.com/document/d/1QWr8yzBfYtNaKLgRKoSL5tV5MGp46BOcD9Q3Q9ouOV8/edit"},{"external_url":"https://docs.google.com/document/d/17kX5w9eEn-Ed1gcONAaU5kSKANBI24bjL_7-3XZi0Dg/edit","title":"Practice exercises (offline session 17.04.2024)","type":"cheatsheet","url":"https://docs.google.com/document/d/17kX5w9eEn-Ed1gcONAaU5kSKANBI24bjL_7-3XZi0Dg/edit"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/"}},"serial":"5","slug":"custom_func","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-22 20:00:00+0200","start":"2024-10-22 18:00:00+0200"},"title":"Strings, Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/"},{"date":"2024-10-29","materials":[{"lesson_slug":"git-en/install","title":"Git installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/install/"},{"lesson_slug":"git-en/basics","title":"Git","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"},{"lesson_slug":"git-en/github","title":"GitHub","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/github/"},{"lesson_slug":"git-en/branching","title":"Branches in Git","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"},{"external_url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/117a205e1c98f007e0a97877e87493fef411a768/lessons/git-en/basics/static/git_commands_cheat_sheet.png","title":"Basic Git Cheatsheet","type":"cheatsheet","url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/117a205e1c98f007e0a97877e87493fef411a768/lessons/git-en/basics/static/git_commands_cheat_sheet.png"},{"external_url":"https://about.gitlab.com/images/press/git-cheat-sheet.pdf","title":"Extensive Git cheatsheet","type":"cheatsheet","url":"https://about.gitlab.com/images/press/git-cheat-sheet.pdf"},{"external_url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/6307e5867765be0dd1a1e551901e4b4aca150d6c/lessons/git-en/basics/static/git-pretty.png","title":"Have you just made a git mess?","type":"cheatsheet","url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/6307e5867765be0dd1a1e551901e4b4aca150d6c/lessons/git-en/basics/static/git-pretty.png"},{"lesson_slug":"beginners-en/tictactoe","title":"Project 1 - 1D tic-tac-toe","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/"}},"serial":"6","slug":"git","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-29 20:00:00+0100","start":"2024-10-29 18:00:00+0100"},"title":"GIT","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/"},{"date":"2024-11-05","materials":[{"lesson_slug":"beginners-en/list","title":"Lists","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"},{"lesson_slug":"beginners-en/tuple","title":"Tuples","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_lists.pdf","title":"Lists cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_lists.pdf"},{"external_url":"https://drive.google.com/file/d/1fF0nl90GcCoaog0vgz4nmKGyspfGsQvS/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1fF0nl90GcCoaog0vgz4nmKGyspfGsQvS/view"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/"}},"serial":"7","slug":"list","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-05 20:00:00+0100","start":"2024-11-05 18:00:00+0100"},"title":"Lists, Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/"},{"date":"2024-11-12","materials":[{"lesson_slug":"beginners-en/dict","title":"Dictionaries","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"},{"external_url":"https://drive.google.com/file/d/1sJhOmCTC1wspG6um4KRNJvtpUib3L2x7/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1sJhOmCTC1wspG6um4KRNJvtpUib3L2x7/view"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_dictionaries.pdf","title":"Dictionaries cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_dictionaries.pdf"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/"}},"serial":"8","slug":"dict","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-12 20:00:00+0100","start":"2024-11-12 18:00:00+0100"},"title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/"},{"date":"2024-11-19","materials":[{"external_url":"https://docs.google.com/document/d/1lQuHF1d3mbVzc1awfWmNVa9nYJdfrrvMNvpcX9pz6co","title":"Recap session materials","type":"homework","url":"https://docs.google.com/document/d/1lQuHF1d3mbVzc1awfWmNVa9nYJdfrrvMNvpcX9pz6co"},{"external_url":"https://docs.google.com/presentation/d/1qvnz7uJuzZipXEqsqq8bufpvtGNLP2sdW6p1MjodRJE","title":"Small quiz","type":"homework","url":"https://docs.google.com/presentation/d/1qvnz7uJuzZipXEqsqq8bufpvtGNLP2sdW6p1MjodRJE"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/"}},"serial":"9","slug":"recap1","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-19 20:00:00+0100","start":"2024-11-19 18:00:00+0100"},"title":"Recap session","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/"},{"date":"2024-11-26","materials":[{"lesson_slug":"beginners-en/class","title":"Classes","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"},{"lesson_slug":"beginners-en/inheritance","title":"Inheritance","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_classes.pdf","title":"Classes cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_classes.pdf"},{"external_url":"https://drive.google.com/file/d/1amhY9-pvtN8w6tHnOvR0tIcwOfNVx-Bl/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1amhY9-pvtN8w6tHnOvR0tIcwOfNVx-Bl/view"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/"}},"serial":"10","slug":"classes","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-26 20:00:00+0100","start":"2024-11-26 18:00:00+0100"},"title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/"},{"date":"2024-12-03","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/"}},"serial":"11","slug":"testing","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-03 20:00:00+0100","start":"2024-12-03 18:00:00+0100"},"title":"Modules, exceptions, testing","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/"},{"date":"2024-12-10","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/"}},"serial":"12","slug":"files_cli","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-10 20:00:00+0100","start":"2024-12-10 18:00:00+0100"},"title":"Working with Files and Debugging","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/"},{"date":"2024-12-17","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/"}},"serial":"13","slug":"final_project","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-17 20:00:00+0100","start":"2024-12-17 18:00:00+0100"},"title":"Final Project and bonus topic","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/"},{"date":"2025-01-07","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/"}},"serial":"14","slug":"final_project2","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2025-01-07 20:00:00+0100","start":"2025-01-07 18:00:00+0100"},"title":"What Next?","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/"}],"source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","start_date":"2024-09-24","subtitle":"Online - autumn 2024 - Tuesdays","timezone":"Europe/Vienna","title":"Beginners course PyLadies Vienna","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/","vars":{"coach-present":true,"pyladies":true,"user-gender":"f"}}} +{"$schema":"https://naucse.python.cz/v0/schema/out/course.json","api_version":[0,3],"course":{"default_time":{"end":"20:00","start":"18:00"},"derives":"pyladies-en","description":"Learn Python from the beginning. No previous knowledge required!\n","end_date":"2025-01-07","lessons":{"beginners-en/and-or":{"pages":{"index":{"attribution":["Translated by Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/and-or/index.md","title":"Or & and","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"}},"static_files":{},"title":"Or & and","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"},"beginners-en/class":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/index/solutions/0/"}],"source_file":"lessons/beginners-en/class/index.md","title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"}},"static_files":{},"title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"},"beginners-en/cmdline":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova, edits by Mateusz Krainski","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ.\n

Based on tutorial Django Girls.

"],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/index/solutions/0/"}],"source_file":"lessons/beginners-en/cmdline/index.md","title":"Introduction to command line","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"}},"static_files":{"windows-cmd-properties.png":{"path":"lessons/beginners-en/cmdline/static/windows-cmd-properties.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/static/windows-cmd-properties.png"}},"title":"Introduction to command line","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"},"beginners-en/colabturtle":{"pages":{"index":{"attribution":["Written by Lubomir Dolezal, 2024 for [PyLadies Vienna]."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/3/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/4/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/5/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/6/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/7/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/index/solutions/8/"}],"source_file":"lessons/beginners-en/colabturtle/index.md","title":"Colab Turtle and loops","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"}},"static_files":{"turtle-dashed.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-dashed.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-dashed.png"},"turtle-dashed2.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-dashed2.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-dashed2.png"},"turtle-hexagons.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-hexagons.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-hexagons.png"},"turtle-rect.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-rect.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-rect.png"},"turtle-square.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-square.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-square.png"},"turtle-squares.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-squares.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-squares.png"},"turtle-stairs.png":{"path":"lessons/beginners-en/colabturtle/static/turtle-stairs.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/static/turtle-stairs.png"}},"title":"Colab Turtle and loops","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"},"beginners-en/comparisons":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/index/solutions/1/"}],"source_file":"lessons/beginners-en/comparisons/index.md","title":"Comparison","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"}},"static_files":{},"title":"Comparison","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"},"beginners-en/def":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Atul Shurma","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/index/solutions/1/"}],"source_file":"lessons/beginners-en/def/index.md","title":"Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"}},"static_files":{},"title":"Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"},"beginners-en/dict":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Modified by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/index/solutions/3/"}],"source_file":"lessons/beginners-en/dict/index.md","title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"}},"static_files":{"dict.png":{"path":"lessons/beginners-en/dict/static/dict.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/static/dict.png"}},"title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"},"beginners-en/exceptions":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/index/solutions/0/"}],"source_file":"lessons/beginners-en/exceptions/index.md","title":"Exceptions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/"}},"static_files":{},"title":"Exceptions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/"},"beginners-en/first-steps":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova, edits by Mateusz Krainski","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/index/solutions/0/"}],"source_file":"lessons/beginners-en/first-steps/index.md","title":"First steps","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"}},"static_files":{},"title":"First steps","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"},"beginners-en/functions":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/index/solutions/0/"}],"source_file":"lessons/beginners-en/functions/index.md","title":"Functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"}},"static_files":{},"title":"Functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"},"beginners-en/hello-world":{"pages":{"index":{"attribution":["Translated by Petr Plavjanik","Modified by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/hello-world/index.md","title":"First program","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"}},"static_files":{},"title":"First program","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"},"beginners-en/inheritance":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/inheritance/index.md","title":"Inheritance","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"}},"static_files":{},"title":"Inheritance","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"},"beginners-en/install-editor":{"pages":{"atom":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/atom.md","title":"Atom","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/atom/"},"gedit":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/gedit.md","title":"Gedit","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/gedit/"},"index":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/index.md","title":"Editor installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},"kate":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/kate.md","title":"Kate","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/kate/"},"vscode":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install-editor/vscode.md","title":"VSCode","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/vscode/"}},"static_files":{"gedit_indent.png":{"path":"lessons/beginners-en/install-editor/static/gedit_indent.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_indent.png"},"gedit_linenums.png":{"path":"lessons/beginners-en/install-editor/static/gedit_linenums.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_linenums.png"},"gedit_prefs.png":{"path":"lessons/beginners-en/install-editor/static/gedit_prefs.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/static/gedit_prefs.png"}},"title":"Editor installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},"beginners-en/install_vienna":{"pages":{"index":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/index.md","title":"Python installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},"linux":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/linux.md","title":"Python installation - Linux","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/linux/"},"macos":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/macos.md","title":"Python installation - macOS","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/macos/"},"windows":{"attribution":["Edited by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/install_vienna/windows.md","title":"Python installation - Windows","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/windows/"}},"static_files":{"windows_32v64-bit.png":{"path":"lessons/beginners-en/install_vienna/static/windows_32v64-bit.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/static/windows_32v64-bit.png"},"windows_add_python_to_path.png":{"path":"lessons/beginners-en/install_vienna/static/windows_add_python_to_path.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/static/windows_add_python_to_path.png"}},"title":"Python installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},"beginners-en/introduction2":{"pages":{"index":{"attribution":["Marketa Muzikova","Mateusz Krainski","Tyna Dolezalova","Based on PyLadies CZ introduction."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/introduction2/index.md","title":"Introduction","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"}},"static_files":{"screenshot.png":{"path":"lessons/beginners-en/introduction2/static/screenshot.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/static/screenshot.png"}},"title":"Introduction","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"},"beginners-en/lesson-1-homework":{"pages":{"index":{"attribution":["Mateusz Krainski"],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/lesson-1-homework/index.md","title":"Homework - lesson 1","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"}},"static_files":{},"title":"Homework - lesson 1","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"},"beginners-en/lesson-2-homework":{"pages":{"index":{"attribution":["Mateusz Krainski"],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/lesson-2-homework/index.md","title":"Homework - lesson 2","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"}},"static_files":{},"title":"Homework - lesson 2","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"},"beginners-en/list":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Google Translate :/","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/index/solutions/2/"}],"source_file":"lessons/beginners-en/list/index.md","title":"Lists","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"}},"static_files":{},"title":"Lists","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"},"beginners-en/modules":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/modules/index.md","title":"Modules","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/"}},"static_files":{},"title":"Modules","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/"},"beginners-en/print":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"css":".lesson-content .err-lineno {\n display: inline-block;\n background-color: #FCC\n }\n.lesson-content .err-exctype {\n display: inline-block;\n background-color: #CFC\n }","license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/print/index.md","title":"Print and errors","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"}},"static_files":{},"title":"Print and errors","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"},"beginners-en/str":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/2/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/index/solutions/3/"}],"source_file":"lessons/beginners-en/str/index.md","title":"Strings","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"}},"static_files":{},"title":"Strings","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"},"beginners-en/testing":{"pages":{"index":{"attribution":["Translated by Petr Plavjanik","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/index/solutions/0/"}],"source_file":"lessons/beginners-en/testing/index.md","title":"Testing","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/"}},"static_files":{},"title":"Testing","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/"},"beginners-en/testing-continued":{"pages":{"index":{"attribution":["Originally written by Lubomir Dolezal, 2023 for [PyLadies Vienna]."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/index/solutions/0/"}],"source_file":"lessons/beginners-en/testing-continued/index.md","title":"Testing Continued","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/"}},"static_files":{},"title":"Testing Continued","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/"},"beginners-en/tictactoe":{"pages":{"index":{"attribution":["Translated by Petr Plavjanik","Modified by Tyna Dolezalova","Czech original PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/tictactoe/index.md","title":"Project 1 - 1D tic-tac-toe","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"}},"static_files":{},"title":"Project 1 - 1D tic-tac-toe","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"},"beginners-en/tuple":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Google Translate :/","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/beginners-en/tuple/index.md","title":"Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"}},"static_files":{},"title":"Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"},"beginners-en/variables":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova and Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/0/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/1/"},{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/index/solutions/2/"}],"source_file":"lessons/beginners-en/variables/index.md","title":"Variables","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"}},"static_files":{},"title":"Variables","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"},"beginners-en/while":{"pages":{"index":{"attribution":["Translated by Alexandru Dumitru","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[{"url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/index/solutions/0/"}],"source_file":"lessons/beginners-en/while/index.md","title":"While","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"}},"static_files":{},"title":"While","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"},"git-en/basics":{"pages":{"index":{"attribution":["Translated by Jakub Loucky","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"css":".lesson-content .green {\n color: #0a0\n }\n.lesson-content .red {\n color: #a00\n }\n.lesson-content .yellow {\n color: #a50\n }\n.lesson-content .strong {\n font-weight: bold\n }\n.lesson-content .blue {\n color: #0aa\n }","license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/basics/index.md","title":"Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"}},"static_files":{"diagram.png":{"path":"lessons/git-en/basics/static/diagram.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram.png"},"diagram.svg":{"path":"lessons/git-en/basics/static/diagram.svg","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram.svg"},"diagram2.png":{"path":"lessons/git-en/basics/static/diagram2.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/diagram2.png"},"dropbox.png":{"path":"lessons/git-en/basics/static/dropbox.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/dropbox.png"},"git-pretty.png":{"path":"lessons/git-en/basics/static/git-pretty.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/git-pretty.png"},"git_commands_cheat_sheet.png":{"path":"lessons/git-en/basics/static/git_commands_cheat_sheet.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/git_commands_cheat_sheet.png"},"gitk.png":{"path":"lessons/git-en/basics/static/gitk.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/static/gitk.png"}},"title":"Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"},"git-en/branching":{"pages":{"index":{"attribution":["Translated by Tyna Dolezalova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/branching/index.md","title":"Branches in Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"}},"static_files":{"git_branch.png":{"path":"lessons/git-en/branching/static/git_branch.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/static/git_branch.png"}},"title":"Branches in Git","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"},"git-en/github":{"pages":{"index":{"attribution":["PyLadies Vienna Lubomir Dolezal, 2021."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/github/index.md","title":"GitHub","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/"}},"static_files":{"gcm-prompt.png":{"path":"lessons/git-en/github/static/gcm-prompt.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/static/gcm-prompt.png"}},"title":"GitHub","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/github/"},"git-en/install":{"pages":{"index":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/index.md","title":"Git installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/"},"linux":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/linux.md","title":"Git installation - Linux","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/linux/"},"macos":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/macos.md","title":"Git installation - macOS","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/macos/"},"windows":{"attribution":["Translated by Marketa Muzikova","Originally written by Petr Viktorin, 2014-2017 for PyLadies CZ."],"license":"cc-by-sa-40","modules":{},"solutions":[],"source_file":"lessons/git-en/install/windows.md","title":"Git installation - Windows","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/windows/"}},"static_files":{"windows-git-cred-manager.png":{"path":"lessons/git-en/install/static/windows-git-cred-manager.png","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/static/windows-git-cred-manager.png"}},"title":"Git installation","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/git-en/install/"}},"long_description":"


\nHere you can find all materials for the PyLadies Vienna Beginners Python Course.\nAll lectures are for complete beginners. Instructions are for Linux, Windows and macOS.\n
\nIf you have any questions, feel free to contact us on pyladies.vienna@gmail.com

","mentors":[{"img":"img/team/dolezalovat.jpg","links":[{"mail":"mailto:dolezalova.tynka@gmail.com"},{"linkedin":"https://www.linkedin.com/in/kristyna-dolezalova/"}],"name":"Týna Doležalová","role":"Geospatial Data Scientist, Overly enthusiastic about everything"},{"img":"img/team/schindlerf.jpg","links":[{"mail":"mailto:fabian.schindler.strauss@gmail.com"},{"linkedin":"https://www.linkedin.com/in/fabian-schindler-311030b9/"},{"twitter":"https://twitter.com/__fschindler__"}],"name":"Fabian Schindler","role":"Python/GIS developer, game enthusiast"}],"place":"Online\n","sessions":[{"materials":[{"lesson_slug":"beginners-en/install_vienna","title":"Python installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/install_vienna/"},{"lesson_slug":"beginners-en/install-editor","title":"Editor installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/install-editor/"},{"external_url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf","title":"VS Code keybindings cheat sheet Windows","type":"cheatsheet","url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf"},{"external_url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf","title":"VS Code keybindings cheat sheet Mac OS","type":"cheatsheet","url":"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/"}},"serial":"0","slug":"install_home","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","title":"Installations","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install_home/"},{"date":"2024-09-24","materials":[{"lesson_slug":"beginners-en/introduction2","title":"Introduction","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/introduction2/"},{"lesson_slug":"beginners-en/cmdline","title":"Introduction to command line","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/cmdline/"},{"lesson_slug":"beginners-en/first-steps","title":"First steps","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/first-steps/"},{"lesson_slug":"beginners-en/lesson-1-homework","title":"Homework - lesson 1","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-1-homework/"},{"external_url":"https://drive.google.com/file/d/1KPlvbwGpIe8HQVkancKk6wuTwhV5VkRc","title":"Google colab tutorial","type":"cheatsheet","url":"https://drive.google.com/file/d/1KPlvbwGpIe8HQVkancKk6wuTwhV5VkRc"},{"external_url":"https://drive.google.com/file/d/1Bvnb52oirQDiZ7WI5t4Q8UeCd10-_gpT","title":"Keyboard layout cheat sheet","type":"cheatsheet","url":"https://drive.google.com/file/d/1Bvnb52oirQDiZ7WI5t4Q8UeCd10-_gpT"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/"}},"serial":"1","slug":"install","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-09-24 20:00:00+0200","start":"2024-09-24 18:00:00+0200"},"title":"Introduction, installation check","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/install/"},{"date":"2024-10-01","materials":[{"lesson_slug":"beginners-en/hello-world","title":"First program","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/hello-world/"},{"lesson_slug":"beginners-en/print","title":"Print and errors","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/print/"},{"lesson_slug":"beginners-en/variables","title":"Variables","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/variables/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf","title":"Basics cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf"},{"external_url":"https://www.youtube.com/watch?v=fj2tuTIcUys","title":"VS Code Tips and tricks","type":"cheatsheet","url":"https://www.youtube.com/watch?v=fj2tuTIcUys"},{"lesson_slug":"beginners-en/lesson-2-homework","title":"Homework - lesson 2","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/lesson-2-homework/"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/"}},"serial":"2","slug":"hello","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-01 20:00:00+0200","start":"2024-10-01 18:00:00+0200"},"title":"First Program, Print","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/hello/"},{"date":"2024-10-08","materials":[{"lesson_slug":"beginners-en/comparisons","title":"Comparison","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/comparisons/"},{"lesson_slug":"beginners-en/and-or","title":"Or & and","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/and-or/"},{"lesson_slug":"beginners-en/functions","title":"Functions","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/functions/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf","title":"Basics cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc.pdf"},{"external_url":"https://docs.google.com/document/d/1HsKbAt6DAH8uQYJUR8UB8sOFvzgUUr_WeZwB6cb9lcA","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1HsKbAt6DAH8uQYJUR8UB8sOFvzgUUr_WeZwB6cb9lcA"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/"}},"serial":"3","slug":"loops","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-08 20:00:00+0200","start":"2024-10-08 18:00:00+0200"},"title":"Conditions, modules and functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/loops/"},{"date":"2024-10-15","materials":[{"lesson_slug":"beginners-en/colabturtle","title":"Colab Turtle and loops","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/colabturtle/"},{"lesson_slug":"beginners-en/while","title":"While","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/while/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_if_while.pdf","title":"If/While cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_if_while.pdf"},{"external_url":"https://docs.google.com/document/d/1FO4J7l2oKN_vdrXVgvbrKOpJEx1Vu3f6gLnZe-tKIM4/edit","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1FO4J7l2oKN_vdrXVgvbrKOpJEx1Vu3f6gLnZe-tKIM4/edit"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/"}},"serial":"4","slug":"strings","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-15 20:00:00+0200","start":"2024-10-15 18:00:00+0200"},"title":"Loops, for and while","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/strings/"},{"date":"2024-10-22","materials":[{"lesson_slug":"beginners-en/str","title":"Strings","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/str/"},{"lesson_slug":"beginners-en/def","title":"Custom functions","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/def/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_functions.pdf","title":"Functions cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_functions.pdf"},{"external_url":"https://docs.google.com/document/d/1SPL6yMD3XOm9ZFDMDX_U4zSP-ltWd7QKvie5iCS8mno/edit","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1SPL6yMD3XOm9ZFDMDX_U4zSP-ltWd7QKvie5iCS8mno/edit"},{"external_url":"https://docs.google.com/document/d/1QWr8yzBfYtNaKLgRKoSL5tV5MGp46BOcD9Q3Q9ouOV8/edit","title":"Depth exploration colored example for function recursion","type":"cheatsheet","url":"https://docs.google.com/document/d/1QWr8yzBfYtNaKLgRKoSL5tV5MGp46BOcD9Q3Q9ouOV8/edit"},{"external_url":"https://docs.google.com/document/d/17kX5w9eEn-Ed1gcONAaU5kSKANBI24bjL_7-3XZi0Dg/edit","title":"Practice exercises (offline session 17.04.2024)","type":"cheatsheet","url":"https://docs.google.com/document/d/17kX5w9eEn-Ed1gcONAaU5kSKANBI24bjL_7-3XZi0Dg/edit"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/"}},"serial":"5","slug":"custom_func","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-22 20:00:00+0200","start":"2024-10-22 18:00:00+0200"},"title":"Strings, Custom functions","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/custom_func/"},{"date":"2024-10-29","materials":[{"lesson_slug":"git-en/install","title":"Git installation","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/install/"},{"lesson_slug":"git-en/basics","title":"Git","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/basics/"},{"lesson_slug":"git-en/github","title":"GitHub","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/github/"},{"lesson_slug":"git-en/branching","title":"Branches in Git","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/git-en/branching/"},{"external_url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/117a205e1c98f007e0a97877e87493fef411a768/lessons/git-en/basics/static/git_commands_cheat_sheet.png","title":"Basic Git Cheatsheet","type":"cheatsheet","url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/117a205e1c98f007e0a97877e87493fef411a768/lessons/git-en/basics/static/git_commands_cheat_sheet.png"},{"external_url":"https://about.gitlab.com/images/press/git-cheat-sheet.pdf","title":"Extensive Git cheatsheet","type":"cheatsheet","url":"https://about.gitlab.com/images/press/git-cheat-sheet.pdf"},{"external_url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/6307e5867765be0dd1a1e551901e4b4aca150d6c/lessons/git-en/basics/static/git-pretty.png","title":"Have you just made a git mess?","type":"cheatsheet","url":"https://raw.githubusercontent.com/lubojr/naucse.python.cz/6307e5867765be0dd1a1e551901e4b4aca150d6c/lessons/git-en/basics/static/git-pretty.png"},{"lesson_slug":"beginners-en/tictactoe","title":"Project 1 - 1D tic-tac-toe","type":"homework","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/tictactoe/"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/"}},"serial":"6","slug":"git","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-10-29 20:00:00+0100","start":"2024-10-29 18:00:00+0100"},"title":"GIT","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/git/"},{"date":"2024-11-05","materials":[{"lesson_slug":"beginners-en/list","title":"Lists","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/list/"},{"lesson_slug":"beginners-en/tuple","title":"Tuples","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/tuple/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_lists.pdf","title":"Lists cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_lists.pdf"},{"external_url":"https://drive.google.com/file/d/1fF0nl90GcCoaog0vgz4nmKGyspfGsQvS/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1fF0nl90GcCoaog0vgz4nmKGyspfGsQvS/view"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/"}},"serial":"7","slug":"list","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-05 20:00:00+0100","start":"2024-11-05 18:00:00+0100"},"title":"Lists, Tuples","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/list/"},{"date":"2024-11-12","materials":[{"lesson_slug":"beginners-en/dict","title":"Dictionaries","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/dict/"},{"external_url":"https://drive.google.com/file/d/1sJhOmCTC1wspG6um4KRNJvtpUib3L2x7/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1sJhOmCTC1wspG6um4KRNJvtpUib3L2x7/view"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_dictionaries.pdf","title":"Dictionaries cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_dictionaries.pdf"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/"}},"serial":"8","slug":"dict","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-12 20:00:00+0100","start":"2024-11-12 18:00:00+0100"},"title":"Dictionaries","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/dict/"},{"date":"2024-11-19","materials":[{"external_url":"https://docs.google.com/document/d/1lQuHF1d3mbVzc1awfWmNVa9nYJdfrrvMNvpcX9pz6co","title":"Recap session materials","type":"homework","url":"https://docs.google.com/document/d/1lQuHF1d3mbVzc1awfWmNVa9nYJdfrrvMNvpcX9pz6co"},{"external_url":"https://docs.google.com/presentation/d/1qvnz7uJuzZipXEqsqq8bufpvtGNLP2sdW6p1MjodRJE","title":"Small quiz","type":"homework","url":"https://docs.google.com/presentation/d/1qvnz7uJuzZipXEqsqq8bufpvtGNLP2sdW6p1MjodRJE"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/"}},"serial":"9","slug":"recap1","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-19 20:00:00+0100","start":"2024-11-19 18:00:00+0100"},"title":"Recap session","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/recap1/"},{"date":"2024-11-26","materials":[{"lesson_slug":"beginners-en/class","title":"Classes","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/class/"},{"lesson_slug":"beginners-en/inheritance","title":"Inheritance","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/inheritance/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_classes.pdf","title":"Classes cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_classes.pdf"},{"external_url":"https://drive.google.com/file/d/1amhY9-pvtN8w6tHnOvR0tIcwOfNVx-Bl/view","title":"Homework (PDF)","type":"homework","url":"https://drive.google.com/file/d/1amhY9-pvtN8w6tHnOvR0tIcwOfNVx-Bl/view"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/"}},"serial":"10","slug":"classes","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-11-26 20:00:00+0100","start":"2024-11-26 18:00:00+0100"},"title":"Classes","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/classes/"},{"date":"2024-12-03","materials":[{"lesson_slug":"beginners-en/modules","title":"Modules","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/modules/"},{"lesson_slug":"beginners-en/exceptions","title":"Exceptions","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/exceptions/"},{"lesson_slug":"beginners-en/testing","title":"Testing","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing/"},{"lesson_slug":"beginners-en/testing-continued","title":"Testing Continued","type":"lesson","url":"/2024/pyladies-en-vienna-2024-autumn/beginners-en/testing-continued/"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_files_exceptions.pdf","title":"Exceptions cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_files_exceptions.pdf"},{"external_url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_testing.pdf","title":"Testing cheatsheet","type":"cheatsheet","url":"https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_testing.pdf"},{"external_url":"https://docs.google.com/document/d/1xVaSWOmQD3PqCY6czmOaxBlAlT0AHv2z2rsveK5vfxg/edit","title":"Homework","type":"homework","url":"https://docs.google.com/document/d/1xVaSWOmQD3PqCY6czmOaxBlAlT0AHv2z2rsveK5vfxg/edit"},{"external_url":"https://docs.google.com/presentation/d/1urPWPVNHW-j2BvY-TK2jsHXEUnzbRyVo37L2g4rpRH0","title":"Coding session at Sentry - Hackerrank 27.5.","type":"none-link","url":"https://docs.google.com/presentation/d/1urPWPVNHW-j2BvY-TK2jsHXEUnzbRyVo37L2g4rpRH0"}],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/"}},"serial":"11","slug":"testing","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-03 20:00:00+0100","start":"2024-12-03 18:00:00+0100"},"title":"Modules, exceptions, testing","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/testing/"},{"date":"2024-12-10","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/"}},"serial":"12","slug":"files_cli","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-10 20:00:00+0100","start":"2024-12-10 18:00:00+0100"},"title":"Working with Files and Debugging","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/files_cli/"},{"date":"2024-12-17","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/"}},"serial":"13","slug":"final_project","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2024-12-17 20:00:00+0100","start":"2024-12-17 18:00:00+0100"},"title":"Final Project and bonus topic","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project/"},{"date":"2025-01-07","materials":[],"pages":{"back":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/back/"},"front":{"content":"","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/"}},"serial":"14","slug":"final_project2","source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","time":{"end":"2025-01-07 20:00:00+0100","start":"2025-01-07 18:00:00+0100"},"title":"What Next?","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/sessions/final_project2/"}],"source_file":"runs/2024/pyladies-en-vienna-2024-autumn/info.yml","start_date":"2024-09-24","subtitle":"Online - autumn 2024 - Tuesdays","timezone":"Europe/Vienna","title":"Beginners course PyLadies Vienna","url":"https://naucse.python.cz/2024/pyladies-en-vienna-2024-autumn/","vars":{"coach-present":true,"pyladies":true,"user-gender":"f"}}}