Programming and Аlgorithms

Последна измена: November 22, 2022
1. Course Title Programming and Аlgorithms
2. Code 4ФЕИТ07З019
4. Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies
5. Degree (first, second, third cycle) First cycle
6. Academic year/semester I/1 7. Number of ECTS credits 7
8. Lecturer D-r  Goran Jakimovski, D-r Tomislav Shuminoski, D-r Hristijan Gjoreski, D-r Slavche Pejoski
9. Course Prerequisites
10. Course Goals (acquired competencies): Introduction to programming. Concepts of programming and algorithms. After finishing the course the student will be able to write simple and more complex programmes in C programming language.
– Modeling software solutions and implementing them in C programming language
– Profound understanding of data variables, code branching and programming cycles
– Understanding arrays and matrixes, programming with multi-dimensional variables
– Programming recursive functions and writing code to work with text files
11. Course Syllabus: Introduction to computer systems, components and organisation: processor, registers, memory. Programming. Programming languages. Syntax and semantics. Structure of a C program. Data types. Constants. Variables and types of variables. Operators. Logical and relational operations. Expressions. Basin input/output expressions. Commands for execution control of a program: branching statements (if-else, switch), repeating statements (for, while). Functions. Recursive functions. Complex program structures. Arrays. Pointers and pointer operations. Matrix. Concepts of searching through complex data structures. Ways of sorting. Textual arrays. Arguments in main() function. File concepts and structure.
12. Learning methods: Lectures, exercises and laboratory exercises
13. Total number of course hours 2 + 2 + 2 + 0
14. Distribution of course hours 180
15. Forms of teaching 15.1. Lectures-theoretical teaching 30
15.2. Exercises (laboratory, practice classes), seminars, teamwork 45
16. Other course activities 16.1. Projects, seminar papers 0
16.2. Individual tasks 45
16.3. Homework and self-learning 60
17. Grading 17.1. Exams 12
17.2. Seminar work/project (presentation: written and oral) 8
17.3. Activity and participation 0
17.4. Final exam 80
18. Grading criteria (points) up to 50 points 5 (five) (F)
from 51to 60 points 6 (six) (E)
from 61to 70 points 7 (seven) (D)
from 71to 80 points 8 (eight) (C)
from 81to 90 points 9 (nine) (B)
from 91to 100 points 10 (ten) (A)
19. Conditions for acquiring teacher’s signature and for taking final exam Laboratory exercises
20. Forms of assessment During the semester, two partial (or one full) exams are scheduled, along with two tests. The passing of the exam is based on passing the two partial (or one full) exam, where students are required to write small software solutions in C programming language. The tests are taken one week before the partial exams and are consisted of short questions from the curriculum. The partial/full exams take up to 80% of the grade, whereas the tests take up to 12% of the grade. The remaining 8% are from the laboratory exercises.
21. Language Macedonian and English
22. Method of monitoring of teaching quality Internal evaluation and survey
23. Literature
23.1. Required Literature
No. Author Title Publisher Year
1 K. Loudon Mastering Algorithms with C O’Reilly 1999
2 Kochan C. Programming in ANSI C SAMS Publishing 2005
3 B. Kernighan, D. Ritchie C Programming language Pearson 1998
23.2. Additional Literature
No. Author Title Publisher Year
1 Thomas H. Cormen, et. al. Introduction to Algorithms, (2nd Edition) MIT PRESS 2001