Title:

# Algorithms and Programming

Code:APR
Ac.Year:ukončen 2004/2005 (Not opened)
Term:Summer
Curriculums:
ProgrammeFieldYearDuty
EI-BC-3VTB1st Stage/1st YearCompulsory
EI-MSC-5VTI1st Stage/1st YearCompulsory
Language of Instruction:Czech
Public info:http://www.fit.vutbr.cz/study/courses/APR/public/
Private info:http://www.fit.vutbr.cz/study/courses/APR/private/
Credits:5
Completion:examination (written)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:3900260
ExaminationTestsExercisesLaboratoriesOther
Points:45150040
Guarantor:Kreslíková Jitka, doc. RNDr., CSc., DIFS
Lecturer:Kreslíková Jitka, doc. RNDr., CSc., DIFS
Instructor:Kreslíková Jitka, doc. RNDr., CSc., DIFS
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
Prerequisites:
 Programming and Usage of Computers 1 (IPU), DITS
Follow-ups:
 Algorithms and Data Structures (ADS), DIFS
Substitute for:
 Introduction to Programming Systems (IZP), DIFS

Learning objectives:
The aim of the course is to acquaint students with principles of algorithms, evaluation of a complexity, algorithms prove, to familiarise with control and data structures of programming languages, and abstract data types.
Description:
A basic course on programming in Pascal: Definition and description of the Pascal syntax and semantics. Delphi Pascal: modular programming. Algorithms and data structures, introduction. Control and data structures of programming languages. Problem of an analysis and specification. Algorithm development. Program coding. Program execution and testing. Algorithms classification, illustrative examples. Syntax and semantic specification, abstract data types (ADT). Basic ADT and their static implementation. Basic algorithms types for ordering, searching, numeric calculations, etc. Program debugging and documentation.
Learning outcomes and competences:
Upon successful completion of the course, students will be able to program in a high level program language like the Pascal: students will be able to use a computer language as a formal way of expressing ideas; students will be able to use a recursion as an algorithm development technique; students will be able to use beneficially programming concepts like an abstraction and modularity to handle complexity of large programs.
Syllabus of lectures:

1. A basic course on programming in the Pascal: data types
2. A basic course on programming in the Pascal: control structures
3. A basic course on programming in the Pascal: statements
4. Definition and description of the Pascal syntax and semantics, EBNF
5. Modular programming, program debugging, documentation
6. Algorithms and data structures, introduction
7. Control and data structures of programming languages
8. Complexity and computability of algorithms
9. Algorithms proving and programs verification
10. Algorithms classification, illustrative examples
11. Syntactic and semantic specifications of abstract data types (ADT)
12. ADT principles and static implementation
13. Basic algorithms types for ordering, searching, numeric calculations, etc.
Syllabus of computer exercises:

1. Turbo Pascal, basic information
2. Editing of programs, program structure, help
3. Tools for debugging
4. Standard libraries, simple programs in Turbo Pascal language
5. Tutorial on home assignment (1st project)
6. Defence of a home assignment (1st project)
7. Tutorial on home assignment (2nd project)
8. Defence of a home assignment (2nd project)
9. Tutorial on home assignment (3th project)
10. Defence of a home assignment (3th project)
11. Tutorial on home assignment (4th project)
12. Defence of a home assignment (4th project)
Fundamental literature:

1. Wirth, N., Jensen, K.: Pascal User manual and report, ISO Pascal Standard, Springer-Verlag, 1991
Study literature:

1. Teaching materials available on WWW
2. Koffman, B.: Turbo Pascal, 5th Edition Update, Addison-Wesley Longman, Inc., 1998
Controlled instruction:
Realisation of 4 home assignments, demonstration of home assignments during lab-experiments, delivered and checked documentation of 3 home assignments. Mid-term written test. Final written examination.
Progress assessment:
Evaluated home assignments with the defence (40 points). Mid-term written examination (15 points). Final written examination (45 points).