1. Course Title | Programming and algorithms | |||||||
2. Code | 3ФЕИТ07З027 | |||||||
3. Study program | EAOIE, EES, EEUM, KHIE, KSIAR, KTI, TKII | |||||||
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 | 6.00 | |||||
8. Lecturer | Dr Slavche Pejoski, Dr Hristijan Gjoreski, Dr Tomislav Shuminoski, Dr Goran Jakimovski | |||||||
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. |
||||||||
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 | 60 | |||||||
16. Other course activities | 16.1. Projects, seminar papers | 10 | ||||||
16.2. Individual tasks | 20 | |||||||
16.3. Homework and self-learning | 60 | |||||||
17. Grading | 17.1. Exams | 10 | ||||||
17.2. Seminar work/project (presentation: written and oral) | 10 | |||||||
17.3. Activity and participation | 0 | |||||||
17.4. Final exam | 80 | |||||||
18. Grading criteria (points) | up to 50 points | 5 (five) (F) | ||||||
from 51 to 60 points | 6 (six) (E) | |||||||
from 61 to 70 points | 7 (seven) (D) | |||||||
from 71 to 80 points | 8 (eight) (C) | |||||||
from 81 to 90 points | 9 (nine) (B) | |||||||
from 91 to 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 surveys | |||||||
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 | 1991 | ||||
3 | Б. Керниган, Д. Ричи | Програмски јазик С | превод влада | 1988 | ||||
23.2. Additional Literature | ||||||||
No. | Author | Title | Publisher | Year | ||||
1 | Thomas H. Cormen, et. al. | Introduction to Algorithms, (2nd Edition) | MIT PRESS | 2001 | ||||
2 | R. Sedgewick | Algorithms in C Parts 1-5: Fundamentals, Data Structures, Sorting, Searching, 3rd Ed | Addison-Wesley Professional | 2001 | ||||
3 |