Lecturer(s)
|
-
Cmorej Vlastimil, Ing. Ph.D.
-
Rejšek Václav, Ing.
|
Course content
|
1. History of programming languages and typical features. Programming paradigms, description means for syntax and semantics. 2. Programming of concurrent activities - principles and problems. Concurrent programming tools of Java. 3. Thread synchronization, monitors. 4. Tools of the library java.util.concurrent. 5. Scripting languages, introduction into the Python programming language. 6. Python's tools for file processing. 7. Python's tools for XML and DB processing. 8. Logic programming, Prolog. 9. Principles of functional programming. 10. Lisp programming language. 11. Comparison of type systems, statements, and subroutines of modern programming languages. 12. Comparison of object-oriented constructs of the programming languages C, Python, and Java. 13. Principles of programming structures translation.
|
Learning activities and teaching methods
|
Lecture with practical applications, Task-based study method
- Individual project (40)
- 40 hours per semester
- Contact hours
- 65 hours per semester
- Preparation for an examination (30-60)
- 50 hours per semester
- Preparation for formative assessments (2-20)
- 20 hours per semester
|
prerequisite |
---|
Knowledge |
---|
využívat teoretické poznatky z datových struktur |
využívat teoretické poznatky z diskrétní matematiky |
prokázat znalosti základních pojmů a metod z matematiky, pravděpodobnosti a statistiky |
rozumět principům objektově orientovaného programování v jazyce Java |
Skills |
---|
správně rozhodnout, kdy použít jakou datovou strukturu |
na základní uživatelské úrovni používat některé z běžných vývojových prostředí Javy |
sekvenčně programovat v jazyce Java |
popsat algoritmy složitější matematické výpočty |
Competences |
---|
N/A |
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
charakterizovat principy a výhody či nevýhody programování v různých paradigmatech |
rozumět možnostem tvorby paralelního programu v jazyce Java |
rozumět problémům, které v paralelním programu mohou vzniknout |
popsat základní konstrukce pro skriptovací, logické a funkcionální jazyky |
Skills |
---|
napsat jednoduchý vícevláknový program v jazyce Java |
řešit typické problémy při psaní paralelního programu |
napsat jednoduché programy ve skriptovacím jazyce, v logickém jazyce a ve funkcionálním jazyce |
vybrat vhodný jazyk pro řešení zadaného problému |
Competences |
---|
N/A |
N/A |
teaching methods |
---|
Knowledge |
---|
Interactive lecture |
Practicum |
Individual study |
assessment methods |
---|
Written exam |
Skills demonstration during practicum |
Recommended literature
|
-
Bieliková, Mária; Návrat, Pavol. Funkcionálne a logické programovanie. Slovenská technická univerzita, 2009. ISBN 978/80/227/3225-3.
-
Harms D., McDonald K. Začínáme programovat v jazyce Python. Computer Press, 2008.
-
Herout, Pavel. Java a XML. České Budějovice, 2007. ISBN 978-80-7232-307-4.
-
Pilgrim, Mark. Ponořme se do Python(u) 3. Edice CZ.NIC, 2010. ISBN 978-80-904248-2-1.
-
Scott, Michael L. Programming Language Pragmatics. Morgan Kaufmann, 2009. ISBN 9780123745149.
-
Sebesta, Robert W. Concepts of Programming Languages. 10. vydání. Addison Wesley, 2012. ISBN 978-0-13-139531-2.
-
Siebel, Peter. Practical Common Lisp. Apress, 2005. ISBN 978-1-59059-239-7.
-
Zakhour, Sharon. Java 6 : výukový kurz. Vyd. 1. Brno : Computer Press, 2007. ISBN 978-80-251-1575-6.
|