Course detail

Computers and Programming 1

FEKT-BPC-PC1TAcad. year: 2020/2021

In this course, students learn about computer network solutions and the potentials of university and faculty networks. Part of the course is to introduce the basics of operating systems, their services, and file systems. The course focuses on practical skills of algorithm development and programming in the C language according to the ANSI standard, to the level of preparation of customized functions and their use.

Language of instruction

Czech

Number of ECTS credits

5

Mode of study

Not applicable.

Learning outcomes of the course unit

Students will be able to:
- use the University Information System and the Moodle learning system
- configure an e-mail client
- connect a device to the BUT Wi-Fi network,
- control the development environment Microsoft Visual Studio,
- program basic tasks in the C language according to the ANSI standard, compile program and use proper functions
- debug programs in the C language and look for errors,
- design the structure of the program.

Prerequisites

The subject knowledge on the secondary school level is required.

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Techning methods include lectures and computer laboratories. Course is taking advantage of e-learning (Moodle) system. Students have to write a single project during the course.

Assesment methods and criteria linked to learning outcomes

Requirements for successful course completion are specified by the guarantor’s regulation updated for every academic year.

Course curriculum

1. Faculty computer network, faculty UNIX server, E-mail, Wi-Fi
2. Properties of algorithms, notations algorithms
3. Design and implementation of algorithms. Introduction to the development environment MS Visual Studio 2017
4. Principles of high level programming languages. Basic building blocks of program
5. Simple data types in C. One-dimensional and multi-dimensional arrays of variables. Expressions and statements
6. Pointer type
7. Functions, function parameters in the C language. Passing values by reference, passing by value
8. Management structure. The block structure of program, the scope of validity of identifiers
9. Structured data types. Enums
10. Text files, standard input/output. Interaction of the program with the user
11. Dynamic variables. Linked structures
12. Numerical methods in programming. Recursion. Sorting algorithms.
13. Consultation on self-contained projects.

Work placements

Not applicable.

Aims

To acquaint students with the basics of computer networks, the architecture of a university and faculty network inclusive of services, and operating systems such as Windows and Unix and their services, and file systems. To acquaint students with the basics of programming and algorithmization, using the ANSI C language and development tool Visual Studio.

Specification of controlled education, way of implementation and compensation for absences

Extent and forms are specified by guarantor’s regulation updated for every academic year.

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

KERNIGHAN, Brian W. a Dennis M. RITCHIE. Programovací jazyk C. Brno: Computer Press, 2006. ISBN 80-251-0897-X. (CS)
Lasser, J. Rozumíme Unixu. Computer Press, 2002. ISBN: 80-7226-706-X (CS)
Prokop, J. Algoritmy v jazyku C a C++. Praha: Grada Publishing, 2008 (CS)
RAIDA, Zbyněk, Irena HLAVIČKOVÁ a Michal POKORNÝ. Počítače a programování 2: přednášky. Vyd. 2., přeprac. V Brně: Vysoké učení technické, Fakulta elektrotechniky a komunikačních technologií, Ústav radioelektroniky, 2007. ISBN 978-80-214-3536-0. (CS)
VIRIUS, Miroslav. Jazyky C a C++: kompletní průvodce. 2., aktualiz. vyd. Praha: Grada, 2011. Knihovna programátora (Grada). ISBN 978-80-247-3917-5. (CS)

Recommended reading

PROKOP, Jiří. Algoritmy v jazyku C a C++. 3., aktualizované a rozšířené vydání. Praha: Grada, 2015. Průvodce (Grada). ISBN 978-80-247-5467-3. (CS)

Elearning

Classification of course in study plans

  • Programme BPC-AUD Bachelor's

    specialization AUDB-TECH , 1 year of study, winter semester, compulsory
    specialization AUDB-ZVUK , 1 year of study, winter semester, compulsory

  • Programme BPC-IBE Bachelor's 1 year of study, winter semester, compulsory
  • Programme BPC-TLI Bachelor's 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

26 hod., optionally

Teacher / Lecturer

Syllabus

1. Faculty computer network, faculty UNIX server, E-mail, Wi-Fi.
2. Properties of algorithms, notations algorithms.
3. Design and implementation of algorithms. Introduction to the development environment MS Visual Studio 2017.
4. Principles of high level programming languages. Basic building blocks of program.
5. Simple data types in C. One-dimensional and multi-dimensional arrays of variables. Expressions and statements.
6. Pointer type.
7. Functions, function parameters in the C language. Passing values by reference, passing by value.
8. Management structure. The block structure of program, the scope of validity of identifiers.
9. Structured data types. Enums.
10. Text files, standard input/output. Interaction of the program with the user.
11. Dynamic variables. Linked structures.
12. Numerical methods in programming. Recursion. Sorting algorithms.
13. Consultation on self-contained projects.

Exercise in computer lab

26 hod., compulsory

Teacher / Lecturer

Syllabus

1. Introductory lesson, familiarization with the workplace, checking for logging on to the computer network.
2. Faculty computer network, faculty UNIX server, E-mail.
3. Notations algorithms. Flowcharts.
4. Introduction to the development environment MS Visual Studio 2017. Console application.
5. Console application: Basic building blocks of program. Conditions.
6. Console application: Simple data types in C. One-dimensional arrays of variables. Expressions and statements.
7. Console application: Pointer type. Working with strings.
8. Console application: Functions, function parameters in the C language.
9. Console application: Passing values by reference, passing by value.
10. Console application: Structured data types. Enums.
11. Console application: Text files, standard input/output.
12. Console application: Dynamic variables. Linked structures. Interaction of the program with the user.
13. Credit test.

Elearning