Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Podstawy informatyki
Tok studiów:
2018/2019
Kod:
JIS-1-105-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
1
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
dr inż. Krupińska Grażyna (grazyna@fis.agh.edu.pl)
Osoby prowadzące:
dr inż. Krupińska Grażyna (grazyna@fis.agh.edu.pl)
dr inż. Strzałka Elżbieta (Elzbieta.Strzalka@fis.agh.edu.pl)
Krótka charakterystyka modułu

Podstawy algorytmiki, reprezentacja liczb w systemach komputerowych, podstawy architektury komputerów oraz systemów operacyjnych. Wstęp do programowania w języku C.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student zna i rozumie podstawowe* pojęcia i terminologię używaną w informatyce - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu IS1A_W03, IS1A_W02 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie ćwiczeń laboratoryjnych
M_W002 Student zna i rozumie podstawowe* pojęcia i metody obliczania reprezentacji liczb w różnych systemach pozycyjnych. - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu IS1A_W02 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie ćwiczeń laboratoryjnych
M_W003 Student zna i rozumie podstawowe* pojęcia z zakresu architektury komputerów, systemów operacyjnych, struktur danych oraz algorytmiki - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu IS1A_W03, IS1A_W02 Aktywność na zajęciach,
Udział w dyskusji,
Wykonanie ćwiczeń laboratoryjnych
M_W004 Student zna i rozumie zasady tworzenia oprogramowania z wykorzystaniem proceduralnego języka C. IS1A_W03, IS1A_W02 Aktywność na zajęciach
Umiejętności
M_U001 Student potrafi pisać proste programy w pseudokodzie IS1A_U03, IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Aktywność na zajęciach
M_U002 Student potrafi stworzyć model maszyny Turinga rozwiązujący prosty problem algorytmiczny IS1A_U03, IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Aktywność na zajęciach
M_U003 Student potrafi stworzyć prosty algorytm wykorzystujący odpowiednie struktury danych i zapisać go za pomocą schematu blokowego IS1A_U03, IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Wykonanie ćwiczeń
M_U004 Student potrafi tworzyć zmienne proste IS1A_U06, IS1A_U04 Wykonanie ćwiczeń,
Udział w dyskusji,
Kolokwium,
Aktywność na zajęciach
M_U005 Student potrafi przeliczać liczby zapisane w różnych systemach liczbowych IS1A_U03, IS1A_U06, IS1A_U05, IS1A_U01, IS1A_U04 Wykonanie ćwiczeń
M_U006 Student potrafi rozwiązać prosty problem programistyczny korzystając z instrukcji języka C IS1A_U06, IS1A_U04 Wykonanie ćwiczeń,
Kolokwium,
Aktywność na zajęciach
Kompetencje społeczne
M_K001 Student potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności, niezbędne do realizacji jego zadania. IS1A_K01 Wykonanie ćwiczeń laboratoryjnych
M_K002 Student potrafi w sposób przejrzysty zaprezentować rozwiązanie problemu programistycznego IS1A_K01 Wykonanie ćwiczeń,
Udział w dyskusji,
Aktywność na zajęciach
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student zna i rozumie podstawowe* pojęcia i terminologię używaną w informatyce - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu + - - - - - - - - - -
M_W002 Student zna i rozumie podstawowe* pojęcia i metody obliczania reprezentacji liczb w różnych systemach pozycyjnych. - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu + - - - - - - - - - -
M_W003 Student zna i rozumie podstawowe* pojęcia z zakresu architektury komputerów, systemów operacyjnych, struktur danych oraz algorytmiki - pod pojęciem "podstawowe" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu + - - - - - - - - - -
M_W004 Student zna i rozumie zasady tworzenia oprogramowania z wykorzystaniem proceduralnego języka C. + - + - - - - - - - -
Umiejętności
M_U001 Student potrafi pisać proste programy w pseudokodzie - + - - - - - - - - -
M_U002 Student potrafi stworzyć model maszyny Turinga rozwiązujący prosty problem algorytmiczny - + - - - - - - - - -
M_U003 Student potrafi stworzyć prosty algorytm wykorzystujący odpowiednie struktury danych i zapisać go za pomocą schematu blokowego - + - - - - - - - - -
M_U004 Student potrafi tworzyć zmienne proste - - + - - - - - - - -
M_U005 Student potrafi przeliczać liczby zapisane w różnych systemach liczbowych - + - - - - - - - - -
M_U006 Student potrafi rozwiązać prosty problem programistyczny korzystając z instrukcji języka C - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student potrafi samodzielnie zdobyć odpowiednią wiedzę i umiejętności, niezbędne do realizacji jego zadania. - + - - - - - - - - -
M_K002 Student potrafi w sposób przejrzysty zaprezentować rozwiązanie problemu programistycznego - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

1.Historia rozwoju informatyki i główne kierunki jej rozwoju.
Rozwój nauk informatycznych. Zasady tworzenia systemów informatycznych . Główne kierunki rozwoju informatyki.

