Title:

Introduction to Programming Systems

Code:IZP
Ac.Year:2017/2018
Term:Winter
Curriculums:
ProgrammeBranchYearDuty
IT-BC-3BIT1stCompulsory
Language:Czech
Public info:http://www.fit.vutbr.cz/study/courses/IZP/public/
Credits:7
Completion:accreditation+exam (written)
Type of
instruction:
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Hours:39120207
 ExaminationTestsExercisesLaboratoriesOther
Points:54128026
Guarantee:Kreslíková Jitka, doc. RNDr., CSc., DIFS
Lecturer:Kreslíková Jitka, doc. RNDr., CSc., DIFS
Smrčka Aleš, Ing., Ph.D., DITS
Instructor:Bruckner Tomáš, Ing., DIFS
Češka Milan, RNDr., Ph.D., DITS
Havlena Vojtěch, Ing., DITS
Hruška Martin, Ing., DITS
Husa Jakub, Ing., DCSY
Janků Petr, Ing., DITS
Lojda Jakub, Ing., DCSY
Malík Viktor, Ing., DITS
Matyáš Jiří, Ing., DITS
Očenášek Pavel, Ing., Ph.D., DIFS
Pánek Richard, Ing., DCSY
Rozman Jaroslav, Ing., Ph.D., DITS
Smrčka Aleš, Ing., Ph.D., DITS
Trchalík Roman, Mgr., Ph.D., DIFS
Veigend Petr, Ing., DITS
Wrona Jan, Ing., DCSY
Faculty:Faculty of Information Technology BUT
Department:Department of Information Systems FIT BUT
Follow-ups:
Algorithms (IAL), DIFS
Substitute for:
Algorithms and Programming (APR), DIFS
Schedule:
DayLessonWeekRoomStartEndLect.Gr.St.G.EndG.
Moncomp.lab - Asistent HavlenalecturesN10308:0009:501BIB3333
Moncomp.lab - Asistent VeigendlecturesN10408:0009:501BIB3434
Moncomp.lab - Asistent MalíklecturesN10508:0009:501BIB3535
MonlecturelecturesD10510:0011:501BIA
MonlecturelecturesD020710:0011:501BIA
MonlecturelecturesD10510:0011:502BIAxxxx
MonlecturelecturesD10510:0011:502BIBxxxx
Moncomp.lab - Volné využitílecturesN10310:0013:50
Moncomp.lab - Volné využitílecturesN10410:0013:50
Moncomp.lab - Volné využitílecturesN10510:0013:50
Moncomp.lab - Asistent ČeškalecturesN10314:0015:501BIB3636
Moncomp.lab - Asistent RozmanlecturesN10414:0015:501BIB3737
Moncomp.lab - Asistent VeigendlecturesN10514:0015:501BIB3838
Moncomp.lab - Asistent TrchalíklecturesN10316:0017:501BIB3939
Moncomp.lab - Asistent RozmanlecturesN10416:0017:501BIB4040
Moncomp.lab - Asistent HruškalecturesN10516:0017:501BIB4141
MonlecturelecturesE11217:0017:501BIA
MonlecturelecturesE10417:0017:501BIA
MonlecturelecturesE10517:0017:501BIA
MonlecturelecturesE11217:0017:502BIAxxxx
MonlecturelecturesE11217:0017:502BIBxxxx
Moncomp.lab - Asistent TrchalíklecturesN10318:0019:501BIB3030
Moncomp.lab - Asistent HusalecturesN10418:0019:501BIB3131
Moncomp.lab - Asistent MatyášlecturesN10518:0019:501BIB3232
Tuecomp.lab - Asistent Pánek, (tpl 42)lecturesN10308:0009:501BIBxxxx
Tuecomp.lab - Asistent Havlena, (tpl 43)lecturesN10408:0009:501BIBxxxx
Tuecomp.lab - Asistent Malík, (tpl 44)lecturesN10508:0009:501BIBxxxx
TueexerciselecturesD10510:0010:501BIA1021
TueexerciselecturesD020710:0010:501BIA1021
TueexerciselecturesD10510:0010:502BIAxxxx
TueexerciselecturesD10510:0010:502BIBxxxx
Tuecomp.lab - Asistent PáneklecturesN10311:0012:501BIA1313
Tuecomp.lab - Asistent ČeškalecturesN10411:0012:501BIA1414
Tuecomp.lab - Asistent JankůlecturesN10511:0012:501BIA1515
Tuecomp.lab - Asistent PáneklecturesN10313:0014:501BIA1616
Tuecomp.lab - Asistent JankůlecturesN10413:0014:501BIA1717
Tuecomp.lab - Asistent OčenášeklecturesN10513:0014:501BIA1818
Tuecomp.lab - Asistent HusalecturesN10315:0016:501BIA1919
Tuecomp.lab - Asistent LojdalecturesN10415:0016:501BIA2020
Tuecomp.lab - Asistent OčenášeklecturesN10515:0016:501BIA2121
Tuecomp.lab - Asistent BrucknerlecturesN10317:0018:501BIA1010
Tuecomp.lab - Asistent LojdalecturesN10417:0018:501BIA1111
Tuecomp.lab - Asistent WronalecturesN10517:0018:501BIA1212
Tuecomp.lab - Asistent Bruckner, (tpl 25)lecturesN10319:0020:502BIAxxxx
Tuecomp.lab - Asistent Lojda, (tpl 26)lecturesN10419:0020:502BIBxxxx
Tuecomp.lab - Asistent Wrona, (tpl 45)lecturesN10519:0020:501BIBxxxx
Wedcomp.lab - Asistent Matyáš, (tpl 22)lecturesN10308:0009:501BIAxxxx
Wedcomp.lab - Asistent Hruška, (tpl 23)lecturesN10408:0009:501BIAxxxx
Wedcomp.lab - Asistent Rozman, (tpl 24)lecturesN10508:0009:501BIAxxxx
Wedcomp.lab - Volné využitílecturesN10310:0016:50
Wedcomp.lab - Volné využitílecturesN10410:0019:50
Wedcomp.lab - Volné využitílecturesN10510:0019:50
Wedcomp.lab - Asistent Husa, (tpl 46)lecturesN10317:0018:501BIBxxxx
Wedcomp.lab - Volné využitílecturesN10319:0020:50
Thucomp.lab - Volné využitílecturesN10308:0011:50
Thucomp.lab - Volné využitílecturesN10408:0011:50
Thucomp.lab - Volné využitílecturesN10508:0011:50
ThuSchůzka asistentů IZP2017-09-14C22810:0011:50
ThulecturelecturesD10510:0011:501BIB
ThulecturelecturesD020710:0011:501BIB
ThulecturelecturesD10510:0011:502BIAxxxx
ThulecturelecturesD10510:0011:502BIBxxxx
ThulecturelecturesE11214:0014:501BIB
ThulecturelecturesE10414:0014:501BIB
ThulecturelecturesE10514:0014:501BIB
ThulecturelecturesE11214:0014:502BIAxxxx
ThulecturelecturesE11214:0014:502BIBxxxx
ThuexerciselecturesE11215:0015:501BIB3041
ThuexerciselecturesE10415:0015:501BIB3041
ThuexerciselecturesE10515:0015:501BIB3041
ThuexerciselecturesE11215:0015:502BIAxxxx
ThuexerciselecturesE11215:0015:502BIBxxxx
Thucomp.lab - Asistent ??? - rezervalecturesN10316:0019:50
Thucomp.lab - Asistent ??? - rezervalecturesN10416:0019:50
Thucomp.lab - Asistent ??? - rezervalecturesN10516:0019:50
Fricomp.lab - Asistent ??? - rezervalecturesN10310:0015:50
Friexam - Půlsemestrální test2017-11-10A11216:0017:501BIA
Friexam - Půlsemestrální test2017-11-10A11316:0017:501BIB
Friexam - Půlsemestrální test2017-11-10E10416:0017:502BIA
Friexam - Půlsemestrální test2017-11-10E10516:0017:502BIB
Friexam - Půlsemestrální test2017-11-10E11216:0017:501BIA
Friexam - Půlsemestrální test2017-11-10D10516:0017:501BIB
Friexam - Půlsemestrální test2017-11-10D020616:0017:501BIB
Friexam - Půlsemestrální test2017-11-10D020716:0017:501BIA
Friexam - Půlsemestrální test2017-11-10G20216:0017:501BIA
 
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 computers memory. To make the acquaintance of testing principles of programs. To possess active basic algorithms. To learn how to document, to present, and to defend the reached results.
Description:
  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, types, expressions, control structures, procedures and functions, parameter passing, input/output, exceptional state processing. Basic data structures: simple data types, structured data types: array, record, file, strings. Dynamic data structures, concept of pointers. Strategy for selecting appropriate data structure. Recursion, concept of recursion. Global and local variables. Simple recursive functions (procedures). Modular Design and abstraction. Concepts will be illustrated by using appropriate programming language. (ISO/IEC 9899:1999 Programming languages - C)
