Patvirtinta:

Programų sistemų magistrantūros
 studijų programos komiteto

2015-02-18

 

 

Stojamojo į Programų sistemų magistrantūrą egzamino programa

 

I. Programavimas

1.  Duomenų tipai: paprasti ir struktūriniai, standartiniai tipai, apibrėžiami tipai, dinaminės struktūros, abstraktūs duomenų tipai.

2.  Konstantos, kintamieji, reiškiniai, operacijos, veiksmai. Valdymo struktūros: seka, šakojimasis, ciklai.

3.  Atminties rūšys, dinaminės atminties valdymo priemonės. Rodyklės.

4.  Funkcijos ir procedūros: paskirtis, formalūs ir faktiniai parametrai, vardų galiojimo sritis, rekursija. Parametrų perdavimo būdai.

5.  Modulio sąvoka. Interfeisas ir realizacija.

6.  Išimtinių situacijų apdorojimo mechanizmas objektiškai orientuotose kalbose.

7.  Klasės sąvoka. Inkapsuliacijos ir informacijos slėpimo principai.

8.  Objekto sąvoka. Objektų kūrimas, kopijavimas, naikinimas, valdymas. Objektų gyvavimo ciklas.

9.  Objektinis programavimas: kompozicija ir paveldėjimas, dinaminis susiejimas, metodų užklotis, polimorfizmas.

Literatūra:

P. Deitel, H.M. Deitel. C: How to Program. 6th ed., Prentice Hall, 2009.

K.N. King. C Programming: A Modern Approach. 2nd ed., W. W. Norton & Company, 2008.

H.M. Deitel, P.J. Deitel. How to Program in Java. 9th ed., Prentice Hall, 2012.

A. Troelsen. Pro C# 2010 and the .NET 4 Platform. 5th edition. Apress. 2010.

G. Booch et al. Object-Oriented Analysis and Design with Applications, 3rd ed., Addison-Wesley Professional, 2007.

 

II. Duomenų bazių valdymo sistemos

1.    Duomenų bazių valdymo sistemų funkcijos.

2.    Reliacinis duomenų modelis. Duomenų normalizavimas. 

3.    Semantinis modeliavimas. Esybių-ryšių modelis, jo vaizdavimas reliaciniu duomenų modeliu. 

4.    Duomenų bazių valdymo kalba SQL.

5.    SQL sakiniai taikomosiose programose.

6.    Duomenų saugumo valdymas.

7.    Duomenų vientisumas ir jo užtikrinimas.

8.    Transakcijos ir jų valdymas.

Literatūra:

R. Baronas. Duomenų bazių valdymo sistemos. Vadovėlis aukštosioms mokykloms. Vilnius: TEV, 2005.

C.J. Date. An Introduction to Database Systems. 8th ed., Boston: Addison-Wesley, 2003.

J.D. Ullman, J. Widom. A First Course in Database Systems. 3rd ed. New Jersey: Prentice-Hall, 2007.

 

III. Algoritmai ir duomenų struktūros

1.    Intuityvi algoritmo samprata ir jos formalizacijos.

2.    Algoritmo sudėtingumas.

3.    Paieška: tiesinė ir dvejetainė paieška.

4.    Rikiavimas: vidinis ir išorinis rikiavimas, algoritmai (išrinkimu, įterpimu, burbuliuko metodas, Šelo metodas, greitas rūšiavimas, vidinis ir išorinis suliejimo metodai, skaitmeninis rikiavimas, heap rikiavimas).

5.    Pagrindinės duomenų struktūros (tiesiniai sąrašai, stekas, eilė, dekas, duomenų struktūra heap, prioritetinės eilės).

6.    Medžiai: dvejetainiai paieškos medžiai, AVL medžiai, raudonai-juodi medžiai, B-medžiai.

7.    Dėstymo lentelės, kolizijų sprendimo metodai.

8.    Grafai.

9.    NP-pilnumas.

Literatūra:

R. Sedgewick. Algorithms. New York: Addison-Wesley, 1992.

M. Main, W. Savitch. Data Structures and Other Objects, A Second Course in Computer Science (Turbo Pascal Edition), The Benjamin/Cummings Publishing Company, 1995.

M. Main, W. Savitch. Data Structures and Other Objects Using C++, Addison Wesley The Benjamin/Cummings Publishing Company, 2001.

 

IV. Programų sistemų inžinerija

