SubjectsSubjects(version: 821)
Course, academic year 2017/2018
   Login via CAS
Introduction to Computer Science - ALG110006
English title: Úvod do programování
Guaranteed by: Department of Logic (21-KLOG)
Faculty: Faculty of Arts
Actual: from 2017
Semester: winter
Points: 0
E-Credits: 7
Examination process: winter s.:
summer s.:
Hours per week, examination: winter s.:2/1 C [hours/week]
summer s.:1/1 Ex [hours/week]
Capacity: winter:unlimited / unlimited (unknown)
summer:unknown / unknown (unknown)
Min. number of students: unlimited
State of the course: not taught
Language: Czech
Teaching methods: full-time
Level:  
Additional information: http://jonathanverner.appspot.com/ALG110006
Guarantor: Mgr. Jonathan Verner, Ph.D.
Teacher(s): Mgr. Jonathan Verner, Ph.D.
Annotation -
Last update: Mgr. Jonathan Verner, Ph.D. (08.10.2016)

The main goal of this course is to introduce the student to basic "practical" concepts of computer science (data
type, variable, loop, procedure, algorithm, etc.) and methods which can be used to study these concepts
theoreticaly (complexity,Turing machines...)

After attending this course, the student should be able to design, implement and "debug" a fully functional simple
program in the Python programming language. He should know about standard algorithms and have a basic
understanding of the idea of algorithmic complexity
Syllabus - Czech
Last update: 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

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

 

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