Knowledge and skills required for the course:
  This course is placed in the winter term of the first year of the bachelors study programme. Thus, we expect that students have the high school level knowledge of using computers.
Subject specific learning outcomes and competences:
  Student acquaints with the methods of analysing and designing simple computer algorithms. The fundamental concepts of programming languages will be introduced to the student. Student will learn how to write programs in high programming languages and how to understand and use the EBNF to describe programming language syntax. Student will also acquire basic English terminology of programming, syntax, and semantics of programming language. Student will acquainted with testing principles of programs. Student will learn how to document, to present, and to defend the reached results.
Generic learning outcomes and competences:
  Student will learn the computer-aided solving of simple problems by elaborating projects. Student will learn to create the program documentation and defend the results of project solving.
Syllabus of lectures:
 
  1. Introduction to the arrangement of studying. Structure and goals of classes. Properties of algorithms, notations for describing algorithms.
  2. Problem solving techniques. Design and implementation of algorithms.
  3. Principles of high level programming languages. Symbols and separators, constants, identifiers, variables, numbers repesentation, labels.
  4. The concept of data. Simple data types. Expressions and statements.
  5. Control structures. Blocks, scope, and activation.
  6. Functions, parameters of functions.
  7. Programs debugging.
  8. Text files, standard input and output.
  9. Structured data types.
  10. Recursion in programming.
  11. Pointer types and dynamic variables. Linked structures.
  12. Advanced programs debugging, verification, validation and documentation of source code.
  13. Modular construction of program.
