Subject description
The course consists of the following chapters:
- Expressions, basic data types, variables
- Conditional expressions, while loop
- Lists, tuples, for loop
- Subroutines
- Files
- Dictionaries and sets
- Recursion
- Namespaces
- Basics of object oriented programming
- Exceptions
- Basics of user interfaces, working with events
- List comprehension, generators, iterators
- Additional topics
Students will solve a larger number of programming exercises related to lectures with help of teaching assistants.
The subject is taught in programs
Objectives and competences
The goal of the subject is to teach the basics of algorithmic thinking and coding in the chosen language (currently Python).
Teaching and learning methods
Standard lectures using a number of examples live on computer; individual exercises with solving a large number of problems typical for a corresponding lecture. Exercises are done on computers with a help of teaching assistants, solutions are submitted using Moodle.
Expected study results
Knowledge and understanding:
Understanding of basic structures (variables, sentences, loops, functions) and their efficient use for solving smaller problems. Analysis of a problem and construction of algorithmic solution; use of appropriate coding approaches; distinguishing between better and worse solutions.
Application:
The course teaches the basic programming skills which represents the foundation for most other courses in the study programme.
Reflection:
Understanding of basics of algorithmic thinking and coding.
Transferable skills:
Understanding and use of programming.
Basic sources and literature
- Za začetnike:
M. L. Hetland: Beginning Python: from novice to professional, 2nd Ed., Apres, 2008. - Za študente, ki že znajo programirati:
J. Demšar: Python za programerje. 2. izd, Fakulteta za računalništvo in informatiko, 2012. - Spletne strani in tečaji (Coursera, Udacity, Edx…) za učenje Pythona; izbor je vsakoletno osvežen na spletni strani predmeta.
- Zapiski s predavanj, gradivo za vaje in stari izpiti na domači strani predmeta.
- For beginners:
M. L. Hetland: Beginning Python: from novice to professional, 2nd Ed., Apres, 2008. - For students with previous experience in programming:
J. Demšar: Python za programerje. 2. izd. Fakulteta za računalništvo in informatiko, 2012. - Web pages with tutorials and courses (Coursera, Udacity, Edx…) for learning Python; an updated selection is published annually on the course homepage.
Lecture notes, exercises and old exams published on the course home page.