In Programming Basics with Python we are going to cover the following topics. These are only the keywords now but you can check maybe you have already mastered some of the topics in previous studies. The list can also act as a checklist of what you have learned so far in this module and what you still need to master to be able to advance to the next module.
Using variables
- Variable types, immutable vs. mutable types
- Passing by value and reference
- Casting variables - when/why.
- Meaning of NameError: XXX is not defined.
- Global vs. function scope (LEGB-rule). How to read/write a global variable?
Loops, control statements, operators
- For and while (break, continue), if-elif-else.
- Single line control statements
- Operators: not, or, and, >, <, >=, <=, ==, !=, % (modulo), //, +, -, *, /
- Operators and types (most operators are defined for the same type).
- Subscript operator, [].
Functions/Methods
- How to define functions, input parameters, return values.
- Advanced: Call stack.
Built-in data structures
- Lists/Arrays: How to add, remove elements, lists, sorting, slice
- Dictionaries: What are keys, values, how to check if it contains an element. Retrieve an element by a key
- Tuples: Immutable
Built in primitive types
- Strings: Are immutable, search, get substring (slice), length, strings as lists.
- Numbers: int, float
Built in methods
- input
- range
- random
- file I/O
Clean code
- Variable and function naming conventions and practices (meaningful names, do not name 2 variables/function the same way, always use English, underscore_case)
- Code formatting (splitting in lines, indenting etc.)
- Code organizing (DRY, no code outside functions, use globals only if needed)
Debugging/testing your code
- Using print statements
- Advanced: debugging via VS Code, breakpoints.
Git
- Usage in terminal
- Create/clone a repo
- Pull, add, commit, push.
- Best practices (commit messages, always pull before push, use git add-commit-push for uploading new file)
- Advanced: How to handle merge conflict (no need to do Git merge, just do something that works, e.g. Git reset, then push your changes)
Soft skills
- Requirements handling: reading the assignments’ description thoroughly and asking questions if something isn’t clear.
- English: reading and understanding assignments.
- Online search: search when in trouble and use proper search phrases.
- Asking for help: be brave enough to ask, know how to formulate your question.
- Communication: express your thoughts sophistically and pay attention to your partner.
- Goal setting: have a goal each week and try to fulfil it.
- Technical language: use the proper technical expressions when talking about IT concepts.