Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Programming Fundamentals

Informacje ogólne

Kod przedmiotu: 103A-CTxxx-ISA-EPFU
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programming Fundamentals
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Algorithms and Programming )-Computer Science, Telecommunications-B.Sc.-EITI
( Courses in English )--eng.-EITI
( Przedmioty techniczne )---EITI
( Technical Courses )--eng.-EITI
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

EPFU

Numer wersji:

1

Skrócony opis:

Wykład przedstawia podstawy programowania strukturalnego w języku ANSI C i zaznajamia studentów z elementami składni niezbędnymi do tworzenia aplikacji konsolowych. W skład wykładu wchodzi omówienie ogólnej struktury programu w C, typy i zmienne, arytmetyka, instrukcje warunkowe i pętle, typy zaawansowane, użycie pointerów. Temat o bibliotekach standardowych i plikach nagłówkowych pozwala na korzystanie z bibliotek i podejmowania bardziej złożonych projektów. Elementarna wiedza o zarządzaniu pamięcią i operacjach wejścia/wyjścia pozwala na tworzenie efektywnych programów. Końcowa część materiału jest poświęcona architekturze i strategiom testowania.

Pełny opis: (tylko po angielsku)

The lecture presents the fundamentals of structured programming in ANSI C language and makes students familiar with syntax elements necessary to design console applications. The course include general structure of C programs, types and variables, arithmetic, conditional statements and loops, advanced types, usage of pointers. Standard libraries and header files allow to use libraries and undertake more complicated projects. Elementary knowledge on memory management and I/O operations helps to create efficient programs. Concluding part of material is dedicated to software architecture design and testing strategies.

Lecture contents

  1. Introduction (2h): General information about programming
    problems. C among other programming languages.

  2. Basic and formatted input/output (2h): The basic data types,
    declaring variables, function scanf() and printf, character strings,
    #define directive.

  3. Arithmetic (2h): Operators, expressions, and statements.

  4. Flow control: loops (2h): for, while, do while keywords,
    operators to construct expressions to control loops, arrays (a first
    look), functions returning values

  5. Flow control: branching and jumps (2h): keywords if, else,
    switch, continue, break, case, default, goto, functions getchar() and
    putchar(), nesting conditional statements, character analysis functions
    library ctype.h.

  6. Validation of character input/output (2h): getchar() and
    putchar() in details, buffers, terminating the keyboard input,
    redirection and files, input validation.

  7. Functions (2h): Review, ANSI C prototyping, recursion, the
    operator, altering variables in the calling function, a first approach
    to pointers.

  8. Arrays and pointers (2h): Arrays and multidimensional arrays,
    pointers, pointer operations, protecting array contents, VLAs, compound
    literals.

  9. Character strings (2h): Strings representation and string
    functions, creating and using strings, using command line arguments

  10. Storage classes, linkage, and memory management (2h): Keywords
    auto, extern, static, register, const, volatile, restricted; functions
    rand(), srand(), time(), malloc(), calloc(), free(). Designing more
    complex programs.

  11. File input/output (2h): Text modes and binary modes and formats.
    Buffered and non-buffered input/output. Sequential and random access.

  12. Structures and various data forms (2h): Keywords struct, union,
    typedef; accessing the members of structures, nesting structures.

  13. Operations on bits (2h): bitwise operators and bit fields.

  14. The C preprocesors, macros (2h): Preprocessor directives,
    function-like macros, conditional compilation, inline functions, C
    libraries, ADTs.

  15. SLC, Testing and summary (2h): Comments on Software Life Cycle,
    Testing strategies for software development, summary.


Tutorial contents
Set of exercises following and illustrating lecture materials.

Laboratory contents
The laboratory consists of five simple tasks

  1. Basic communication with the console.

  2. Variables, linear statements.

  3. Conditional statements and loops.

  4. Arrays and records.

  5. Pointers.

Literatura: (tylko po angielsku)

    1. M. A. Vine, C Programming for the Absolute Beginner, Course
      Technology CENGAGE learning.

    2. B. Kernighan, D. Ritchie, The C Programming Language. Also known
      as K&R ? The original book on C, 2nd, Prentice Hall 1988, ISBN
      0-13-110362-8.

    3. ANSI C. ISO/IEC 9899.