1.    Verslo analizė juodosios ir baltosios dėžės principais, taikomi metodai.

2.    Reikalavimai programų sistemai, jų rūšys ir kokybinės charakteristikos.

3.    Objektinės paradigmos samprata, UML struktūra, diagramos ir modeliai.

4.    Programų sistemų projektavimas, statinis ir dinaminis modeliai, sistemos projekto pjūviai ir abstrakcijos lygmenys.

5.    Programų sistemų kūrimas, pagrindiniai tikslai, naudojamos metrikos, testavimo metodai.

6.    Programų sistemų palaikymas, jo metu vykdomos veiklos, pagrindiniai iššūkiai, jų sprendimo būdai, konfigūracijos valdymas.

7.    Programų sistemų kūrimo ir vystymo projektų valdymas, pagrindinės sąvokos, rolės ir procesų grupės.

8.    Įmonės architektūra, Zachman karkasas, TOGAF architektūros valdymo modelis.

Literatūra:

P. Bourque and R. E. Fairley (Eds.). Guide to the Software Engineering Body of Knowledge (SWEBOK). IEEE Computer Society, 2014.

R.S. Pressman. Software Engineering: A Practitioner's Approach. McGraw-Hill, 2004.

A. Čaplinskas. Programų sistemų inžinerijos pagrindai, MII, Vilnius, I dalis – 1996, II dalis – 1998.

Project Management Institute. A Guide to the Project Management Body of Knowledge, 2004.

M. Fowler, K. Scott. UML Distilled. Applying the Standard Object Modeling Language. 3rd ed., Addison-Wesley, 2003.

Object Management Group. Unified Modeling Language, Superstructure, Version 2.4.1. OMG, 2011.

 

V. Programų kūrimo procesas

1. Programų kūrimo proceso bei programų kūrimo proceso modelio samprata.

2. Programų kūrimo proceso brandos ir gebėjimo samprata.

3. Pakopinės architektūros programų kūrimo proceso brandos modelis.

4. Tolydinės architektūros programų kūrimo proceso gebėjimo modelis.

5. ISO/IEC 15504 reikalavimai procesų dimensijai.

6. ISO/IEC 15504 procesų gebėjimo dimensijos apibrėžimas.

7. Programų kūrimo proceso vertinimas.

8. Programų kūrimo proceso gerinimas.

Literatūra:

A. Mitašiūnas. Programų kūrimo proceso vertinimas ir gerinimas, Mokomoji knyga, 202 p., Vilniaus universitetas, 2007.

Han van Loon. Process Assessment and ISO/IEC 15504. A Reference Book. Springer, 2004.

Han van Loon. Process Assessment and Improvement. A practical guide for managers, quality professionals and assessors. Springer, 2004

M.B. Chrissis, M. Konrad, S. Shrum. CMMI: Guidelines for Process Integration and Product Improvement. 2nd ed., CMMI for Development, v 1.2. SEI series in Software Engineering, Addison-Wesley, 2006.

 

VI. Internet technologijos

1.  XML kalba, jos paskirtis, žymės ir atributo sąvokos.

2.  XML Namespaces (vardų galiojimo sritys), jos paskirtis, situacijos, kuriose ją naudoti būtina.

3.  XPath kalba, jos paskirtis, kelio ir ašies sąvokos, vaiko/tėvo/įpėdinių/protėvių ašys.

4.  XML Schema, jos paskirtis, paprasti ir sudėtingi tipai.

5.  XSLT kalba, jos paskirtis, instrukcijos apply-templates, for-each.

6.  HTML5 kalba, jos paskirtis, dažniausiai naudojamos žymės.

7.  CSS kalba, jos paskirtis, selektoriai (vaiko, įpėdinio, atributo, klasės, ID), konfliktų sprendimas (kaskadų mechanizmas).

8.  JavaScript kalba, jos paskirtis, panaudojimas reguliarių išraiškų apdorojimui, dinaminiam HTML modifikavimui, jQuery.

Literatūra:

E. van der Vlist. XML Schema. The W3C's Object-Oriented Descriptions for XML, 2002, ISBN: 978-0596002527, O'Reilly Media.

M. Pilgrim. HTML5: Up and Running, 2010, ISBN: 978-0596806026, O'Reilly Media.

D. Flanagan. jQuery Pocket Reference, 2010, ISBN: 978-1449397227, O'Reilly Media.