Introduction to Programming
Code: О2018ИОПР · 8 ECTS · Department of Computer and Information Sciences
Field of study: ПМФ-ИНИБ: Информационе науке и биоинформатика (развој софтвера)
Course Objectives
Familiarization with key concepts of programming, software development and software engineering. Understanding the principles, rules and methods of programming and software development, as well as basic algorithmic structures and data structures. Coding and testing: practical use of an imperative programming language. Use of software tools and application of basic software metrics.
Prerequisites
Нема условљености
Learning Outcomes
Ability of students to develop software using the method of functional decomposition and structural programming in a non-objective imperative language.
Course Content
Theoretical classes: L01: Programming: concept, general model, language, process. L02: Fundamentals of computer organization and programming using lower programming languages. L03: Higher programming languages and software paradigms; basics of programming language (alphabet, identifiers, types, literals, expressions, operators, commands). L04: Subprograms; structures, unions and fields; declarations. L05: Indicators and dynamic memory management. L06: Construction of structural algorithms. L07: Construction of Data Structures. L08: Program idioms. L09: Program idioms /continuation/ L10: Linear data structures. L11: Linear Data Structures /continuation/ L12: Software Development using algorithmic abstractions and data abstractions. L13: Basics of Software Engineering. Practical classes: E01: Program (software) tools. E02: Lower programming languages: examples. E03: Identifiers, types, literals, expressions, operators, commands. E04: Arrays; pre-processor directives. E05: I/O: flows and files. E06: Programming Techniques. E07: Programming Techniques /continuation/ E08: Programming Idioms. E09: Programming idiom /continuation/ E10: Linear data structures. W11: Linear Data Structures /continuation/ E12: Synthesis: Study Example. E13: Basics of Software Engineering.
Teaching Methods
Lectures, seminar classes and practical exercises on the computer.
Assessment Methods
Colloquium I (0-20 points); Colloquium II (0-20 points); Final exam (0-50 points); Attendance (2point); Class activities (seminar papers, discussions, case studies) (0-8 points)
Textbooks and Other Materials
Knuth, D.E. (1973). The Art of Computer Programming. Vol. I, II; Addison-Wesley.
Dahl, O.J., Dijkstra, E.W., & Hoare, C.A.R. (2003). Structured Programming. Academic Press.
Wirth, N. (1972). Algorithms + Data Structures = Programs. Prentice-Hall, Englewood Cliffs.
Ivetić, D. (2005). Structured approach to programming. Novi Sad: FTN Publishing, Novi Sad.
Kernighan, B.W., & D.M. Ritchie. (2003). Programming Language C, 2nd Edition. Belgrade: CET, Belgrade.
Tondo, C.L.; & Gimpel, S.E. (2004). Programming Language C - solutions to problems, 2nd edition. Belgrade: CET, Belgrade.
Hansen, A. (1991). Programming in the C Language - a complete guide. Belgrade: Mikro knjiga, Belgrade.
Exam Results
| Exam | Date |
|---|---|
| Colloquium II | 04.02.2021. |
| Colloquium I | 17.12.2020. |
Course Materials
No course materials have been uploaded yet.