Slovensko

Programming 2 (FRI)

Higher education teachers: Divjak Saša



Subject description

Prerequisits:

  • Enrollment in the study year.

Content (Syllabus outline):

Lectures:

  • Programming in assembly language level
  • Program development and debugging
  • Programming Language C
  • Pointers and dynamic data structures: lists, trees
  • Iteration and recursion
  • Problem solving and algorithms
  • Analysis of time complexity of algorithms
  • Learn more about object-oriented programming
  • Abstract data type, and Collection
  • The basic abstract data types: list, set, type, fund mapping (and the corresponding collections), generics
  • Hash tables and binary search trees
  • Basic implementation of graph
  • Threads and competitive programming
  • The graphics and animation
  • Programming graphical applications
  • Programming network applications
  • Script programming
  • Abstract data type tree, such as: Expression trees
  • Abstract data type dictionary; search trees: binary, AVL, B-trees
  • Abstract data types priority queues, and disjoint sets
  • Abstract data type graph and directed graph,
  • Finding the longest and shortest paths in a directed graph, minimum spanning tree in a non-directional graph

Exercises:

In class, students will consolidate the content, which was discussed in lectures, so that it will be used to solve practical problems. In this process, the emphasis is on the independent students’ work with the help of assistants. In class the students will implemented a number of smaller programs (as well as homework assignments), and extensive programs in the form of seminars which will be defended evaluated in class.

Homework:

The purpose of homework is to offer students the opportunity to solve simple problems with the independent development of shorter programs and thus encourage them to ongoing study.

Objectives and competences:

The goal is to expand knowledge of programming through learning about programming techniques, basic of principles of design and analysis of algorithms on fixed and dynamic data structures.

Intended learning outcomes:

Ability to self-development programs, knowledge of basic data structures and algorithms, ability to independently design data structures and algorithms.

Learning and teaching methods:

  • Lectures, homework assignments, seminars in classes.
  • Particular emphasis is on an ongoing study and independent work with homework, tutorials and seminars.





Study materials

  1. I.Kononenko in sod.: Programiranje in algoritmi, Založba FE in FRI, 2008.
  2. S. Divjak: Programiranje, elektronska knjiga, http://lgm.fri.uni/lj.si/P2
  3. B. Eckel: Thinking in Java, 3rd edition, Prentice Hall PTR, 2002
  4. I.Kononenko in M. Robnik-Šikonja: Algoritmi in podatkovne strukture 1, Založba FE in FRI, 2003
  5. R. Sedgewick: Algorithms in Java, 3rd edition, Addison Wesley, 2003