Metody i kryteria oceniania: (tylko po angielsku)

General knowledge specially from lectures is checked during final test
and gives maximum 40 points. During the tutorial exercises it is
possible to score up to 30 points.

Laboratory gives maximum 30 points.

The final result is based on the following pattern:

5.0: 91-100 points

4.5: 81-90 points

4.0: 71-80 points

3.5: 61-70 points

3.0: 51-60 points

2.0: 0 -50 points

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy"

Okres: 2023-10-01 - 2024-02-18

Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta, Piotr Pałka
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Sebastian Plamowski, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta, Piotr Pałka
Prowadzący grup: Mariusz Kaleta, Andrzej Mazurak, Piotr Pałka, Sebastian Plamowski, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta, Piotr Pałka
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński, Izabela Żółtowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. letni" (zakończony)

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2019/2020 - sem. zimowy" (zakończony)

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta, Piotr Pałka
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński, Izabela Żółtowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. letni" (zakończony)

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2018/2019 - sem. zimowy" (zakończony)

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 105 miejsc więcej informacji
Laboratorium, 15 godzin, 105 miejsc więcej informacji
Wykład, 30 godzin, 105 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta, Piotr Pałka
Prowadzący grup: Mariusz Kaleta, Krzysztof Madziar, Andrzej Mazurak, Piotr Pałka, Tomasz Śliwiński, Piotr Witoński, Izabela Żółtowska
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. letni" (zakończony)

Okres: 2018-02-19 - 2018-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta, Piotr Pałka, Piotr Witoński
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2017/2018 - sem. zimowy" (zakończony)

Okres: 2017-10-01 - 2018-02-18
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 100 miejsc więcej informacji
Laboratorium, 15 godzin, 100 miejsc więcej informacji
Wykład, 30 godzin, 100 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. letni" (zakończony)

Okres: 2017-02-20 - 2017-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 35 miejsc więcej informacji
Laboratorium, 15 godzin, 35 miejsc więcej informacji
Wykład, 30 godzin, 35 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2016/2017 - sem. zimowy" (zakończony)

Okres: 2016-10-01 - 2017-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 71 miejsc więcej informacji
Laboratorium, 15 godzin, 71 miejsc więcej informacji
Wykład, 30 godzin, 71 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. letni" (zakończony)

Okres: 2016-02-23 - 2016-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 30 miejsc więcej informacji
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2015/2016 - sem. zimowy" (zakończony)

Okres: 2015-10-01 - 2016-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. letni" (zakończony)

Okres: 2015-02-23 - 2015-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 33 miejsc więcej informacji
Laboratorium, 15 godzin, 33 miejsc więcej informacji
Wykład, 30 godzin, 33 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2014/2015 - sem. zimowy" (zakończony)

Okres: 2014-09-29 - 2015-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 45 miejsc więcej informacji
Laboratorium, 15 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. letni" (zakończony)

Okres: 2014-02-24 - 2014-09-28
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 30 miejsc więcej informacji
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2013/2014 - sem. zimowy" (zakończony)

Okres: 2013-10-01 - 2014-02-23
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 45 miejsc więcej informacji
Laboratorium, 15 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2012/2013 - sem. letni" (zakończony)

Okres: 2013-02-20 - 2013-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 30 miejsc więcej informacji
Laboratorium, 15 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Zajęcia w cyklu "rok akademicki 2012/2013 - sem. zimowy" (zakończony)

Okres: 2012-10-01 - 2013-02-19
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć:
Ćwiczenia, 15 godzin, 45 miejsc więcej informacji
Laboratorium, 15 godzin, 45 miejsc więcej informacji
Wykład, 30 godzin, 45 miejsc więcej informacji
Koordynatorzy: Mariusz Kaleta
Prowadzący grup: Mariusz Kaleta
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103100 - Instytut Automatyki i Informatyki Stosowanej

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-2 (2023-09-25)