-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtraining.toml
More file actions
157 lines (126 loc) · 5.4 KB
/
Copy pathtraining.toml
File metadata and controls
157 lines (126 loc) · 5.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
schema_version = 2
id = "python-for-programmers"
title = "Python for programmers"
content_language = "en"
summary = """
Python is widely used in many contexts. This training introduces you to Python as a language suitable for scientific computing and data analysis. This training is intended for those who have programming experience in another language, but are new to Python. In this training you will learn how to read and write idiomatic Python code. Follow-up trainings on using Python for scientific computing and data analysis are available.
"""
languages = ["Python"]
[[learning_outcomes]]
statement = "Read and understand well-written Python code."
competencies = ["python.read-and-write-idiomatic-programs"]
[[learning_outcomes]]
statement = "Write small to medium Python programs in an idiomatic style."
competencies = ["python.read-and-write-idiomatic-programs"]
[[learning_outcomes]]
statement = "Use Python control flow, functions, and built-in data structures effectively."
competencies = ["python.control-flow-and-comprehensions", "python.functions", "python.values-and-containers"]
[[learning_outcomes]]
statement = "Use common Python features such as comprehensions, generators, and standard-library modules."
competencies = ["python.generators-and-standard-library"]
[[learning_outcomes]]
statement = "Recognize some best practices and common pitfalls for Python programmers."
competencies = ["python.apply-best-practices"]
[[learning_outcomes]]
statement = "Have a solid foundation for follow-up trainings on scientific computing, data analysis, and more advanced Python topics."
[source]
metadata_document = "docs/README.md"
repository_url = "https://github.com/gjbex/Python-for-programmers/"
website_url = "https://gjbex.github.io/Python-for-programmers/"
license = "CC-BY-4.0"
[delivery]
duration_minutes = 240
duration_kind = "fixed"
session_count = 1
target_session_duration_minutes = 240
schedule_complete = true
[audience]
description = """
This training is for you if you already know how to program in another language and want to become productive in Python quickly.
"""
[prerequisites]
summary = """
You will need experience programming in another programming language. This is not a training that starts from scratch. If you plan to do Python programming in a Linux or HPC environment you should be familiar with these as well. More concretely, participants should already be comfortable with the following: * variables, expressions, and basic data types in some programming language; * `if`/`else` statements, loops, and writing functions; * basic data structures such as arrays/lists, maps/dictionaries, or sets; * reading short programs and understanding how data flows through them; * using the command line to run programs at a basic level. You do not need prior experience with Python itself.
"""
competencies = ["programming.variables-and-expressions", "programming.control-flow", "programming.functions", "programming.basic-data-structures", "programming.read-and-trace-code", "command-line.run-or-compile-programs"]
[self_assessment]
introduction = """
If you can do most of the tasks below in some programming language, you are likely ready for this training.
"""
tasks = [
"Write a function that computes the average of a list of numbers.",
"Loop over a collection and count how often a value occurs.",
"Use `if`/`else` to classify a value into a small number of cases.",
"Read data from a text file and print a simple summary.",
"Split a problem into a few helper functions.",
"Read a short program and explain what it does.",
"Run a script from the command line with one or two arguments.",
"Make a small change to an existing program and run it again."
]
[requirements]
software = [
"Laptop or desktop with internet access.",
"Software to run Jupyter notebooks, or access to Google Colab."
]
[level]
introductory_percent = 50
intermediate_percent = 40
advanced_percent = 10
description = """
For participants who already have programming experience in another language, the material in this training is approximately These percentages describe the level of the Python topics covered in the training, not the participants' general programming background.
"""
[[materials]]
kind = "slides"
path = "python_for_programmers.pptx"
[[materials]]
kind = "source-code"
path = "source_code"
[[materials]]
kind = "exercises"
path = "hands-on"
[[materials]]
kind = "environment"
path = "environment.yml"
[[trainers]]
name = "Geert Jan Bex"
email = "geertjan.bex@uhasselt.be"
[[maintainers]]
name = "Geert Jan Bex"
email = "geertjan.bex@uhasselt.be"
[[sessions]]
id = "session-1"
title = "Session one"
duration_minutes = 240
[[sessions.items]]
subject = "introduction and motivation"
duration_minutes = 5
[[sessions.items]]
subject = "basics: control flow statements, data types"
duration_minutes = 85
[[sessions.items]]
subject = "hands-on session"
duration_minutes = 20
[[sessions.items]]
subject = "coffee break"
duration_minutes = 10
[[sessions.items]]
subject = "functions"
duration_minutes = 15
[[sessions.items]]
subject = "command line arguments"
duration_minutes = 10
[[sessions.items]]
subject = "simple I/O"
duration_minutes = 10
[[sessions.items]]
subject = "more data structures"
duration_minutes = 35
[[sessions.items]]
subject = "list comprehensions & generators"
duration_minutes = 15
[[sessions.items]]
subject = "recent Python features"
duration_minutes = 20
[[sessions.items]]
subject = "hands-on session"
duration_minutes = 20