Algorithms and Programming for Engineers
BASIC DATA
course listing
A - main register
course code
IAX0590
course title in Estonian
Algoritmid ja programmeerimine inseneridele
course title in English
Algorithms and Programming for Engineers
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
spring
language of instruction
Estonian
English
Study programmes that contain the course
code of the study programme version
course compulsory
EARB16/25
yes
Structural units teaching the course
IA - Department of Computer Systems
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Aine eesmärk on:
- arendada loogilist ja loomingulist mõtlemist originaalsete ülesannete lahendamise kaudu;
- tutvuda algoritmi esitamisviisidega ja koostamise strateegiatega, arvusüsteemidega, erinevate andmetüüpide esitamisega arvutis;
- õppida algoritmi töö kontrolliks koostama programmi kõrgtaseme programmeerimiskeeltes Python, C;
- tutvuda erinevate arendus- ja programmeerimisekeskkondadega.
course aims in English
The aim of this course is to:
- develop both creative and analytical thinking through solving original tasks;
- introduce algorithms, means to present them and strategies of creating them, numeral systems, ways to store and process various data types in computers;
- learn to implement algorithms in high-level programming language such as C, Python;
- introduce various software development environments.
learning outcomes in the course in Est.
Õppeaine läbinud üliõpilane:
- valdab arvusüsteeme;
- koostab ülesande lahendamise algoritmi;
- kirjutab algoritmile üks ühele vastava programmi (Python, C);
- jaotab ülesande alamülesanneteks;
- kasutab erinevaid programmeerimiskeskkondi ja versioonihaldust;
- kasutab alamprogramme (funktsioone, meetodeid);
- oskab teha rühmatööd.
learning outcomes in the course in Eng.
After completing this course, the student:
- masters numeral systems;
- constructs an algorithm that solves a task;
- writes a piece of software in C or Python that implements said algorithm;
- divides a task into subtasks;
- uses different programming environments and version control;
- uses subprograms (functions) in software development;
- can work in a team.
brief description of the course in Estonian
Algoritmi mõiste, esitamise viisid ja koostamise strateegiad ning erinevad esitamisvahendid. Ülesande jagamine alamülesanneteks.
Keeled. Keelte klassifikatsioon. Algoritmilise keele mõiste.
Arvuti (tarkvara) arhitektuur. Programmi elutsükkel arvutis. Käsurea kasutamine, käsurea argumendid.
Tehete järjekord. Hargnemised (sh ka mitme variandiga). Tsüklid (eel- ja järelkontrolliga).
Arvude teisendamine ühest arvusüsteemist teise. Püsi- ja ujukomaga arvud. Pseudojuhuslikud arvud.
Muutujate deklareerimine. Globaalsed ja lokaalsed muutujad. Erinevad andmetüübid ning nende esitus arvutis. Andmete teisendamine ühest tüübist teise.
Massiivide deklareerimine ja indekseerimine. Mitmedimensionaalsed massiivid. Toimingud massiividega (otsimine, järjestamine, andmete analüüs). Sõnede olemus ja manipuleerimine. Andmete väljastamise formateerimine.
Alamprogrammide loomine, nendevaheline infovahetus (parameetrid, tagastus), väljakutsumine. Muutuja skoop ja eluiga.
Failid, lugemine ja kirjutamine
brief description of the course in English
Definition of an algorithm, ways to present and construct algorithms. Dividing a task into subtasks.
Languages. Language classification. Algorithmic languages.
Computer architecture (software layer). Program life-cycle. Command line interface, command line parameters.
Operator precedence. Conditionals and control flow statements (including several conditions). Loops with condition checking before and after the statement.
Converting numbers from one numeral system to another. Fixed point and floating point numbers. Pseudorandom numbers.
Declaring variables. Global and local variables. Various data types and their representation in a computer. Converting data from one type to another.
Declaring and indexing of arrays. Multidimensional arrays. Operations with arrays (searching, sorting, statistical analysis). Strings and string operations. Formatting results.
Creating subroutines, exchanging data between them (parameters, return values). Calling subroutines. Variable scope and lifespan.
Files, accessing files for reading and writing.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study literature
Allen Downey. How to Think Like a Computer Scientist: Learning with Python.
Brian W. Kernighan, Dennis M. Ritchie. C Programming Language. Pearson.
Viktor Leppikson. Programmeerimine C-keeles. Külim.
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
1.0
lectures
-
practices
3.0
practices
-
exercises
0.0
exercises
-
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2024/2025 spring
Lembit Jürimägi, IA - Department of Computer Systems
Estonian
    Vladimir Viies, IA - Department of Computer Systems
    Estonian
      display more
      2023/2024 spring
      Lembit Jürimägi, IA - Department of Computer Systems
      Estonian
        Vladimir Viies, IA - Department of Computer Systems
        Estonian
          Course description in Estonian
          Course description in English