Type of studies | Title |
---|---|
Undergraduate Academic Studies | Software Engineering and Information Technologies (Year: 4, Semester: Winter) |
Category | Scientific-professional |
Scientific or art field | Applied Computer Science and Informatics |
ECTS | 4 |
Introducing students with advanced programming techniques and mastering the basic theoretical knowledge and techniques. Training students for analysis and application of proper programming methodology for the task and identify the strengths and weaknesses of different methodologies.
Upon completion of the course, students are able to understand the different programming methodologies, terminology in this field, analyze and apply appropriate methodologies and techniques for the task and critically evaluate solutions and list their advantages and disadvantages. They are also trained in the practical use of certain techniques and tools in the field of advanced programming methodologies.
Theory: methodologies and models of programming: an object-oriented, imperative, declarative, process oriented, functional, competitive, event driven programming , user-oriented. The techniques and concepts: iterator, generators, co-routines, mixins, lazy evaluation, prototypes, meta-programming, system types. Functional programming: the lambda calculus, immutability, a side-effects, higher-order functions, recursion, algorithms for processing large amounts of data - (Map-Reduce); functional programming languages (Lisp, Scheme, Clojure, Haskell, Erlang). Aspect orientedprogramming (AOP). Scripting languages and dynamic programming. Multi-paradigm programming languages - Python / Jython, Java, Scala, C++. Using and combining multiple programming languages (language polyglotism): mechanisms of integration, integration platform, type conversions, tools. Practical exercises: training in the use and practical application of programming languages, techniques and tools based on different methodologies and programming models. Application of acquired knowledge in the assign project implementation with the use of different programming languages, techniques and tools, and integration of program code into a single solution.
Lectures, Computer exercises; Consultations. Assign project task is developed through team work. In the last few weeks of the semester public presentations of most successful solutions of assigned projects is organized and the results achieved are discussed. The defense of the project is written. The final exam is oral. Assessment exam is based on the success of the defensded project assignment and final oral examination.
Authors | Title | Year | Publisher | Language |
---|---|---|---|---|
2017 | English | |||
2009 | English | |||
2012 | English |
Course activity | Pre-examination | Obligations | Number of points |
---|---|---|---|
Project | Yes | Yes | 60.00 |
Oral part of the exam | No | Yes | 40.00 |
Full Professor
Full Professor
Assistant - Master
Assistant - Master
Assistant - Master
© 2024. Faculty of Technical Sciences.
Address: Trg Dositeja Obradovića 6, 21102 Novi Sad
© 2024. Faculty of Technical Sciences.