Individual
course details |
|
|
|
|
|
|
Study programme |
Applied
and Computational Physics |
|
|
Chosen research area (module) |
|
|
|
Nature and level of studies |
Basic
academic studies |
|
|
Name of the course |
Programming |
|
|
Professor (lectures) |
Prof.
Dr. Goran Poparić |
|
|
Professor/associate (examples/practical) |
|
|
|
Professor/associate (additional) |
|
|
|
ECTS |
4 |
Status
(required/elective) |
required |
|
|
Access requirements |
|
|
|
Aims of the course |
To
introduce students to the basic concept of programming. |
|
|
Learning outcomes |
To
enable students to independently create a problem setting and solve a given
problem, logically create and develop a solution algorithm, and implement an
algorithm in the specific programming language. It also enables students to
gain the ability to independently produce, analyze program, test and find
potential mistakes. |
|
|
Contents of the course |
|
|
Lectures |
Course
content: Computer scheme. Organization of the processor, Machine language.
Assemblers. Symbolic languages. Procedural and object-oriented programming.
Data types. int, float, long, double, char. Elementary programs.
Preprocessor. Editor. Compiler. Linker. Syntax and semantics. Algorithms.
Symbolic representation of elementary commands, declarations, inputs,
outputs, branching orders. Symbolic rendering. Distribution operators.
Arithmetic and logical operators. Priority of the operator. Elemental program
branching. If else branching. Block command. Iterations orders. While, Do
while iteration. Commands with For Loops. Switch commands. Arrays, their
declaration and initialization. Multidimensional arrays. Communication.
Prototype, declaration and definition and use. Global and local variables.
Call functions by value. Polymorphism of functions. Recursion. Pointers.
Declaration and use. Call functions by reference through a pointer.
References. Declaration and use. Calling functions by reference through
references. Stack and free memory space. Memory Allocation. Use of free
space. Commands NEW, DELETE. Elementary classes. Declaration, Definition and
Usage. Creating objects and using. Class. Keywords: public :, private: and
protected :. Constructors and destructor. Copywriter. Access methods. Data
encapsulation. Class Methods. Overload. Class. Base and derived class.
Hierarchy and inheritance. Derived class. Skipping the base class method
(override). Explicit calling of the base-class method. Entering a file.
Access modes. Strings. Elemental functions for working with strings. A random
number generator. Characteristics and validity test. Elements of mathematical
modeling. |
|
|
Examples/ practical classes |
Practical
classes: Setting up and solving programming problems. Logical design of
algorithms, their creation and analysis. Practical implementation of
algorithms in the form of a program. Testing the programs and analyzing
potential errors. Optimizing the programs. |
|
|
Recommended books |
|
|
1 |
Programming language
C, B.W. Kernighan, D.M. Ritchie 1988
Prentice Hall Inc. |
|
|
2 |
Programming language C, D.
Petković, Belgrade 1990. |
|
|
3 |
C++, Jesse Liberty, Kombib
2003. |
|
|
4 |
|
|
|
5 |
|
|
|
Number of classes (weekly) |
|
|
Lectures |
Examples&practicals |
|
Student
project |
Additional |
|
|
2 |
2 |
|
|
|
|
|
Teaching and learning methods |
1.
Lectures 2. Practical work on the development of the programs. |
|
|
Assessment (maximal 100) |
|
|
assesed coursework |
mark |
examination |
mark |
|
|
coursework |
15 |
written
examination |
30 |
|
|
practicals |
15 |
oral
examination |
40 |
|
|
papers |
|
|
|
|
|
presentations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|