Introduction to programming in Python 2400-ZEWW825
- Basics of the Python language. Console, virtual environments, code editors, IDEs, documentation, PEP 8. Definition of algorithm and version control
- Basics of programming on the example of Python: variable types, basic data types (list, tuple, set, dictionary), flow control (conditional expressions, loops, exception handling)
- Functions. Structure, scope, parameters, recursion, lambda
- numpy (linear algebra)
- pandas (data processing)
- Network and data: requests and BeautifulSoup libraries. HTTP, API, HTML, XML, JSON
- Classes and inheritance
- List/dictionary comprehensions, generators, iterators. Advanced data structures (collections, trees)
- Files, text processing, regular expressions. Writing effective and fast code, multithreading, profiling
Type of course
Course coordinators
Learning outcomes
KNOWLEDGE
Student can explain the difference between IDE and text editor
Student knows about various data structures including advanced ones and knows which one is the right one to solve a particular problem
Student knows what class and function are and knows that these concepts are not limited to one language
Student knows to which solutions basic Python libraries are suited and how to search for libraries required for particular tases
Student knows about the structure of data in the internet, what an Application Programming Interface is and what are its uses
Student distinguishes commonly used data formats and knows how to read them
Student knows where to search for information about programming
SKILLS
Student is able to configure a virtual environment and choose a tool suited to their needs
Student can analyse data from a website to use in their bachelor’s or master’s thesis
Student is able to create a simple application using internet sources
Student can write code to solve problems effectively
Student is able to search for solutions in a search engine and adjust found solutions appropriately
SOCIAL SKILLS
Student understands the need to work alone and constantly improve their knowledge in communication with others to achieve success in programming
Student knows that the problem they face has probably already been solved and others’ experience needs to be used
Assessment criteria
1) solving a set of problems on basic knowledge and skills.
2) final project.
A passing score in both parts is required for a passing grade. If a passing grade was achieved, the final grade depends only on the final project.
Bibliography
Sweigart, A. (2019), “Automate the Boring Stuff with Python: Practical Programming for Total Beginners”, 2nd Edition, No Starch Press
Shaw, Z. (2016), “Learn Python 3 the Hard Way”, Addison-Wesley Professional
McKinney, W. (2012),”Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython”, O’Reilly
VanderPlas, J. (2016), Python Data Science Handbook: Essential Tools for Working with Data, O’Reilly
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: