Programming for Beginners (Python)
Target group
The course is intended primarily for those who don’t have previous or have low exposure to programming but would like to start more seriously with it. Everyone else who would like to take a look at the secret world of programmers and thereby understand the nuances of software creation is also welcome. For example, product managers, key users, testers. For the course, the level of a regular computer user and proficiency in spoken English is sufficient. The course does not require prior knowledge of software development.
Objectives
Provide a basic understanding of programming in Python in order to continue programming studies, start as a junior developer under the guidance of a mentor or use basic programming skills in daily work (ordering software, managing products, or automating your routine).
Topics covered
- NB! Each course participant will have personal access to the course materials on Google Drive and the sample code in the GitHub or GitLab environment. In each course there is also its own group in Slack to share operational information and help each other.
- To participate in the training, the participant must have the following tools: a computer or laptop (Windows 10, Mac OS or Linux) on which the following software is installed or will be installed online during the training: Python, IntelliJ PyCharm Community Edition.
1. Introduction
What is programming and programming terms. Algorithm and algorithm presentation. Getting to know the development environment (IDE). Writing the first simple program.
2. Programming basics
Data and data types. Variables, assigning a value to a variable. Numerical variables, elementary operations and operators (addition, subtraction, multiplication, division and division by residue). Input and output from the command line. Expressions. Variables with text value (strings) and common operations. Variables with boolean value. Conditional statements (multi-branch and multi-part conditional statements, conditional statement within conditional statement, logical operations and expressions). Conversions between data types. Sequences. Cycles. Two-dimensional sequence and matrix. Creating an accidental situation, random number. Recursive functions. Libraries.
3. Development process and development life cycle
4. Object-oriented programming
OOP paradigm, basic concepts class, object and instance, techniques inheritance and polymorphism.
5. User interface and data exchange
What is user interface? Reading and writing data from file (.csv, .txt). Reading data from web.
6. Web applications
Web frameworks (Flask). Writing the first web application. Web page addresses and address parameters. Web page templates and presenting data on web page. Static resources (CSS). Web application deployment.
7. Version management and code repository (Git)
8. Exercises (~10 pcs)
What you will learn?
- understands the development process and life cycle and has an overview of different programming terms and development methodologies
- can read and present simpler algorithms in a format which is understandable by programmers
- knows programming tools and can write simpler programs in the Python programming language
- is able to evaluate the capacity and complexity of programming work
- is able to work with data by obtaining, processing and storing it, and it is possible to use this skill to automate his/her daily work routines