1 OPISY KURSÓW • Kod kursu: MCD2101 • Nazwa kursu

Transkrypt

1 OPISY KURSÓW • Kod kursu: MCD2101 • Nazwa kursu
OPISY KURSÓW

Kod kursu: MCD2101

Nazwa kursu: Podstawy informatyki

Język wykładowy: polski
Forma kursu
Tygodniowa
liczba godzin
ZZU *
Semestralna
liczba godzin
ZZU*
Forma
zaliczenia
Punkty ECTS
Liczba godzin
CNPS
Wykład
Ćwiczenia
2
Laboratorium
2
30
30
ocena
ocena
1
1

Poziom kursu (podstawowy/zaawansowany):

Wymagania wstępne:
Projekt
Seminarium
Technologie informacyjne

Imię, nazwisko i tytuł/ stopień prowadzącego:
Dr inż. Krzysztof Urbański

Imiona i nazwiska oraz tytuły/stopnie członków zespołu dydaktycznego:
Dr inż. Krzysztof Urbański
Dr inż. Artur Wymysłowski

Rok: ............ Semestr:........................

Typ kursu (obowiązkowy/wybieralny):

Cele zajęć (efekty kształcenia):
Zdobycie wiedzy o językach C, C++. Umiejętność tworzenia podstawowych
algorytmów w językach wysokiego poziomu oraz w postaci schematów blokowych.
Programowanie proceduralne oraz wprowadzenie do programowania zorientowanego
obiektowo. Posługiwanie się technikami programistycznymi zapewniającymi
przenośność danych i kodu między różnymi systemami i urządzeniami.

Forma nauczania (tradycyjna/zdalna):

Krótki opis zawartości całego kursu:
Kurs ma za zadanie zapoznać studentów kierunku “elektronika i telekomunikacja” z
praktycznymi zastosowaniami języków wysokiego poziomu, w szczególności C.
Docelowym środowiskiem są zarówno komputery osobiste klasy PC, jak i
mikrokontrolery jednoukładowe. W trakcie realizacji kursu przedstawione zostaną
metody projektowania i implementacji popularnych algorytmów.
1

Wykład (podać z dokładnością do 2 godzin):
Zawartość tematyczna poszczególnych godzin wykładowych
1. Tworzenie projektów w wybranych IDE. Współpraca aplikacji z
systemem operacyjnym i stdio. Zasada działania kompilatora,
programu konsolidującego (linker). Śledzenie krokowe (debugger).
2. Struktura projektu w C: moduły i pliki nagłówkowe
3. Obsługa standardowego wejścia/wyjścia w języku C/C++.
Formatowanie danych. Przetwarzanie potokowe. Techniki
programowania zabezpieczające program przed błędami typu
przepełnienie bufora i nieoczekiwany format danych.
4. Reprezentacja liczb całkowitych w języku C/C++. Podstawowe typy
danych. Przenośność danych na poziomie bitowym między różnymi
architekturami.
5. Liczby i obliczenia zmiennoprzecinkowe. Skończona dokładność
obliczeń i problemy z tym związane.
6. Ciągi znaków w języku C. Tablice i wskaźniki. Systemy kodowania
znaków – strony kodowe. Rozszerzony zestaw znaków UNICODE a
język C.
7. Funkcje. Przeciążanie. Przekazywanie argumentów przez wartość,
wskaźnik, referencję.
8. Algorytmy rekurencyjne na przykładzie grafiki żółwia. Algorytmy
rekurencyjne a iteracyjne.
9. Rozgałęzienia. Instrukcje warunkowe if, switch, case.
10. Pętle do, while, for. Optymalizacja kodu pod względem czasu
wykonania lub zajętości pamięci. Funkcje inline.
11. Struktury, unie, organizacja pól struktur w pamięci.
12. Obsługa plików tekstowych i binarnych. Przenośność danych (także
tekstowych) między różnymi systemami, pojęcie serializacji
13. Dynamiczna alokacja pamięci. wskaźniki, tablice, sterta i
bezpieczeństwo. Dynamiczne struktury danych: stos, listy, drzewa.
14. Przetwarzanie danych: algorytmy sortowania. Zastosowanie
wskaźników funkcyjnych. Złożoność algorytmu.
15. Podsumowanie i kolokwium zaliczeniowe

Liczba godzin
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Laboratorium – zawartość tematyczna:
Praktyczna realizacja zadań o tematyce poruszanej na wykładzie, tj. programowanie w
języku C (częściowo także C++) w środowisku Windows lub Linuks, 1-2 ćwiczenia
także w środowisku zintegrowanym
dla wybranego mikrokontrolera
jednoukładowego.


Literatura podstawowa:
1. Kerningham B. W., Ritchie D. M., Język ANSI C, Warszawa, WNT, 2001
2. Kuczmarski, Karol, Kurs C++, http://avocado.risp.pl (GNU license)
3. Bartlet,
Jonathan,
Programming
from
the
Ground
http://www.bartlettpublishing.com/ (GNU license)
Up,
Warunki zaliczenia: kolokwium (wykład)
* – w zależności od systemu studiów
2

Podobne dokumenty