Programming 1

Subject description

The course consists of the following chapters:

  1. Expressions, basic data types, variables
  2. Conditional expressions, while loop
  3. Lists, tuples, for loop
  4. Subroutines
  5. Files
  6. Dictionaries and sets
  7. Recursion
  8. Namespaces
  9. Basics of object oriented programming
  10. Exceptions
  11. Basics of user interfaces, working with events
  12. List comprehension, generators, iterators
  13. 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

  1. Za začetnike:
    M. L. Hetland: Beginning Python: from novice to professional, 2nd Ed., Apres, 2008.
  2. Za študente, ki že znajo programirati:
    J. Demšar: Python za programerje. 2. izd, Fakulteta za računalništvo in informatiko, 2012.
  3. Spletne strani in tečaji (Coursera, Udacity, Edx…) za učenje Pythona; izbor je vsakoletno osvežen na spletni strani predmeta.
  4. Zapiski s predavanj, gradivo za vaje in stari izpiti na domači strani predmeta.
  5. For beginners:
    M. L. Hetland: Beginning Python: from novice to professional, 2nd Ed., Apres, 2008.
  6. For students with previous experience in programming:
    J. Demšar: Python za programerje. 2. izd. Fakulteta za računalništvo in informatiko, 2012.
  7. 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.

Stay up to date

University of Ljubljana, Faculty of Electrical Engineering Tržaška cesta 25, 1000 Ljubljana

E:  dekanat@fe.uni-lj.si T:  01 4768 411