Information Systems Development I: Fundamentals
BASIC DATA
course listing
A - main register
course code
ITB2201
course title in Estonian
Infosüsteemide arendamine I: baasoskused
course title in English
Information Systems Development I: Fundamentals
course volume CP
8.00
ECTS credits
12.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
autumn
language of instruction
Estonian
English
The course is a prerequisite
Information Systems Development II: Development Techniques and Web Applications (ITB2202)
Study programmes that contain the course
code of the study programme version
course compulsory
IABB17/25
yes
Structural units teaching the course
IT - Department of Software Science
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Infosüsteemide arendamise alaste oskuste omandamine tasemel, kust on võimalik jätkata iseseisva õppimisega.
course aims in English
Acquiring the skills for information systems development at a level from where the students are able to continue with independent studies.
learning outcomes in the course in Est.
Kursuse läbinud üliõpilased.
1. omavad praktiliselt tunnetatud arusaamist tarkvaraarenduse kõikidest etappidest, nende etappide vajadustest ja etappidevahelistest seostest; tunnevad refaktoorimise, ühiktestimise, isedokumenteeruva, valideeritud ja evolutsioneeruva koodi mõisteid;
2. oskavad kavandada lihtsaid rakendusi;
3. oskavad lihtsaid rakendusi arendada;
4. teavad mis on refaktoorimine ja oskavad refaktoorimist rakendada puhta isedokumenteeruva koodi kirjutamisel;
5. teavad mis on testidel tuginev tarkvaraarendus ning oskavad ühikteste rakendada valideeritud ja evolutsioneeruva koodi kirjutamisel;
6. tunnevad personaalse tarkvaraprotsessi aluseid ja oskavad neid baastasemel ka rakendada.
learning outcomes in the course in Eng.
After completing the course, the students:
1. have acquired the practical knowledge of all the software development stages, their needs and of the relationships between these stages; understand the concepts of refactoring, unit testing, self-documenting as well as validated and evolutionary code;
2. are able to design simple applications;
3. are able to implement simple applications;
4. know what refactoring is and are able to write clean and self-documented code using it;
5. know what Test Driven Development is and are able to write validated and evolutionary code using unit tests;
6. know what Personal Software process is and are able use this in software development.
brief description of the course in Estonian
Kursuse käigus õpitakse infosüsteemide praktilist arendamist (nõuded, kavandamine, realiseerimine, testimine, dokumenteerimine, paigaldamine) kasutades integreeritud arenduskeskkonda (IDE) ning Extreme Programming, Test Driven Development, Quality First ja Clean Code metoodikaid.
Kursuse peamised teemad on:
1. IDE ja selle võimalused; versiooni haldus; infosüsteemide mitmetasemeline arhitektuur;
2. programmeerimise baasteadmised: keel ja selle elemendid (väljad, muutujad, meetodid, funktsioonid) ning konstruktsioonid (peamised andmetüübid, hargnemised, tsüklid);
3. objekt-orienteeritud programmeerimine (klassid, objektid, kapseldamine, pärlilikkus, polümorfism);
4. tarkvaratehnika (ühiktestid ja TDD, refaktoorimine, dokumenteerimine, tarkvara personaalne arendusprotsess, arendusmetoodika, tarkvara kvaliteet, Clean Code);
5. personaalse tarkvaraprotsessi alusteadmised ja oskused.
brief description of the course in English
The course deals with the practical development (requirements, design, implementation, testing, documentation and deployment) of information systems using an integrated development environment (IDE) and the Extreme Programming, Test Driven Development, Quality First and Clean Code development methodologies.
The main topics of the course are:
1. IDE and its basic options, version control, layered architecture of information systems;
2. Programming fundamentals: language and its elements (fields, variables, methods, functions) and constructs (main data types, branches, cycles);
3. Object-oriented programming principles (classes, objects, encapsulation, heredity, polymorphism);
4. Software engineering principles (unit tests and Test Driven Development, refactoring, documenting and self-documented code, software development process, software development methodologies, software quality, Clean Code);
5. Personal Software Process (PSP) principles and skills.
type of assessment in Estonian
eksam
Valdab käsitletavat materjali põhjalikult ja oskab seda iseseisvalt ka rakendada (hinne 5); vajab mõningast juhendamist ja suunamist (hinne 4); tunneb aines käsitletud materjali (hinne 3); enam vähem tunneb aines käsitletud materjali (hinne 2); omab mõningaid teadmisi aines käsitletud materjali kohta (hinne 1).
type of assessment in English
exam
Has excellent knowledge of the covered material and knows how to apply it independently (excellent, 5); needs some minor guidance on how to apply their knowledge (very good, 4); has knowledge but is not able to apply it (good, 3); more or less knows the covered topics (satisfactory, 2); has some knowledge of the covered material (passed 1)
independent study in Estonian
2* 16 tundi loenguid + 6*16 harjutustundi (sisaldab individuaalseid konsultatsioone) + 184 tundi iseseisvat (sisaldab projekti) tööd = 312 tundi
independent study in English
Lectures 2* 16 h + 6*16 h practical work (includes individual consultations) + 184 h independent work (includes an independent project) = 312 h
study literature
[1] Programming language textbook ( e.g., one from "Head First" series);
[2] Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship;
[3] K. Beck, Test-Driven Development: By Example;
[4] W.S.Humphrey, Introduction to the Personal Software Process

Additional textbooks
[5] A. Hunt & D.Thomas, The Pragmatic Programmer
[6] B. Myer, Touch o Class, Learning to Program Well with Objects and Contracts

study forms and load
daytime study: weekly hours
8.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
4.0
practices
-
exercises
2.0
exercises
-
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2025/2026 autumn
Liisa Jõgiste, IT - Department of Software Science
Estonian
    display more
    2024/2025 autumn
    Liisa Jõgiste, IT - Department of Software Science
    Estonian
      ITB2201 Hindamine ENG.pdf 
      2023/2024 autumn
      Liisa Jõgiste, IT - Department of Software Science
      Estonian
        2022/2023 autumn
        Liisa Jõgiste, IT - Department of Software Science
        Estonian
          Course description in Estonian
          Course description in English