course aims in Estonian
Õppeaine eesmärk on arendada loogilist, analüütilist ja algoritmikeskset mõtlemist: oskust jaotada probleem sammudeks ja kirjeldada neid samme piisavalt täpselt, et arvuti neid täita suudaks. Anda praktiline programmeerimiskogemus, mis on vajalik väiksemate arvutuslike probleemide iseseisvaks lahendamiseks, kasutades päris tarkvaraarenduse töövahendeid - integreeritud arenduskeskkonda, versioonihaldust ja automaatset tagasisidet esitatud tööle.
course aims in English
The aim of this course is to develop logical, analytical and algorithm-centred thinking: the ability to break a problem into steps and to express those steps precisely enough for a computer to execute them. To give practical programming experience needed for solving smaller computational problems independently, using the tools of real software development - an IDE, version control, and automated feedback on submitted work.
learning outcomes in the course in Est.
Õppeaine läbinud üliõpilane:
- rakendab Pythoni põhikonstruktsioone väiksemate programmide koostamisel;
- kasutab programmeerimisülesandele sobivaid sisseehitatud andmestruktuure;
- lahendab iseseisvalt väiksemaid arvutuslikke probleeme funktsioonide, tsüklite või rekursiooni abil;
- töötleb teksti- ja CSV-faile, lugedes sisendandmeid ja kirjutades tulemusi;
- modelleerib lihtsaid objektorienteeritud lahendusi klasside, objektide, kompositsiooni ja pärimise abil;
- arendab dokumenteeritud ja koodistiili nõuetele vastavaid programme, kasutades silumisinfot, integreeritud arenduskeskkonda ja Giti.
learning outcomes in the course in Eng.
After completing this course, the student:
- applies Python language constructs when writing small programs;
- uses built-in data structures appropriate to a given programming task;
- solves smaller computational problems independently by decomposing them into functions and using iteration or recursion;
- processes text and CSV-style files by reading input data and writing results;
- models simple object-oriented solutions with classes, objects, composition and inheritance;
- develops clean, documented programs using debugging feedback, an IDE and Git.
brief description of the course in Estonian
Sissejuhatus programmeerimisse tulevastele arendajatele. Käsitletakse Pythoni programmeerimiskeele aluseid: muutujad, andmetüübid ja tüübiteisendus, matemaatilised ja loogilised avaldised, tingimuslaused ja juhtimisstruktuurid, sõned, tsüklid, rekursioon,
funktsioonid ning sisseehitatud andmestruktuurid järjend, ennik, sõnastik ja hulk.
Käsitletakse failide lugemist ja kirjutamist ning objektorienteeritud programmeerimise aluseid: klassid ja objektid, meetodid, kompositsioon ja pärimine.
Tudengid kirjutavad koodi kasutades integreeritud arenduskeskkonda (IDE). Nad esitavad oma tööd Giti kaudu, saades igale esitusele automaatse tagasiside. Esituste puhul tuleb lisaks funktsionaalsusele jälgida dokumenteerimist ja koodistiili. Kursuse käigus tutvustatakse koodi silumist, mis aitab tudengil diagnoosida vigu ja parandada oma koodi.
Õpitut rakendatakse päris programmeerimisülesannete lahendamisel. Tudeng omandab praktilise intuitsiooni erinevate andmestruktuuride tõhususe kohta - näiteks, et sõnastikust otsimine ei muutu andmemahu kasvades aeglasemaks. Algoritmilise keerukuse formaalne käsitlus jääb hilisematesse ainetesse.
brief description of the course in English
Introduction to programming for future developers. Students are taught fundamentals of the Python programming language, including variables, data types and type conversion, mathematical and logical expressions, conditionals and flow control, strings, loops, recursion, functions, and the built-in data structures list, tuple, dictionary and set.
The course covers reading and writing files, and the basics of object-oriented programming: classes and objects, methods, composition and inheritance.
Students write code using an integrated development environment (IDE). They submit their work through Git and receive automated feedback on each submission. In addition to functionality, submissions must follow documentation and code style requirements. During the course, students are introduced to debugging, which helps them diagnose defects and
fix their own code.
Learned skills are applied to solving actual programming tasks. Students gain a practical intuition for the efficiency of different data structures - for example, that dictionary lookup does not slow down as the data grows. Formal treatment of algorithmic complexity belongs to later courses.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
practices
3.0
practices
15.0
type (CBL/PBL)
not specified