- Nazwa przedmiotu:
  - Podstawy programowania
 
    - Koordynator przedmiotu:
  - dr inż. / Andrzej T. Chwiej / starszy wykładowca
 
    - Status przedmiotu:
  - Obowiązkowy
 
    - Poziom kształcenia:
  - Studia I stopnia
 
    - Program:
  - Mechanika i Budowa Maszyn
 
    - Grupa przedmiotów:
  - Obowiązkowe
 
    - Kod przedmiotu:
  - MS1A_22
 
    - Semestr nominalny:
  - 3 / rok ak. 2014/2015
 
    - Liczba punktów ECTS:
  - 2
 
    - Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
  - Laboratoria: liczba godzin według planu studiów – 15, przygotowanie do zajęć - 15, przygotowanie do kolokwium – 10, inne (Kodowanie i testowanie procedury) - 20;  Razem - 60 h
 
    - Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
  - Laboratoria - 15 h = 0,6 ECTS
 
    - Język prowadzenia zajęć:
  - polski
 
    - Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
  - 2
 
    - Formy zajęć i ich wymiar w semestrze:
 
        - 
            
                - Wykład0h
 
                - Ćwiczenia0h
 
                - Laboratorium15h
 
                - Projekt0h
 
                - Lekcje komputerowe0h
 
            
         
    - Wymagania wstępne:
  - -
 
    - Limit liczby studentów:
  - Laboratorium: 8 - 12
 
    - Cel przedmiotu:
  - Uzyskanie wiedzy na temat cyklu życia oprogramowania. Wyrobienie umiejętności pisania prostych programów, nie poprzez naukę sztuczek w konkretnym języku, ale poprzez ukierunkowanie na myślenie kategoriami algorytmów i programowania. Wybrano Pascal, jako język dydaktyczny (o ścisłej algorytmizacji i typizacji danych) i MathLab jako podstawowy (ze względu na popularność i dostępność bibliotek, w szczególności specjalizowanych naukowo-technicznych) język oprogramowania ogólnego. 
 
    - Treści kształcenia:
  - L1 - Algorytmy i schematy blokowe, metoda CASE, podstawowe fazy programowania, cykl życia programu. L2 - Środowisko Delphi i MatLaba. Korzystanie z narzędzi środowiskowych. Biblioteki. L3 - Typy danych (typy elementarne i typy złożone). L4 - Podstawowe operacje matematyczne. L5 - Instrukcje warunkowe i instrukcja wyboru. L6 - Pętle (wyliczeniowe i warunkowe). L7 - Instrukcje skoku. L8 - Procedury i funkcje. L9 - Pliki. L10 - Łańcuchy tekstowe. L11 - Moduły a biblioteki. L12 - Programowanie obiektowe. L13 - Programowanie wizualne – komponenty: przykład. L14 - Programy typu klient-serwer (technologia ActiveX) - przykład.
 
    - Metody oceny:
  - Średnia z dwu dwudziestominutowych kolokwiów: ze znajomości podstawowych elementów programowania algorytmicznego (strukturalnego) i kolokwium z informacji ogólnych (test wyboru) -  oraz z pracy własnej: samodzielnego przygotowania działającej procedury (projekt procedury obliczeniowej). Trzy nieobecności na zajęciach eliminują możliwość uzyskania zaliczenia.
 
    - Egzamin:
  - nie
 
    - Literatura:
  - 1. Klempka R., Stankiewicz A.: Programowanie z przykładami w językach Pascal i MatLab, AGH-Uczelniane Wydawnictwa Naukowo-Dydaktyczne, Kraków 2005 (wyd. 2). 2. Mrozek B., Mrozek Z.: MatLab i Simulink-poradnik użytkownika, Helion, Gliwice 2004, (wyd 2.).
 
    - Witryna www przedmiotu:
  - -
 
    - Uwagi:
  - Program studiów opracowany na podstawie programu nauczania zmodyfikowanego w ramach Zadania 38 Programu Rozwojowego Politechniki Warszawskiej.
 
    Efekty uczenia się
    Profil ogólnoakademicki - wiedza
                    - Efekt W04_01
 
                    - Zna podstawowe metody kodowania typowych relacji obliczeniowych przydatnych w obliczeniach technicznych w tym technikę obiektową i interfejsową.							
                        Weryfikacja: Kolokwium testowe (L1 - L13, L14), Uruchomienie oprogramowania (L1 - L11)
                        Powiązane efekty kierunkowe: 
                        M1A_W04_01
                        Powiązane efekty obszarowe: 
                        T1A_W04                     
                                    - Efekt W10_01
 
                    - 							Zna elementarne relacje ekonomiczne przy produkcji i dystrybucji oprogramowania oraz podstawowe systemy dystrybucji bibliotek i oprogramowania i podstawowe metody ochrony praw autorskich.							
                        Weryfikacja: Kolokwium testowe (L1, L13, L14)
                        Powiązane efekty kierunkowe: 
                        M1A_W10_01
                        Powiązane efekty obszarowe: 
                        T2A_W10                     
                
Profil ogólnoakademicki - umiejętności
                    - Efekt U01_01
 
                    - Potrafi skorzystać z bibliotek podprogramów.
                        Weryfikacja: Projekt procedury obliczeniowej (L2, L3, L9, L11)
                        Powiązane efekty kierunkowe: 
                        M1A_U01_01
                        Powiązane efekty obszarowe: 
                        T1A_U01                     
                                    - Efekt U02_01
 
                    - Potrafi odtworzyć algorytm obliczeniowy (schemat blokowy) procedury obliczeniowej zapisany jako konstrukcja języka programowania.							
                        Weryfikacja: Projekt procedury obliczeniowej (L1, L2)
                        Powiązane efekty kierunkowe: 
                        M1A_U02_01
                        Powiązane efekty obszarowe: 
                        T1A_U02                     
                                    - Efekt U05_01
 
                    - Rozumie starzenie się moralne języków programowania, a przez to konieczność uzpełniania wiedzy w zakresie informatyki. Potrafi w tym zakresie samodzielnie się dokształcać.
                        Weryfikacja: Kolokwium testowe (L1, L2, L3, L13, L14)
                        Powiązane efekty kierunkowe: 
                        M1A_U05_01
                        Powiązane efekty obszarowe: 
                        T1A_U05                     
                                    - Efekt U16_01
 
                    - 							Potrafi zaprojektować i zrealizować (uruchomić) fragment złożonego oprogramowania (procedurę).							
                        Weryfikacja: Projekt procedury obliczeniowej (L2 - L11)
                        Powiązane efekty kierunkowe: 
                        M1A_U16_01
                        Powiązane efekty obszarowe: 
                        T1A_U16                     
                
Profil ogólnoakademicki - kompetencje społeczne
                    - Efekt K03_01
 
                    - 							Potrafi opracować procedurę obliczeniową w zespole programistycznym							
                        Weryfikacja: Projekt procedury obliczeniowej (L2 - L11)
                        Powiązane efekty kierunkowe: 
                        M1A_K03_01
                        Powiązane efekty obszarowe: 
                        T1A_K03                     
                                    - Efekt K04_01
 
                    - 							Rozumie znaczenie jednoznaczności i przejrzystości konstrukcji języka na poprawność działania procedury obliczeniowej. W procesie weryfikacji oprogramowania potrafi zlokalizować i wyeliminować błędne założenia  wpływające na niepożądane działanie procedury obliczeniowej.							
                        Weryfikacja: Kolokwium praktyczne (L3 - L10)
                        Powiązane efekty kierunkowe: 
                        M1A_K04_01
                        Powiązane efekty obszarowe: 
                        T1A_K04