PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Programming - MC260P148
Anglický název: Programming
Zajišťuje: Katedra fyzikální a makromol. chemie (31-260)
Fakulta: Přírodovědecká fakulta
Platnost: od 2023
Semestr: letní
E-Kredity: 4
Způsob provedení zkoušky: letní s.:
Rozsah, examinace: letní s.:2/1, Z+Zk [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: angličtina
Poznámka: povolen pro zápis po webu
Garant: doc. RNDr. Filip Uhlík, Ph.D.
Vyučující: Mgr. David Klusáček, Ph.D.
Mgr. Oleg Rud, Ph.D.
doc. RNDr. Filip Uhlík, Ph.D.
Anotace - angličtina
Poslední úprava: doc. RNDr. Filip Uhlík, Ph.D. (29.12.2022)
The course Programming provides an introduction to computer programming starting from basic concepts (computability, algorithms, data structures, programming languages, implementations, computer hardware), developing on fundamental algorithms (searching, sorting, graph algorithms, …) and data structures (lists, arrays, trees, …), describing different algorithmic (divide and conquer, dynamic, branch and bound, …) and programming (procedural, functional, parallel, …) paradigms. The examples will be given in a restricted programming environment before going to the wild and practiced in small groups of students allowing an individual approach. Within the course students may access high-performance computer center Troja.
Literatura - angličtina
Poslední úprava: doc. RNDr. Filip Uhlík, Ph.D. (01.03.2024)

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: Introduction to Algorithms, MIT Press, 2022, ISBN 026204630X.
 Ivo Balbaert, Adrian Salceanu: Julia 1.0 Programming Complete Reference Guide: Discover Julia, a high-performance language for technical computing, Packt Publishing, 2019, ISBN 1838822240.
 Jeff Erickson: Algorithms, 2019, ISBN 1792644833.
 Allen Downey, Ben Lauwens: Think Julia: How to Think Like a Computer Scientist, 2018, https://benlauwens.github.io/ThinkJulia.jl/latest/book.html

additional resources can be found at http://11c.cz/j

Požadavky ke zkoušce - angličtina
Poslední úprava: RNDr. Kateřina Ušelová, Ph.D. (31.01.2022)

The course is finished by a small individual software project that upon successful completion is followed by an oral examination.

Sylabus - angličtina
Poslední úprava: RNDr. Kateřina Ušelová, Ph.D. (31.01.2022)
  • What are algorithms, data structures and programs?
  • First programs in safe environment
  • Describing and analyzing algorithms (programming languages, procedural and functional programming, invariants)
  • Program flow (if, loop, functions, operators, expressions, variables, assignment)
  • Programming paradigms (recursion, divide and conquer, dynamic programming, backtracking, greedy algorithms)
  • Data structures
  • Arrays
  • Stacks, queues, lists
  • Trees (representations, traversals, game trees, expression trees)
  • Searching (arrays, searching trees, hashing tables)
  • Sorting (n2 methods, nlog n methods)
  • Graphs (representations, traversals, shortest path, topological sort, A* search)
  • Numbers and their representations (integer, fixed point, floating point)
  • What can be computed? (decidability, complexity)

 
Univerzita Karlova | Informační systém UK