Introduction to Programming
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.
| Code : | О2018ИОПР |
|---|---|
| Status: | C |
| Semestar: | 3th |
| Number of classes per week: | 4+3 |
| ЕECTS: | 8 |
| Teachers: |
Драгољуб Крнета,
PhD Associate Professor Маријана Драгичевић, Senior Assistant |
| Prerequisites: | Нема условљености |
| Learning Outcomes (gained knowledge): | Ability of students to develop software using the method of functional decomposition and structural programming in a non-objective imperative language. |
| Subject Contents: | 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 and Learning Activities: | Lectures, seminar classes and practical exercises on the computer. |
| Literature: | 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. |
| Types of Assessment for the subject: | 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) |
| Special Remarks for the subject: |