Programming Methodologies
Code | Completion | Credits | Range |
---|---|---|---|
33MEP | Z,ZK | 4 | 2+2s |
- Lecturer:
- Tutor:
- Supervisor:
- Department of Cybernetics
- Synopsis:
-
Overview of selected programming techniques is given: theory of complexity,
search and sort algorithms, data structures, metadata and XML, parallel
processes, their management and co-operation in OS, resource sharing in the
operating system context, basic concepts of structural and object-oriented
analysis and programming, software system architectures, management of
complex software systems' development. Special attention is paid to the
object-oriented system analysis needed for large software applications.
- Requirements:
-
Active participation in labs, elaboration of practical part.
- Syllabus of lectures:
-
1. Introduction, history, and overview of programming techniques
2. Elements of the theory of complexity
3. Recursive programming, recursive and reentrant modules
4. Data structures, implementation and memory management
5. Metadata and XML - basic concepts a guidelines
6. Search and sort algorithms and their complexity. Indirect searching,
hashing and indexing
7. Parallel/pseudoparallel processes, their co-operation, synchronization
and resource sharing. Parallel programming
8. Basics of software engineering, software „physics“
9. Software requirements specification, types of specifications
10. Basics of structured system analysis
11. Basics of object-oriented analysis and development
12. Architecture of software applications, distributed and multiagent
systems
13. Decomposition of huge software applications
14. Management of complex software projects
- Syllabus of tutorials:
-
1. Introduction to the tasks solved in work groups
2. Submission of the first problem domain tasks (searching and sorting
tasks)
3. Individual task solving (1)
4. Individual task solving (2)
5. Presentation and defend of results
6. Submission of the second problem domain tasks (parallel programming
tasks)
7. Individual task solving (1)
8. Individual task solving (2)
9. Presentation and defend of results
10. Submission of the third problem domain tasks (system analysis tasks)
11. Individual task solving (1)
12. Individual task solving (2)
13. Presentation and defend of results
14. Demonstration of distributed multiagent system
- Study Objective:
- Study materials:
-
[1] Wirth, N.: Algorithm + Data Structures = Program. New Jersey:
Prentice-Hall, 1975
[2] Louden, Kenneth, C.: Programming Languages. Principles and Practice.
Massachusetts: PWS-Kent, 1993
[3] Jalote, Pankaj: An Integrated Approach to Software Engineering. New
York, Springer-Verlag, 1997
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Technická kybernetika-inženýrský blok (compulsory course)
- Biomedicínské inženýrství - inženýrský blok (compulsory course)
- Biomedicínské inženýrství - inženýrský blok (compulsory course)
- Technická kybernetika-inženýrský blok (compulsory course)