Introduction to Programming Systems

Language of Instruction:Czech, English
Public info:http://www.fit.vutbr.cz/study/courses/IZP/public/
Completion:examination (written)
Type of
Guarantor:Kreslíková Jitka, doc. RNDr., CSc. (DIFS)
Lecturer:Hrubý Martin, Ing., Ph.D. (DITS)
Kreslíková Jitka, doc. RNDr., CSc. (DIFS)
Martinek David, Ing. (DIFS)
Instructor:Bartík Vladimír, Ing., Ph.D. (DIFS)
Bednář David, Ing. (DIFS)
Bidlo Radek, Ing. (DIFS)
Martinek David, Ing. (DIFS)
Novosad Petr, Ing. (DITS)
Smrčka Aleš, Ing., Ph.D. (DITS)
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
Algorithms (IAL), DIFS
Substitute for:
Algorithms and Programming (APR), DIFS
Learning objectives:
  To grasp an analysis of problems and to determine basic algorithms for their solving. To acquaint oneself with principles and features of high programming language and to possess them for implementing of algorithms. To learn how to use tools for program debugging. To get basic knowledge of data representation in memory. To make the acquaintance of evaluate algorithm complexity. To make the acquaintance of testing principles of programs. To possess active basic algorithms. To learn how to document, present and defend the reached results.
  Algorithms and problem solving: strategy of problem solving, structured decomposition, concept and features of algorithm. Basic programming construction: syntax and semantics of high programming language, variables, type, assignment, control structures, procedure and functions, parameter passing, input/output, exceptional state processing. Basic data structure: simple data types, structured data typed: array, record, file, strings. Dynamic data structures, concept of pointers. Strategy for selecting appropriate data structure. Recursion, concept of recursion. Global and local variables. Simply recursion procedures. Modular Design and abstraction. Concepts will be illustrated by using appropriate programming language. (ISO/IEC 9899: Programming languages - C)
Subject specific learning outcomes and competencies:
  Student acquaints with the methods of analysing and designing simple computer algorithms. Student will introduced to the fundamental concepts of programming languages. Student gets up how to write programs in high programming languages. Student gets up how to use EBNF to describe programming language syntax. Student acquires basic English terminology of programming , syntax, and semantics of programming language.
Generic learning outcomes and competencies:
  Student will learn to solve simple problems by computer aided. Student will learn to create the program documentation and defend the results of project solving.
Syllabus of lectures:
  • Properties of algorithms, notations for describing algorithms.
  • Problem solving techniques. Design and implementation of algorithms
  • Principles of high level programming languages. Symbols and separators, constants, identifiers, variables, numbers repesentation, labels.
  • The concept of data. Simple data types. Expression and statements.
  • Control structures. Blocks, scope and activation.
  • Functions, parameters of functions.
  • Text file standard input and output.
  • Structured data types.  
  • Recursion.
  • Pointer types and dynamic variables. Linked structures.
  • Sorting.
  • Searching.
  • Program verification, debugging, documentation.
Syllabus of computer exercises:
 Demonstration lessons: 
  • Development of C programs in MS Windows and Linux. Getting started. Editing programs. Program structure. Help. Tools for debugging.
  • Simple programs in C, processing of command line parameters. Standard I/O.
  • Analyze, design of the 2nd project. Illustration of documentation.
  • Working with arrays and files.
  • Standard libraries. Simple programs in C language developed with Dev-C++tool.
  • Pointers, processing dynamically allocated data structures.
Fundamental literature:
  • Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001 
Study literature:
  • Teaching materials available on WWW
  • Kernighan, B. W.: The Practice of Programming, Addison-Wesley, 2003, ISBN 020161586X
Controlled instruction:
  • Realisation of 4 home assignments
  • Demonstration of home assignments during lab experiments
  • Delivered and controlled documentation of 2 home assignments
  • Mid-term written test
  • Final written examination.

Mid-term exam has not alternative. Final exam has two additional alternatives.

Progress assessment:
  Evaluated home assignments with the defence: 35 points. Mid-term written examination: 15 points. Final written examination: 50 points.

Your IPv4 address:
Switch to https