Programming and Software Engineering
Students are enabled to develop simpler procedural programs in C. Students will be capable to design a simpler algorithm after a given problem definition, to describe it in a procedural programming language, to test it and document. They should be able to locate and correct logical errors.
- explain how computer stores data
- apply basic principles of software design
- design andimplement, test, and debug simple programs
- use arrays, selections, loops and functions
- describe the mechanics of fucntion calls and parameter passing.
- compose computer programs with sequential and direct access binary and text files
- use pointers and memory allocation
Forms of Teaching
15 weeks, which accounts for two weeks for intermediate exams. There are four hours of lectures per week, divided in two terms of two hours (2+2).Exams
There are two exams: intermediate exam and final exam.Laboratory Work
Two to three cycles of laboratory exercises are organised and performed under control of an assistant.
|Type||Threshold||Percent of Grade||Threshold||Percent of Grade|
|Laboratory Exercises||5 %||20 %||5 %||20 %|
|Quizzes||0 %||15 %||0 %||0 %|
|Mid Term Exam: Written||0 %||25 %||0 %|
|Final Exam: Written||15 %||40 %|
|Exam: Written||0 %||80 %|
Week by Week Schedule
- Definition of algorithm. Definition of variable. Variable types. Associative and arithmetic operators. Elementary input and output.
- Compilation of source code. Debugging. Preprocessor statements. Logical operators and expressions.
- Simple selection. Double selection. Multiple selection and case.
- While loop. Until loop.
- For loop. One dimensional array.
- Two dimensional array. Multidimensional arrays.
- Recapitulation of program structures and their presentation in pseudocode.
- Function. Call by value. Pointer.
- Call by reference. Program modules and global variables.
- One dimensional array as function argument. Twodimensional array as function argument.
- Macro statements. Character string. Built-in arithmetic functions. Random numbers.
- Other built-in funcions. Built-in functions on character strings. Proprietary functions on character strings. Bit operators and expressions. Standard input.
- Standard output. Data files and classification. Redirection of input and output. Reading from formatted files.
- Writing into formatted files. Complex data types. Writing into unformatted files. Reading from unformatted files. Direct access files.
- Parameters from command line. Pointer arrays. Dynamic memory allocation. Program documentation. Advanced examples with testing on correctness.