Syllabus of numerical exercises:
 
Demonstration lessons:
  1. The elementary program development tools
  2. Programs compilation and running
  3. Simple programs in C language
  4. Data types, data types casting
  5. Control structures
  6. Functions, working with strings
  7. Basic debugging methods, debugging and profiling tools
  8. Programs input and output
  9. Recursion
  10. Working with memory
  11. Source code documentation, testing basics
  12. Modular programming, basics of plug-ins

 

Syllabus of computer exercises:
 
  1. Operating instructions, log in intranet, registration at laboratory, email instruction, news groups IZP, Unix for beginner, Dev C++ environment.
  2. Next seminars correspond to the content of individual lectures and demonstrate the presented topics. Defences of 3 projects. Computer practises contents: Making of programs, functions. Controll structures, strings and stdio. Pointer type, storage allocation. File operations. Recurzive problems solving. Matrix operations.
Syllabus - others, projects and individual work of students:
 
  1. Basic program construction in C language.
  2. Recurrence problem solving.
  3. Computations with matrixes.
  4. Project source code documentation.
Fundamental literature:
 
  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5. 
  • The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
  • Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9.
  • Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937. 
  • Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
  • Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001.
Study literature:
 
  • McConnell, S.: Code Complete, Microsoft Press, 2004, ISBN 0735619670.
  • Kernighan, B. W.: The Practice of Programming, ADDISON-WESLEY, 2003, ISBN 020161586X.
  • Teaching materials available on WWW.
Controlled instruction:
  
  • Realisation and delivery of 3 home assignments.
  • Demonstration of home assignments during computer practises.
  • 10 computer practices.
  • Delivered and controlled the source code documentation of one project.
  • Mid-term written test.
  • Final written examination.
Progress assessment:
  
  • Evaluated home assignments with the defence - 26 points.
  • Computer practices - 8 points.
  • Mid-term written examination - 12 points.
  • Final written examination - 54 points.
Exam prerequisites:
  
  • Student has to get at least 20 of the points from the projects, practise and mid-term test for receiving the credit and then for entering the final exam.
  • Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action can be initiated.