SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Introduction to Computer Science - ALG110028
Title: Úvod do programovaní
Guaranteed by: Department of Logic (21-KLOG)
Faculty: Faculty of Arts
Actual: from 2018
Semester: winter
Points: 0
E-Credits: 4
Examination process: winter s.:
Hours per week, examination: winter s.:2/1, C [HT]
Capacity: unknown / unknown (unknown)
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
Key competences:  
State of the course: not taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Level:  
Additional information: http://jonathan.temno.eu/teaching/ALG110006.html
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: Mgr. Jonathan Verner, Ph.D.
Schedule   Noticeboard   
Annotation - Czech
Last update: Mgr. Jonathan Verner, Ph.D. (28.06.2018)
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. Jonathan Verner, Ph.D. (28.06.2018)

  • Zeele, J.: Python programming (An introduction to computer science), Franklin, Beedle & Associates; Oregon 2004
  • 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. Jonathan Verner, Ph.D. (28.06.2018)

Poslední úprava: Mgr. Jonathan Verner, Ph.D. (21.09.2011)

 

 

0) Úvod, historie

1) Jednoduché programy

a) Práce s čísly

b) Práce s řetězci

c) Použití objektů

2) Složitější techniky

a) funkce (procedury)

b) if/elif/else; výjimky

c) použití cyklů

3) Návrh programu

a) návrh programu (top-down desigh)

b) simulace

c) základy návrhu tříd (objektů)

d) složitější datové typy (pole, asociativní pole)

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

a) data encapsulation

b) polymorphism

c) inheritance

6) Algoritmy & Složitost

a) Linear a Binary search

b) Rekurze

c) Třídící algoritmy

d) Backtracking

d) Halting problém & diagonalizace

Literatura:

Zeele, J.: Python programming (An introduction to computer science), Franklin, Beedle & Associates; Oregon 2004

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

 

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