2. Reprezentacja liczb w systemach komputerowych.
Algebry Boole’a. Systemy pozycyjne. Zapis oraz arytmetyka na liczbach liczb stało- i zmiennopozycyjnych.

3. Algorytmy i programy.
Pojęcie algorytmu. Notacja blokowa. Rodzaje algorytmów. Notacja Backusa-Naura. Proces tworzenia programu.

4. Potencjał maszyn algorytmicznych.
Maszyna Turinga. Teza Churcha-Turinga. Miara złożoności obliczeniowej. Klasy złożoności obliczeniowej.

5 – 10. Wprowadzenie do programowania proceduralnego w języku C – Struktura programu, typy danych, stałe, zmienne . Tablice jednowymiarowe, podstawowe konstrukcje językowe – pętle sterujące, wyrażenia.

11. Architektura i organizacja komputera.
Architektura komputerów. Działanie komputera. Cykl rozkazowy procesora. Format rozkazów i tryb adresowania. Obsługa przerwań. Pamięć. Zwiększenie efektywności procesora.

12. Systemy operacyjne.
Zadania i struktura systemów operacyjnych. Zarządzanie procesami. Komunikacja między procesami

13. Systemy operacyjne.
Synchronizacja procesów . Algorytmy szeregowania

14. Systemy operacyjne.
Problem zakleszczeń. Zarządzanie pamięcią – pojęcie przestrzeni adresowej, pamięć wirtualna, stronicowanie i segmentacja pamięci.

15. Kolokwium zaliczeniowe

Ćwiczenia audytoryjne:

W ramach ćwiczeń wykonywane będą zadania z zakresu:

  • arytmetyki binarnej;
  • działania pętli sterujących i podstawowych instrukcji wykorzystywanych w językach programowania;
  • schematów blokowych;
  • tworzenia maszyny Turinga rozwiązującej proste zagadnienia algorytmiczne;

Ćwiczenia laboratoryjne:

Tworzenie programów wykorzystujących:

  • proste zmienne rożnego typu (całkowite, rzeczywiste, i znakowe);
  • tworzenie wyrażeń z wykorzystaniem operatorów arytmetycznych, logicznych oraz relacyjnych;
  • tablice jednowymiarowe zmiennych całkowitych, rzeczywistych i znakowych;
  • instrukcje sterujące wykorzystujące złożone wyrażenia logiczne;
  • proste operacje na wskaźnikach

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 90 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 30 godz
Samodzielne studiowanie tematyki zajęć 10 godz
Udział w ćwiczeniach audytoryjnych 15 godz
Przygotowanie do zajęć 20 godz
Udział w ćwiczeniach laboratoryjnych 15 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Zaliczenie ćwiczeń uzyskuje się na podstawie wyników uzyskanych w trakcie zajęć (odpowiedzi przy tablicy, programy wykonywane w ramach zajęć laboratoryjnych, kolokwia).

Wykład zaliczany jest na podstawie odrębnego kolokwium.

Warunkiem koniecznym do zaliczenia jest uzyskanie co najmniej połowy punktów z kolokwium z języka C oraz co najmniej połowy punktów z kolokwium z wykładu.

Student może dwukrotnie przystąpić do poprawkowego zaliczenia zarówno z ćwiczeń jak i z wykładu .

Ocena końcowa z modułu obliczana jest jako średnia ważona z powyższych ocen, przy czym ocena z ćwiczeń wchodzi do oceny końcowej z wagą 60%, a ocena z zaliczenia wykładu z wagą 40%.

Wymagania wstępne i dodatkowe:

Nieobecność na zajęciach obowiązkowych wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału.

Zalecana literatura i pomoce naukowe:

• D. Harel „Rzecz o istocie informatyki, algorytmika”, WNT 1992;
• J. G. Brookshear „Computer Science: An Overview”, Addison-Wesley Longman 1997;
• N. Wirth, „Algorytmy + struktury danych =Programy”, WNT 1989;
• A. Silberschatz „Podstawy Systemów Operacyjnych”, WNT 2005;
• A. Tanenbaum „Systemy operacyjne”, Helion 2010;

• S. Prata “Język C. Szkoła programowania”, ISBN 83-87150-06-1;
• H. Schildt “Programowanie C”, ISBN 83-7243-258-9;
• K. Loudon “Algorytmy w C”, ISBN 83-7197 –912-6;
• B. Kernighan, D. Ritchie “Język ANSI C”, ISBN 83-204-1693-0;

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:
Nieobecność na jednych ćwiczeniach/laboratorium wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału.
Student który bez usprawiedliwienia opuścił więcej niż dwa ćwiczenia/laboratoria i jego cząstkowe wyniki w nauce były negatywne, może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć.Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.

Obecność na wykładzie: zgodnie z Regulaminem Studiów AGH.