Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Programming 2

Informacje ogólne

Kod przedmiotu: 103A-CTxxx-ISA-EPRO2
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Programming 2
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: (brak) 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.

zobacz reguły punktacji
Język prowadzenia: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

EPRO2

Numer wersji:

1

Skrócony opis:

Wykład ten jest drugim kolejnym przedmiotem poświęconym programowaniu strukturalnemu. Studenci uczą się zasad i paradygmatów programowania w standardzie języka ANSI C i uzyskują praktyczne doświadczenie programistyczne w trakcie zajęć laboratoryjnych. Program kursu obejmuje takie zagadnienia jak: operatory arytmetyczne, bitowe operatory logiczne, instrukcje sterujące, wskaźniki, tablice, struktury i unie, struktury odwołujące się do samych siebie, dynamiczny przydział pamięci, listy dynamiczne, dyrektywy preprocesora, funkcje (włączając funkcje ze zmienną liczbą argumentów), funkcje rekurencyjne, argumenty programu (argumenty funkcji main). Zajęcia mają na celu nauczenie studentów pisania elastycznych i przyjaznych dla użytkownika programów.

Pełny opis: (tylko po angielsku)

The aim of the course is to teach students how to write modular programs in the standard ANSI C language and make them familiar with the C language rules and notions, data structures in C, dynamic lists.
This is the second course on structural programming. Students learn rules and paradigms of the standard ANSI C language and gain practical programming experience during laboratory exercises. Course program covers such topics as: arithmetic operators, bit logical operators, control statements, pointers, arrays, structures and unions, self-referencing structures, dynamic memory reservation, dynamic lists, preprocessor directives, functions (including functions with varying number of arguments), recursive functions, program arguments (main function arguments). Students are trained to be able to effectively use those notions to write flexible and user-friendly codes.



Lecture contents

  1. Preliminaries. Operators and expressions

  2. Control statements

  3. Arrays and pointers

  4. Functions and the program structure

  5. Make program. Data input and output

  6. Structures and unions

  7. Dynamic memory allocation and self-referencing structures

  8. Data files

  9. Bit logical operators

  10. Preprocessor

  11. Parametrization of programs

  12. Recursive functions

  13. Functions with varying number of arguments

  14. Some additional features of C



Laboratory contents
Laboratory exercises are carried out in two phases. In the first phase students are asked to write short sample programs concerning consecutive problems presented at the lectures. Their scope is listed below as topics of exercises {Ex1--Ex6]. In the second phase students are obliged to write a larger program called below project. They are requested to follow a standard path of preparing a programming project. First they are asked to prepare its preliminary documentation and at the end they should deliver not only a program but also its final documentation.

Below is the list of topics covered by consecutive exercises:

  1. Options of the compilation and consolidation. Debugger

  2. Expressions in C language. Logical operators

  3. Pointers, one-dimensional arrays

  4. Multidimensional arrays. Passing addresses as the functions parameters

  5. Make program and multimodule programs

  6. Distribution of the advanced projects.

  7. Structures and unions

  8. Dynamic memory allocation and self-referencing structures

  9. Evaluation of the preliminary documentation of the advanced projects

  10. Realisation of the advanced projects (12h)

  11. Evaluation of the projects and their final documentation

Literatura: (tylko po angielsku)

    Basic literature:

    1. Al. Kelley, Ira Pohl, "A book on C. Programming in C", fourth edition, Addison Wesley Longman Inc., Reading, Massachusetts, 1998.


    Additional reading:

    1. Brian W. Kernighan, Dennis M. Ritchie, "The C Programming Language", Prentice-Hall Inc., Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1988.

    2. Byron Gottfried, "Programming with C", second edition, (Schaum`s series), McGraw-Hill, 1996.

Metody i kryteria oceniania: (tylko po angielsku)

Marks are computed on the basis of the points gathered from laboratory
exercises, 5 short tests and colloquium:

Laboratories 60

Short tests 10

Colloquium 30

Necessary conditions to obtain a positive grade more then 50% of points
from laboratory work (i.e. 31 points), more then 50% of points from
short testes plus colloquium (21pts).

Final marks according to the following scale:

91-100 points - final mark 5

81-90 points - final mark 4,5

71-80 points - final mark 4

61-70 points - final mark 3,5

51-60 points - final mark 3

50 or smaller - final mark 2

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
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-7 (2024-03-18)