SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Introduction to Computer Science - ALG119000
Title: Základy programování a algoritmů
Guaranteed by: Department of Logic (21-KLOG)
Faculty: Faculty of Arts
Actual: from 2023
Semester: summer
Points: 0
E-Credits: 5
Examination process: summer s.:
Hours per week, examination: summer s.:2/1, Ex [HT]
Capacity: 20 / unlimited (unknown)
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
Key competences:  
State of the course: taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Level:  
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: Mgr. Aleš Podolník, Ph.D.
Teacher(s): Mgr. Aleš Podolník, Ph.D.
Annotation - Czech
Last update: Mgr. Jonathan Verner, Ph.D. (04.04.2019)
Cílem kurzu je seznámit studenta se základními "praktickými" pojmy programování (datový typ, proměnná,
procedura, algoritmus aj.) a naznačit způsoby, jakými lze tyto pojmy teoreticky zkoumat (složitost, Turingův stroj...).

Student by po absolvování kurzu měl být schopný samostatně navrhnout, napsat a "odladit" plně funkční
jednoduchý program v jazyce Python. Měl by mít povědomí o standardních algoritmech a rozumět pojmu
složitosti. Součástí kurzu jsou i praktická cvičení na počítači.
Literature - Czech
Last update: Mgr. Petr Švarný, Ph.D. (10.09.2020)

 

 

    • Downey, A.: Think Python (How to think like a computer scientist), Green Tea Press; Needham, MA 2008 [www.thinkpython.com]

 

    • Wirth, N.: Algorithms + Data Structures = Programs, Prentice Hall Englewood Cliffs; New Jersey 1975

 

    • Töpfer, P.: Algoritmy a programovací techniky, Prometheus; Praha 1995
Syllabus - Czech
Last update: Mgr. Petr Švarný, Ph.D. (02.09.2020)

0) Úvod, historie

1) Jednoduché programy

 

  • Práce s čísly
  • Práce s řetězci
  • Použití objektů

 

2) Složitější techniky

 

  • funkce (procedury)
  • if/elif/else; výjimky
  • použití cyklů

 

3) Návrh programu

 

  • návrh programu (top-down design)
  • simulace
  • základy návrhu tříd (objektů)
  • složitější datové typy (pole, asociativní pole)

 

5) Základy objektově orientovaného programování

 

  • data encapsulation
  • polymorphism
  • inheritance

6) Algoritmy & Složitost

 

  • Linear a Binary search
  • Rekurze
  • Třídící algoritmy
  • Backtracking
  • Halting problém & diagonalizace 

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html