Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Methodology and programming techniques 1
Tok studiów:
2019/2020
Kod:
IETE-1-101-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Electronics and Telecommunications
Semestr:
1
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Bułat Jarosław (kwant@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Introduction to Computer Science

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Student knows and understands fundamental definitions and concepts of computer science, knows architecture and operation of a simple computer, knows basic tasks of the operating system ETE1A_W14 Egzamin
M_W002 Knows and understands procedure-based programming language ETE1A_W14 Egzamin
M_W003 Knows and understands fundamental rules of algorithm development ETE1A_W14 Egzamin
M_W004 Knows and understands classical algorithms ETE1A_W14 Egzamin
Umiejętności: potrafi
M_U001 Can solve simple algorithmic tasks ETE1A_U15 Projekt
M_U002 Can code algorithms in procedural programming language ETE1A_U15 Projekt
M_U003 Can use simple and structural data types ETE1A_U15 Projekt
M_U004 Can apply problem decomposition ETE1A_U15 Projekt
Kompetencje społeczne: jest gotów do
M_K001 Understands necessity of self-learning (progress) ETE1A_K01 Projekt
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
56 28 0 28 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Student knows and understands fundamental definitions and concepts of computer science, knows architecture and operation of a simple computer, knows basic tasks of the operating system + - - - - - - - - - -
M_W002 Knows and understands procedure-based programming language + - - - - - - - - - -
M_W003 Knows and understands fundamental rules of algorithm development + - - - - - - - - - -
M_W004 Knows and understands classical algorithms + - - - - - - - - - -
Umiejętności
M_U001 Can solve simple algorithmic tasks - - + - - - - - - - -
M_U002 Can code algorithms in procedural programming language - - + - - - - - - - -
M_U003 Can use simple and structural data types - - + - - - - - - - -
M_U004 Can apply problem decomposition - - + - - - - - - - -
Kompetencje społeczne
M_K001 Understands necessity of self-learning (progress) + - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 125 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 56 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 32 godz
Samodzielne studiowanie tematyki zajęć 32 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (28h):

LECTURES (28h)

1. Introduction, rules. Basic concepts: information, representation, numerical systems. Computer Architecture: Von Neumann, processor, memory, I/O devices, CPU – CPU instruction cycle, machine code instructions.
2. Role of the operating system on the example of Linux. Explain basic concepts: multitasking, multiple access, I/O, shell, scripts. Description of the Linux ecosystem: distribution, system components, libraries, Linux programming. Classification of programming languages ​​on the basis of: execution level, execution method, application, programming model. Definition of syntax, semantics.
3. Examples of development environment (IDE). Compilation of source code on example C/C++. Basic data types, projection (conversion) types, I/O operations. Encryption standards (conventions). Algorithm, pseudocode and its implementation. Block diagrams.
4. Code Analysis: Debugging (with the help of IDE). Control instructions, loops, variable life cycle (scope of variables).
5. Complex data structures. Enumeration. Preprocessor instructions.
6. Pointers, dynamic memory management (memory allocation).
7. Upward and downward approach. Functions, passing arguments and results, declaration and definition of functions, scope of variables in function context. Concept of library in C/C++.
8. Object-oriented programming: classes, objects, methods, access operator.
9. Storage. Overloading of functions/methods.
10. Object-oriented programming: inheritance, operator overload.
11. Object-oriented programming: polymorphism, encapsulation, virtualization.
12. Object-oriented programming: templates. Examples of functionality from the STL library.
13. Recursive Functions. Multithreading on the example of pthread Library. Code analysis: profiling for speed.
14. Algorithm for searching binary tree. Code analysis for memory leaks (Valgrind). Refactoring source code. Future of C++. Overview of omitted issues.

Ćwiczenia laboratoryjne (28h):

LABORATORY (14h)

During the course, the students perform in a practical way the material presented during the lecture.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: The content presented during the lecture is provided in the form of a multimedia presentation in combination with a classical lecture panel.
  • Ćwiczenia laboratoryjne: During the laboratory classes, students solve the practical problem, choosing the right tools and methods.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Assessment from laboratory is calculated on the basis of tests carried out during the semester.

In case of negative mark, tutor may announce maximum two retake tests within the time of sessions related with the semester. Maximum positive mark in this case is 3.0. Initial condition is unexcused absence on not more then 3 laboratory classes.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Students participate in the classes learn topics according to the syllabus. Students should ask questions and explain doubts. Audiovisual recording of the lecture requires the teacher's consent.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Students carry out laboratory exercises in accordance with materials provided by the teacher. The student is obliged to prepare for the subject of the exercise, which can be verified in an oral or written test. Completion of classes takes place on the basis of presenting a solution to the problem.
Sposób obliczania oceny końcowej:

1. In order to obtain a positive final grade, it is necessary to obtain a positive assessment from the laboratory and from the exam.
2. The exam consists in analysing and writing a part of the program according to the specification.
3. final degree = floor( ( evaluation from lab + evaluation from lecture)/2 ).
4. In case of negative mark, tutor may announce maximum two retake tests within the time of sessions related with the semester. Maximum positive mark in this case is 3.0. Initial condition is unexcused absence on not more then 3 laboratory classes.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Student performs the laboratory by its own as part of non-contact hours. Student may use the outline delivered to the laboratory and can consult results with lecturer or tutor.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Knowledge of mathematics problems: numeral systems, combinatorics

Zalecana literatura i pomoce naukowe:

1. Bjarne Stroustrup, Język C++, (assume knowledge of C, PL/EN)
2. Jerzy Grębosz, Symfonia C++, (from C to C++, popular)
3. Stephen Prata, Language C++, (PL/EN)
4. https://stackoverflow.com C/C++, algorithms, systems, conf., …
5. https://www.wikibooks.org C/C++ (good PL/EN)

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:
  1. Bulat, Jaroslaw, et al. “Data processing tasks in wireless GI endoscopy: Image-based capsule localization & navigation and video compression.” Engineering in Medicine and Biology Society, 2007. EMBS 2007. 29th Annual International Conference of the IEEE. IEEE, 2007.
  2. Bułat, Jarosław, and Andrzej Głowacz. “Vision-based navigation assistance for visually impaired individuals using general purpose mobile devices.” Signals and Electronic Systems (ICSES), 2016 International Conference on. IEEE, 2016.
Informacje dodatkowe: