├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── admin ├── 01_iis_oop_201718.pdf └── 01_iis_oop_201718.tex ├── courseprojects └── mnr │ ├── mnr.pdf │ └── mnr.tex ├── homeworks ├── 01_Programming_101.tex ├── 02_Object_oriented_programming.tex ├── 03_Data_structures.tex ├── 04_Functional_programming.tex ├── Problems in Programming.pdf ├── Problems in Programming.tex └── images │ ├── cat.png │ ├── graph_16_polygons.png │ ├── graph_4_polygons.png │ ├── graph_sine.png │ ├── graph_sine_coarse.png │ ├── graph_twentygon.png │ ├── maze.png │ ├── path1.pdf │ ├── pusheen.jpg │ ├── step0.png │ ├── step1.png │ ├── step2.png │ ├── step3.png │ ├── step4.png │ ├── step5.png │ ├── trapezoidal.png │ └── tree1.pdf ├── license.png ├── license.tex ├── notes ├── 01_programming 101 │ ├── 00_intro, basic concepts and examples │ │ ├── images │ │ │ ├── CPU.jpeg │ │ │ ├── diagonal_argument.png │ │ │ ├── doom.jpg │ │ │ ├── fig_display_memory.pdf │ │ │ ├── fig_program.pdf │ │ │ ├── fig_variables.pdf │ │ │ ├── monster.png │ │ │ ├── pres_b.pdf │ │ │ ├── ram.jpeg │ │ │ ├── sample_inout.png │ │ │ ├── turing.png │ │ │ ├── turingmachine.png │ │ │ └── videoboard.jpeg │ │ └── intro, basic concepts and examples.pdf │ ├── 01_types, grammars, and functions │ │ ├── images │ │ │ ├── heron.png │ │ │ ├── paraboloid.png │ │ │ ├── parts.jpg │ │ │ ├── square.png │ │ │ ├── stree.pdf │ │ │ └── subprog.pdf │ │ ├── types, grammars, and functions.pdf │ │ └── types, grammars, and functions.tex │ ├── 02_operational semantics, flowcharts, arrays, strings │ │ ├── arrays and strings.pdf │ │ ├── arrays and strings.tex │ │ ├── images │ │ │ ├── fc_cycle.pdf │ │ │ ├── fc_cycle_arrows.pdf │ │ │ ├── fc_cycle_arrows_2.pdf │ │ │ ├── fc_if.pdf │ │ │ ├── fc_if_arrows.pdf │ │ │ ├── fc_linear.pdf │ │ │ └── fc_linear_arrows.pdf │ │ ├── mnr.pdf │ │ ├── mnr.tex │ │ ├── operational semantics, flowcharts, blocks.pdf │ │ └── operational semantics, flowcharts, blocks.tex │ ├── 03_00_matrices and nested cycles │ │ ├── images │ │ │ ├── matr_iter_0.pdf │ │ │ ├── matr_iter_1.pdf │ │ │ ├── matr_iter_2.pdf │ │ │ ├── matr_iter_3.pdf │ │ │ ├── matr_iter_cols.pdf │ │ │ └── matr_iter_rows.pdf │ │ ├── matrices and nested cycles.pdf │ │ └── matrices and nested cycles.tex │ ├── 03_01_insertion sort, streight selection sort, merging │ │ ├── images │ │ │ ├── findmin.pdf │ │ │ ├── inssort.pdf │ │ │ ├── merge0.pdf │ │ │ ├── merge1.pdf │ │ │ ├── merge2.pdf │ │ │ ├── merge3.pdf │ │ │ ├── merge4.pdf │ │ │ ├── merge5.pdf │ │ │ ├── merge6.pdf │ │ │ ├── merge7.pdf │ │ │ ├── merge8.pdf │ │ │ └── sssort.pdf │ │ ├── insertion sort, streight selection sort, merging.pdf │ │ └── insertion sort, streight selection sort, merging.tex │ ├── 04_more on functions │ │ ├── more on functions.pdf │ │ └── more on functions.tex │ ├── 05_pointers, arrays, function arguments │ │ ├── images │ │ │ ├── binsearch.pdf │ │ │ └── binsearch_smaller.pdf │ │ ├── pointers, arrays, function arguments.pdf │ │ └── pointers, arrays, function arguments.tex │ ├── 06_recursive functions │ │ ├── images │ │ │ ├── Fibonacci.jpg │ │ │ ├── array_unsorted.pdf │ │ │ ├── binsearch_smaller.pdf │ │ │ ├── danube.png │ │ │ ├── fact_stack.pdf │ │ │ ├── fib_rabbits.jpg │ │ │ ├── fib_spiral.pdf │ │ │ ├── fib_stack.pdf │ │ │ ├── fib_tiling.pdf │ │ │ ├── fib_tiling.svg │ │ │ ├── hole.jpg │ │ │ ├── qsort.pdf │ │ │ ├── rec_wirt.png │ │ │ ├── spaghetti.jpg │ │ │ ├── ssort_rec.pdf │ │ │ └── the_matrix.jpg │ │ ├── recursive functions.pdf │ │ └── recursive functions.tex │ ├── 07_backtracking │ │ ├── backtracking.pdf │ │ ├── backtracking.tex │ │ └── images │ │ │ ├── brick.png │ │ │ ├── cb_00.pdf │ │ │ ├── cb_01.pdf │ │ │ ├── cb_0101.pdf │ │ │ ├── cb_0102.pdf │ │ │ ├── cb_0103.pdf │ │ │ ├── cb_02.pdf │ │ │ ├── cb_03.pdf │ │ │ ├── cb_04.pdf │ │ │ ├── cb_07.pdf │ │ │ ├── cb_choice_01.pdf │ │ │ ├── cb_choice_02.pdf │ │ │ ├── cb_count.pdf │ │ │ ├── gold.jpeg │ │ │ ├── lab_00.pdf │ │ │ ├── lab_01.pdf │ │ │ ├── lab_02.pdf │ │ │ ├── lab_choice_01.pdf │ │ │ ├── lab_choice_02.pdf │ │ │ ├── lab_dead1.pdf │ │ │ ├── lab_sol.pdf │ │ │ ├── lab_st_01.pdf │ │ │ ├── lab_st_02.pdf │ │ │ ├── mario.jpg │ │ │ ├── monster.jpg │ │ │ └── puzzle.png │ ├── 08_structures │ │ ├── images │ │ │ └── padding.png │ │ ├── structures.pdf │ │ └── structures.tex │ ├── 09_working with heap │ │ ├── images │ │ │ ├── delete.pdf │ │ │ ├── heap.pdf │ │ │ ├── stack.pdf │ │ │ └── stackVSheap.pdf │ │ ├── working with heap.pdf │ │ └── working with heap.tex │ ├── 10_basic complexity │ │ ├── basic complexity.pdf │ │ ├── basic complexity.tex │ │ └── images │ │ │ ├── constantf.png │ │ │ ├── exponential.png │ │ │ ├── fib_stack.pdf │ │ │ ├── fourgraphs.png │ │ │ ├── linearandconst.png │ │ │ ├── linearf.png │ │ │ ├── logf.png │ │ │ ├── quadraticf.png │ │ │ └── threegraphs.png │ ├── 11_text files │ │ ├── images │ │ │ ├── consoleout.png │ │ │ ├── directorytree.png │ │ │ ├── harddisk-oneszeros.png │ │ │ ├── harddisk.jpg │ │ │ ├── ramchip-oneszeros.png │ │ │ ├── structstudent.pdf │ │ │ └── textedit.png │ │ ├── working with text files.pdf │ │ └── working with text files.tex │ └── 12_binary files │ │ ├── images │ │ ├── binfile.pdf │ │ ├── binfileflag.pdf │ │ ├── binfiless.png │ │ ├── binfilesslarger.png │ │ ├── padding.png │ │ ├── structstudent.pdf │ │ └── textfilebin.png │ │ ├── working with binary files.pdf │ │ └── working with binary files.tex ├── 02_oop │ ├── 00_templates and higher order functions │ │ ├── templates and higher order functions.pdf │ │ └── templates and higher order functions.tex │ ├── 01_type alises and function pointer templates │ │ ├── type alises and function pointer templates.pdf │ │ └── type alises and function pointer templates.tex │ ├── 02_classes, methods, the this pointer │ │ ├── classes, methods, this.pdf │ │ ├── classes, methods, this.tex │ │ └── images │ │ │ ├── danube.jpg │ │ │ └── people.jpg │ ├── 03_constructors │ │ ├── contructors.aux │ │ ├── contructors.pdf │ │ ├── contructors.tex │ │ └── images │ │ │ ├── baby.jpeg │ │ │ ├── death.jpeg │ │ │ ├── lc_heap.pdf │ │ │ ├── lc_heap_cons.pdf │ │ │ ├── lc_par.pdf │ │ │ ├── lc_var.pdf │ │ │ └── lc_var_cons.pdf │ ├── 04_copying and destruction │ │ ├── copying and destruction.pdf │ │ ├── copying and destruction.tex │ │ └── images │ │ │ ├── lc_return_dual.pdf │ │ │ ├── lc_return_full.pdf │ │ │ ├── lc_return_simple.pdf │ │ │ ├── memshare_01.pdf │ │ │ ├── memshare_02.pdf │ │ │ ├── memshare_03.pdf │ │ │ ├── memshare_04.pdf │ │ │ └── memshare_05.pdf │ ├── 05_mapreduce and lambda functions │ │ ├── lambda functions.pdf │ │ ├── lambda functions.tex │ │ ├── mapreduce.pdf │ │ └── mapreduce.tex │ ├── 06_linked lists │ │ ├── images │ │ │ ├── 00_rec_obj_three_objects_linked.pdf │ │ │ ├── 00_rec_obj_two_objects_linked.pdf │ │ │ ├── 00_rec_obj_two_objects_unlinked.pdf │ │ │ ├── 01_llbox_onebox.pdf │ │ │ ├── 01_llbox_secondbox.pdf │ │ │ ├── 01_llbox_twoboxes.pdf │ │ │ ├── 02_ll_boxcloud.pdf │ │ │ ├── 02_ll_flatchain.pdf │ │ │ ├── 03_ll_push_firstlink.pdf │ │ │ ├── 03_ll_push_initial.pdf │ │ │ ├── 03_ll_push_secondtlink.pdf │ │ │ ├── 04_ll_trav_eol.pdf │ │ │ ├── 04_ll_trav_start.pdf │ │ │ ├── 04_ll_trav_stepone.pdf │ │ │ ├── 05_ll_insert_firstlink.pdf │ │ │ ├── 05_ll_insert_secondlink.pdf │ │ │ ├── 05_ll_insert_start.pdf │ │ │ ├── 06_ll_pop.pdf │ │ │ ├── 07_ll_remove_save.pdf │ │ │ ├── 07_ll_remove_skip.pdf │ │ │ └── 07_ll_remove_stepone.pdf │ │ ├── linked lists.pdf │ │ └── linked lists.tex │ ├── 07_iterators │ │ ├── iterators.pdf │ │ └── iterators.tex │ ├── 08_basic inheritance and virtual functions │ │ ├── images │ │ │ ├── array.pdf │ │ │ ├── figures.pdf │ │ │ ├── figures_figure.pdf │ │ │ ├── inmem_figure.pdf │ │ │ ├── inmem_rectangle.pdf │ │ │ ├── inmen_rect_withmethods.pdf │ │ │ ├── inmen_rect_withptr.pdf │ │ │ ├── inmen_rect_withptr_r1.pdf │ │ │ └── inmen_rect_withptr_r2.pdf │ │ ├── inheritance.pdf │ │ └── inheritance.tex │ ├── 09_serialization │ │ ├── images │ │ │ └── array.pdf │ │ ├── serialization.pdf │ │ └── serialization.tex │ ├── 10_inheritance_and_composition │ │ ├── inheritance and composition.pdf │ │ └── inheritance and composition.tex │ ├── 11_exception handling │ │ ├── exceptions.pdf │ │ └── exceptions.tex │ ├── 12_function abstraction │ │ ├── function abstraction.pdf │ │ ├── function abstraction.tex │ │ └── images │ │ │ ├── function_graph.pdf │ │ │ └── function_math.pdf │ └── 13_move semantics │ │ ├── move.pdf │ │ └── move.tex ├── 03_data structures │ ├── expressions │ │ ├── expressions.pdf │ │ ├── expressions.tex │ │ └── images │ │ │ └── shunting_yard.png │ ├── graphs │ │ ├── graphs.pdf │ │ ├── graphs.tex │ │ └── images │ │ │ ├── graph_cities.pdf │ │ │ ├── graph_dfs.pdf │ │ │ ├── graph_dfs_2.pdf │ │ │ ├── graph_levels.pdf │ │ │ ├── graph_numbers.pdf │ │ │ ├── graph_numbers_weight.pdf │ │ │ └── graph_span.pdf │ ├── lists │ │ ├── images │ │ │ └── skiplist_wikipedia.png │ │ ├── lists.pdf │ │ └── lists.tex │ ├── maps - hash tables and tries │ │ ├── images │ │ │ ├── hast1.png │ │ │ └── trie.png │ │ ├── maps, hast tables, tries.pdf │ │ └── maps, hast tables, tries.tex │ ├── persistent ds, smart pointers │ │ ├── persistent ds, smart pointers.pdf │ │ └── persistent ds, smart pointers.tex │ └── trees │ │ ├── balanced trees.pdf │ │ ├── balanced trees.tex │ │ ├── images │ │ ├── bal_tree_avl.png │ │ ├── bal_tree_left_rotation.png │ │ ├── bal_tree_left_rotation_1.png │ │ ├── bal_tree_left_rotation_2.png │ │ ├── bal_tree_right_left_rotation_1.png │ │ ├── bal_tree_right_left_rotation_2.png │ │ ├── bal_tree_right_left_rotation_3.png │ │ ├── btree_example_1.png │ │ ├── fujifilm.png │ │ ├── lto_cartridge.jpeg │ │ ├── lto_sales.png │ │ ├── tape_old_1.jpeg │ │ ├── tape_old_2.jpeg │ │ ├── tree_access_children.pdf │ │ ├── tree_arbitrary.pdf │ │ ├── tree_bot.pdf │ │ ├── tree_bot_clean.pdf │ │ ├── tree_decision.pdf │ │ ├── tree_delete_1.pdf │ │ ├── tree_delete_2.pdf │ │ ├── tree_delete_3.pdf │ │ ├── tree_extremums.pdf │ │ ├── tree_family_tree.pdf │ │ ├── tree_in_memory.pdf │ │ ├── tree_print_process.pdf │ │ ├── tree_print_process_stack.pdf │ │ ├── tree_print_with_stack.pdf │ │ ├── tree_recursive.pdf │ │ ├── tree_recursive_op.pdf │ │ ├── tree_recursive_op_2.pdf │ │ ├── tree_recursive_op_qm.pdf │ │ ├── tree_recursive_op_sum.pdf │ │ ├── tree_subtree.pdf │ │ └── tree_traces.pdf │ │ ├── trees.pdf │ │ └── trees.tex ├── 04_advanced_seminar │ ├── non-relational databases, mongo crud │ │ ├── images │ │ │ ├── mapreduce.png │ │ │ ├── spaghetti.jpg │ │ │ └── the_matrix.jpg │ │ ├── non-relational databases, mongo crud.pdf │ │ └── non-relational databases, mongo crud.tex │ └── paper on papers │ │ ├── Georgiev, K., Paper on papers, Recursive paper.pdf │ │ ├── Georgiev, K., Paper on papers, Recursive paper.tex │ │ └── images │ │ └── wirth.png ├── 05_realational_algebra_intro │ ├── relational algebra.pdf │ └── relational algebra.tex ├── 06_web tech │ ├── 00_org │ │ └── index.html │ ├── 01_intro │ │ └── index.html │ ├── 02_htmlcss │ │ ├── images │ │ │ ├── composingstick.webp │ │ │ ├── illumunatedtext.jpg.webp │ │ │ ├── korean.webp │ │ │ ├── licenses.txt │ │ │ ├── press1.webp │ │ │ ├── press2.JPG │ │ │ ├── screw.webp │ │ │ └── types.webp │ │ ├── index.html │ │ ├── jedi.jpeg │ │ ├── sample1.html │ │ ├── sample2.html │ │ ├── sample3.css │ │ ├── sample3.html │ │ ├── sample4.html │ │ └── sample5.html │ └── README.md ├── 07_fp │ ├── 00_intro │ │ ├── images │ │ │ ├── 02_ll_flatchain.pdf │ │ │ ├── data-operations.png │ │ │ ├── pipes.png │ │ │ ├── type-inclusion.png │ │ │ ├── vlen.png │ │ │ └── von-neumann.png │ │ └── intro_to_fp.tex │ ├── 01_functions │ │ ├── functions.tex │ │ └── images │ │ │ └── rec_wirt.png │ ├── 02_defining_types │ │ └── defining_types.tex │ ├── 03_practical_monads │ │ ├── examples.hs │ │ ├── images │ │ │ ├── composition.png │ │ │ └── maze.png │ │ └── practical_monads.tex │ ├── 04_recursion │ │ ├── examples.hs │ │ ├── images │ │ │ ├── lab_00.pdf │ │ │ ├── lab_01.pdf │ │ │ ├── lab_02.pdf │ │ │ ├── lab_choice_01.pdf │ │ │ ├── lab_dead1.pdf │ │ │ ├── lab_sol.pdf │ │ │ ├── qsort.pdf │ │ │ └── rec_wirt.png │ │ └── recursion.tex │ ├── 05_higher_order_fn │ │ ├── examples.hs │ │ ├── higher_order_fn.tex │ │ └── images │ │ │ ├── 02_ll_flatchain.pdf │ │ │ ├── closure.png │ │ │ └── mapreduce.png │ ├── 06_io │ │ ├── data.csv │ │ ├── examples.hs │ │ ├── images │ │ │ ├── composition.png │ │ │ ├── deserialization.png │ │ │ ├── pure_functional.png │ │ │ └── serialization.png │ │ └── io.tex │ ├── 07_inductive_types │ │ ├── figures.hs │ │ ├── inductive_types.tex │ │ ├── tasks.hs │ │ └── test.svg │ ├── 08_expression_tree │ │ ├── expressions.hs │ │ └── expressions.tex │ ├── 09_binary_trees │ │ ├── binary_trees.tex │ │ ├── decision.hs │ │ ├── images │ │ │ ├── tree_decision.pdf │ │ │ ├── tree_delete_1.pdf │ │ │ ├── tree_delete_2.pdf │ │ │ ├── tree_delete_3.pdf │ │ │ ├── tree_recursive.pdf │ │ │ ├── tree_recursive_op_2.pdf │ │ │ ├── tree_recursive_op_qm.pdf │ │ │ └── tree_recursive_op_sum.pdf │ │ └── trees.hs │ ├── 10_maps │ │ ├── maps.hs │ │ └── maps.tex │ └── 11_stackqueue │ │ ├── images │ │ ├── bfs.png │ │ ├── fifo.png │ │ ├── lifo.png │ │ ├── maze.png │ │ ├── maze2.png │ │ ├── qstack.png │ │ ├── rpn 1.png │ │ ├── shunting_yard.png │ │ ├── trains 1.png │ │ ├── trains 2.png │ │ └── tranis 3.png │ │ └── stackqueue.tex └── thankyou.tex └── samples ├── 01_programming 101 ├── 2015 │ ├── arrays 1 │ │ ├── ex1.cpp │ │ └── ex2.cpp │ ├── arrays 2 │ │ └── demo1.cpp │ ├── backtrack │ │ └── lab.cpp │ ├── functions │ │ └── funct2.cpp │ ├── plotting pixels │ │ ├── Makefile │ │ ├── main.cpp │ │ └── mygraphics.h │ ├── pointers │ │ └── demo.cpp │ ├── rec │ │ └── demo.cpp │ ├── sorting │ │ ├── findmax.cpp │ │ ├── inssort.cpp │ │ └── ssort.cpp │ └── structs_and_files │ │ ├── files.cpp │ │ ├── files2.cpp │ │ ├── files3.cpp │ │ ├── structs.cpp │ │ └── test.cpp ├── 2016 │ ├── 01_plotting pixels │ │ ├── Makefile │ │ ├── main.cpp │ │ └── mygraphics.h │ ├── bits │ │ └── bits.cpp │ ├── heap │ │ └── heap.cpp │ ├── lab │ │ └── lab.cpp │ ├── misc │ │ ├── cycles.cpp │ │ ├── misc.cpp │ │ └── misc2.cpp │ └── nestedcycles │ │ ├── nestedcycles.cpp │ │ ├── nestedcycles2.cpp │ │ └── sorting.cpp ├── 2018 │ ├── filesandheap │ │ └── filesandheap.cpp │ ├── functions.cpp │ ├── lab.cpp │ ├── lecture3.cpp │ ├── matrices.cpp │ ├── pixels │ │ ├── Makefile │ │ ├── main.cpp │ │ └── mygraphics.h │ ├── pointers.cpp │ ├── pointers2.cpp │ ├── poly.cpp │ ├── recursion.cpp │ ├── search.cpp │ ├── sort.cpp │ ├── students database │ │ ├── students.db │ │ └── studentsdb.cpp │ ├── test.cpp │ └── test1exercises │ │ └── test1ex.cpp ├── 2019 │ ├── firstp.cpp │ └── loops.cpp ├── 2019-20_kn │ ├── arraysandmatr.cpp │ ├── files.cpp │ ├── files2.cpp │ ├── files_delete.cpp │ ├── functions.cpp │ ├── heap.cpp │ ├── labyrinth.cpp │ ├── numbers.cpp │ ├── pixels │ │ ├── Makefile │ │ ├── main.cpp │ │ └── mygraphics.h │ ├── pstack.cpp │ ├── rec.cpp │ ├── strarr.cpp │ ├── structs.cpp │ └── types.cpp ├── 2022-23-kn │ ├── digits.cpp │ ├── dynarray.cpp │ ├── fact.cpp │ ├── lab.cpp │ ├── p1.cpp │ ├── p10.cpp │ ├── p11.cpp │ ├── p12.cpp │ ├── p2.cpp │ ├── p3.cpp │ ├── p4.cpp │ ├── p5.cpp │ ├── p6.cpp │ ├── p7.cpp │ ├── p8.cpp │ ├── p9.cpp │ ├── pixels │ │ ├── Makefile │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ └── main.cpp │ ├── sorting │ │ ├── inssort.cpp │ │ ├── merge.cpp │ │ └── ssort.cpp │ └── studentsdb │ │ └── main.cpp ├── 2023-24-kn │ ├── characters.cpp │ ├── count_digits.cpp │ ├── dyn_arrays.cpp │ ├── functions.cpp │ ├── functions2.cpp │ ├── heap.cpp │ ├── lab.cpp │ ├── phonebbok.phbkn │ ├── phonebook.cpp │ ├── pixels │ │ ├── Makefile │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ └── main.cpp │ ├── pointers.cpp │ ├── recursion.cpp │ ├── search_digit.cpp │ ├── strings.cpp │ ├── strings2.cpp │ ├── struct.cpp │ ├── students.cpp │ ├── sum_digits.cpp │ └── test.cpp └── 2024-25-kn │ ├── arrays.cpp │ ├── drawing │ ├── Makefile │ ├── draw │ │ ├── images │ │ │ ├── circle.png │ │ │ ├── roboto.ttf │ │ │ ├── roboto_license.txt │ │ │ └── triangle.png │ │ ├── sdlwrapper.cpp │ │ └── sdlwrapper.h │ └── main.cpp │ ├── dynarrays.cpp │ ├── kn1.cpp │ ├── lab.cpp │ ├── matrices.cpp │ ├── pointers.cpp │ ├── pstack.cpp │ ├── recursion.cpp │ ├── rooks.cpp │ ├── strings.cpp │ └── types.cpp ├── 02_oop ├── 2016 │ ├── 01_heap and classes │ │ ├── airplane.cpp │ │ ├── mem.cpp │ │ └── rat.cpp │ ├── 02_constructors │ │ ├── constr.cpp │ │ └── dynarray.cpp │ ├── 03_DynArray │ │ ├── dynarray-template.cpp │ │ ├── dynarray.cpp │ │ └── string.cpp │ ├── 04_reduce │ │ └── reduce operator examples │ ├── 05_llist │ │ └── llist.cpp │ ├── 06_figures │ │ └── figures.cpp │ ├── 07_DynArrayLib │ │ ├── dynarray.hpp │ │ └── test.cpp │ ├── 08_serialize │ │ ├── game.cpp │ │ └── stringss.cpp │ └── 09_interpreter │ │ ├── output │ │ ├── test.dot │ │ └── test.pdf │ │ ├── run.sh │ │ ├── sample program │ │ └── src │ │ ├── ast │ │ ├── ast.h │ │ ├── binaryarithexpr.cpp │ │ ├── binaryarithexpr.h │ │ ├── block.cpp │ │ ├── block.h │ │ ├── constant.cpp │ │ ├── constant.h │ │ ├── doublevalue.cpp │ │ ├── doublevalue.h │ │ ├── expression.cpp │ │ ├── expression.h │ │ ├── ifexpr.cpp │ │ ├── ifexpr.h │ │ ├── value.cpp │ │ ├── value.h │ │ ├── vars.cpp │ │ └── vars.h │ │ ├── errors.h │ │ ├── interpreter.cpp │ │ ├── lex │ │ ├── tokenizer.cpp │ │ └── tokenizer.h │ │ ├── parser │ │ ├── parser.cpp │ │ └── parser.h │ │ └── sample grammar ├── 2017 │ ├── Functions │ │ ├── constant.cpp │ │ ├── constant.h │ │ ├── cutfunction.h │ │ ├── cutfuntion.cpp │ │ ├── functions.cpp │ │ ├── functions.h │ │ ├── linear.cpp │ │ ├── linear.h │ │ └── main.cpp │ ├── classes │ │ ├── charset.cpp │ │ └── rational.cpp │ ├── compilation │ │ ├── a.cpp │ │ ├── a.h │ │ ├── b.cpp │ │ ├── b.h │ │ └── c.cpp │ ├── dynarray │ │ └── dynarray.cpp │ ├── fptr │ │ └── fptrtest.cpp │ ├── inheritance │ │ ├── inheritance.cpp │ │ └── misc.cpp │ ├── interpreter │ │ ├── grammar.txt │ │ ├── makefile │ │ ├── myProgram.knsi │ │ ├── run.sh │ │ └── src │ │ │ ├── ast │ │ │ ├── ast.h │ │ │ ├── binexpr.cpp │ │ │ ├── binexpr.h │ │ │ ├── constexpr.cpp │ │ │ ├── constexpr.h │ │ │ ├── expression.h │ │ │ ├── ifexpr.cpp │ │ │ ├── ifexpr.h │ │ │ ├── visitor.cpp │ │ │ └── visitor.h │ │ │ ├── interpreter │ │ │ ├── evalvisitor.cpp │ │ │ └── evalvisitor.h │ │ │ ├── main.cpp │ │ │ └── parser │ │ │ ├── dottyprinter.cpp │ │ │ ├── dottyprinter.h │ │ │ ├── parser.cpp │ │ │ ├── parser.h │ │ │ ├── tokenizer.cpp │ │ │ └── tokenizer.h │ ├── serialize │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── main.cpp │ │ ├── misc.cpp │ │ ├── square.cpp │ │ └── square.h │ ├── string │ │ ├── main.cpp │ │ ├── string.cpp │ │ └── string.h │ └── templates │ │ └── templatesandfptr.cpp ├── 2018 │ └── alias.cpp ├── 2018_is │ ├── classes.cpp │ ├── companiesinfiles.cpp │ ├── dynarray │ │ ├── dynarray.cpp │ │ └── string.cpp │ ├── figures.cpp │ ├── fpointers.cpp │ ├── llist.cpp │ ├── sets.cpp │ ├── string.cpp │ ├── задача за задачи.txt │ └── задача за множества.txt ├── 2019_kn │ ├── charset │ │ └── charset.cpp │ ├── classes │ │ └── simple.cpp │ ├── figures │ │ └── figures.cpp │ ├── functions │ │ ├── constfn.cpp │ │ ├── constfn.h │ │ ├── cut.cpp │ │ ├── cut.h │ │ ├── function.h │ │ ├── linearfn.cpp │ │ ├── linearfn.h │ │ ├── main.cpp │ │ ├── polyfn.cpp │ │ └── polyfn.h │ ├── interpreter │ │ ├── example.knpp │ │ ├── grammar │ │ ├── main.cpp │ │ ├── tokenizer.cpp │ │ └── tokenizer.h │ ├── lists │ │ ├── illustration.txt │ │ └── lists.cpp │ ├── string │ │ ├── example.cpp │ │ ├── string.cpp │ │ ├── string.h │ │ ├── vector.cpp │ │ └── vector.h │ ├── templates │ │ └── templates.cpp │ ├── vcomp │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── drawvisitor.cpp │ │ ├── drawvisitor.h │ │ ├── group.cpp │ │ ├── group.h │ │ ├── images │ │ │ ├── circle.png │ │ │ └── triangle.png │ │ ├── main.cpp │ │ ├── rectangle.cpp │ │ ├── rectangle.h │ │ ├── sdlwrapper.cpp │ │ ├── sdlwrapper.h │ │ ├── serializevisitor.cpp │ │ ├── serializevisitor.h │ │ ├── shape.cpp │ │ ├── shape.h │ │ └── visitor.h │ └── vector │ │ ├── illustration.txt │ │ └── vector.cpp ├── 2020_is │ ├── classes │ │ ├── classes.cpp │ │ ├── doctest.h │ │ ├── main.cpp │ │ ├── string.cpp │ │ ├── vector.cpp │ │ └── vector.h │ ├── exceptions.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── ffactory.cpp │ │ ├── ffactory.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── group.cpp │ │ ├── group.h │ │ ├── images │ │ │ ├── circle.png │ │ │ ├── roboto.ttf │ │ │ ├── roboto_license.txt │ │ │ └── triangle.png │ │ ├── main.cpp │ │ ├── painter.cpp │ │ ├── painter.h │ │ ├── rect.cpp │ │ ├── rect.h │ │ ├── sdlwrapper.cpp │ │ ├── sdlwrapper.h │ │ └── visitor.h │ ├── heap │ │ ├── heap.cpp │ │ └── samples.cpp │ ├── iterators │ │ ├── iterators.cpp │ │ └── ranges.cpp │ ├── lambdas │ │ └── lambdas.cpp │ ├── lists │ │ ├── doctest.h │ │ ├── llist.cpp │ │ ├── llist.h │ │ └── main.cpp │ └── templates │ │ ├── functions.cpp │ │ └── templates.cpp ├── 2020_kn │ ├── binfiles.cpp │ ├── classes │ │ ├── classes.cpp │ │ ├── doctest.h │ │ ├── main.cpp │ │ ├── strings.cpp │ │ ├── test.cpp │ │ ├── vector.cpp │ │ └── vector.h │ ├── exceptions.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── ffactory.cpp │ │ ├── ffactory.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── figures.cpp │ │ ├── group.cpp │ │ ├── group.h │ │ ├── images │ │ │ ├── circle.png │ │ │ ├── roboto.ttf │ │ │ ├── roboto_license.txt │ │ │ └── triangle.png │ │ ├── painter.cpp │ │ ├── painter.h │ │ ├── rect.cpp │ │ ├── rect.h │ │ ├── sdlwrapper.cpp │ │ ├── sdlwrapper.h │ │ └── visitor.h │ ├── iterators │ │ ├── iterators.cpp │ │ └── ranges.cpp │ ├── lambdas │ │ └── examples.cpp │ ├── lists │ │ ├── doctest.h │ │ ├── llist.cpp │ │ ├── llist.h │ │ └── main.cpp │ └── templates │ │ └── templates.cpp ├── 2021_is │ ├── doctest.h │ ├── exceptions.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ ├── ffactory.cpp │ │ ├── ffactory.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── group.cpp │ │ ├── group.h │ │ ├── main.cpp │ │ ├── rectangle.cpp │ │ └── rectangle.h │ ├── functions │ │ └── main.cpp │ ├── iterators │ │ └── iterators.cpp │ ├── llist │ │ ├── llist.cpp │ │ ├── llist.h │ │ └── main.cpp │ ├── parametric polymorphism │ │ ├── charset.cpp │ │ └── main.cpp │ └── vector │ │ ├── main.cpp │ │ ├── vector.cpp │ │ └── vector.h ├── 2023_kn │ ├── charset.cpp │ ├── doctest.h │ ├── exceptions.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ ├── ffactory.cpp │ │ ├── ffactory.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── figures.txt │ │ ├── group.cpp │ │ ├── group.h │ │ ├── main.cpp │ │ ├── painter.cpp │ │ ├── painter.h │ │ ├── rect.cpp │ │ ├── rect.h │ │ ├── serializer.cpp │ │ ├── serializer.h │ │ ├── utils.h │ │ └── visitor.h │ ├── iterators.cpp │ ├── list │ │ ├── llist.cpp │ │ ├── llist.h │ │ └── main.cpp │ ├── string.cpp │ ├── templates.cpp │ └── vector │ │ ├── main.cpp │ │ ├── vector.cpp │ │ └── vector.h ├── 2024_is │ ├── bitwise.cpp │ ├── data.dat │ ├── doctest.h │ ├── dynarray.cpp │ ├── dynarray.h │ ├── dynarray_test.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── group.cpp │ │ ├── group.h │ │ ├── main.cpp │ │ ├── painter.cpp │ │ ├── painter.h │ │ ├── square.cpp │ │ ├── square.h │ │ ├── triangle.cpp │ │ ├── triangle.h │ │ ├── utils.cpp │ │ ├── utils.h │ │ ├── visitor.h │ │ ├── writer.cpp │ │ └── writer.h │ ├── inheritance.cpp │ ├── iteration.cpp │ ├── kalin_students.txt │ ├── list_test.cpp │ ├── llist.cpp │ ├── llist.h │ ├── points.dat │ ├── range.cpp │ ├── range.h │ ├── structures.cpp │ ├── templates.cpp │ └── text_files.cpp ├── 2024_kn │ ├── charset.cpp │ ├── data.dat │ ├── data2.dat │ ├── data3.txt │ ├── doctest.h │ ├── dynarray.cpp │ ├── dynarray_test.cpp │ ├── figures │ │ ├── Makefile │ │ ├── circle.cpp │ │ ├── circle.h │ │ ├── draw │ │ │ ├── images │ │ │ │ ├── circle.png │ │ │ │ ├── roboto.ttf │ │ │ │ ├── roboto_license.txt │ │ │ │ └── triangle.png │ │ │ ├── sdlwrapper.cpp │ │ │ └── sdlwrapper.h │ │ ├── figure.cpp │ │ ├── figure.h │ │ ├── figures.h │ │ ├── group.cpp │ │ ├── group.h │ │ ├── main.cpp │ │ ├── square.cpp │ │ ├── square.h │ │ ├── triangle.cpp │ │ └── triangle.h │ ├── high_order_fn.cpp │ ├── inheritance.cpp │ ├── irange.cpp │ ├── irange.h │ ├── iteration.cpp │ ├── list.cpp │ ├── list.h │ ├── list_test.cpp │ └── templates │ │ ├── fp.cpp │ │ └── templates.cpp └── 2025_kn │ ├── counter.cpp │ ├── doctest.h │ ├── dynarray │ ├── dynarray.cpp │ └── dynarray_big4.cpp │ ├── examples_big4.cpp │ ├── figures │ ├── Makefile │ ├── circle.cpp │ ├── circle.h │ ├── draw │ │ ├── images │ │ │ ├── circle.png │ │ │ ├── roboto.ttf │ │ │ ├── roboto_license.txt │ │ │ └── triangle.png │ │ ├── sdlwrapper.cpp │ │ └── sdlwrapper.h │ ├── figure.cpp │ ├── figure.h │ ├── figures.svg │ ├── group.cpp │ ├── group.h │ ├── main.cpp │ ├── rectangle.cpp │ ├── rectangle.h │ ├── triangle.cpp │ └── triangle.h │ ├── functions.cpp │ ├── inheritance.cpp │ ├── list │ ├── inputstream.cpp │ ├── inputstream.h │ ├── iterators_test.cpp │ ├── list.cpp │ ├── list.h │ ├── list_test.cpp │ ├── range.cpp │ └── range.h │ └── templates.cpp ├── 03_sdp ├── 2017 │ ├── 00_interpreter │ │ ├── justrun.sh │ │ ├── output │ │ │ ├── test.dot │ │ │ └── test.pdf │ │ ├── run.sh │ │ ├── sample program │ │ └── src │ │ │ ├── ast │ │ │ ├── ast.h │ │ │ ├── binaryarithexpr.cpp │ │ │ ├── binaryarithexpr.h │ │ │ ├── block.cpp │ │ │ ├── block.h │ │ │ ├── constant.cpp │ │ │ ├── constant.h │ │ │ ├── doublevalue.cpp │ │ │ ├── doublevalue.h │ │ │ ├── expression.cpp │ │ │ ├── expression.h │ │ │ ├── functions.cpp │ │ │ ├── functions.h │ │ │ ├── ifexpr.cpp │ │ │ ├── ifexpr.h │ │ │ ├── loopexpr.cpp │ │ │ ├── loopexpr.h │ │ │ ├── println.cpp │ │ │ ├── println.h │ │ │ ├── value.cpp │ │ │ ├── value.h │ │ │ ├── vars.cpp │ │ │ └── vars.h │ │ │ ├── errors.h │ │ │ ├── interpreter.cpp │ │ │ ├── lex │ │ │ ├── tokenizer.cpp │ │ │ └── tokenizer.h │ │ │ ├── parser │ │ │ ├── parser.cpp │ │ │ └── parser.h │ │ │ ├── runtime │ │ │ ├── memory.cpp │ │ │ └── memory.h │ │ │ └── sample grammar │ ├── 01_trees │ │ ├── bintree.cpp │ │ ├── bintreetests.cpp │ │ ├── data.txt │ │ ├── run.sh │ │ └── tressample.cpp │ ├── 02_knights │ │ └── knights.cpp │ ├── 03_hmap │ │ ├── hmap.cpp │ │ └── hmaptests.cpp │ ├── 04_trie │ │ ├── trie.cpp │ │ └── trietest.cpp │ └── 05_graphs │ │ ├── graph.cpp │ │ └── graph_test.cpp ├── 2018 │ ├── bintree │ │ ├── btree.cpp │ │ ├── btree.h │ │ └── main.cpp │ ├── graphs │ │ ├── examples.cpp │ │ ├── fsa.cpp │ │ └── main.cpp │ ├── llist │ │ ├── arrayiterator.cpp │ │ ├── arrayiterator.h │ │ ├── baseiterator.h │ │ ├── llist.cpp │ │ ├── llist.h │ │ ├── main.cpp │ │ ├── test20000.inp │ │ ├── test5000.inp │ │ ├── test50000.inp │ │ ├── testfile20000.txt │ │ ├── testfile5000.txt │ │ └── testfile50000.txt │ ├── maps │ │ ├── hashmap.cpp │ │ ├── main.cpp │ │ └── triemap.cpp │ ├── reactive │ │ └── funWithTemplates.cpp │ └── recstack │ │ └── lab.cpp ├── 2018-2019-is │ ├── containers │ │ ├── dllist.cpp │ │ ├── dllist.h │ │ ├── dynarray.cpp │ │ ├── dynarray.h │ │ ├── slist.cpp │ │ ├── slist.h │ │ └── test.cpp │ ├── lab │ │ └── labstack.cpp │ ├── maps │ │ ├── hmap.cpp │ │ ├── hmap.h │ │ ├── test.cpp │ │ ├── triemap.cpp │ │ └── triemap.h │ └── trees │ │ ├── btree.cpp │ │ ├── btree.h │ │ └── test.cpp ├── 2019-20_kn │ ├── graphs │ │ ├── doctest.h │ │ ├── graph.h │ │ ├── graph.hpp │ │ ├── graph_test.cpp │ │ └── main.cpp │ ├── lists │ │ ├── dllist.cpp │ │ ├── dllist.h │ │ ├── doctest.h │ │ ├── filter_iterator.cpp │ │ ├── filter_iterator.h │ │ ├── iter_tests.h │ │ ├── main.cpp │ │ ├── map_iterator.hpp │ │ ├── mapreduce │ │ │ ├── dllist.cpp │ │ │ ├── filteriterator.hpp │ │ │ ├── functions.hpp │ │ │ ├── mappediterator.hpp │ │ │ ├── mapreduce.cpp │ │ │ └── sequence.hpp │ │ ├── sequence.hpp │ │ ├── slist.cpp │ │ ├── slist.h │ │ └── tests.h │ ├── maps │ │ ├── doctest.h │ │ ├── hashmap.h │ │ ├── hashmap.hpp │ │ ├── hm_tests.hpp │ │ ├── main.cpp │ │ ├── tm_tests.hpp │ │ ├── treemap.h │ │ └── treemap.hpp │ ├── stacks │ │ ├── lab.cpp │ │ └── rpn.cpp │ └── trees │ │ ├── bintree.h │ │ ├── bintree.hpp │ │ ├── botree.h │ │ ├── botree.hpp │ │ ├── doctest.h │ │ ├── main.cpp │ │ ├── tree_functions.hpp │ │ ├── tree_tests.hpp │ │ └── trie_simple.cpp ├── 2019_pmsm │ ├── input.txt │ └── sorting.cpp ├── 2020-21-is │ ├── dllist │ │ ├── dllist.cpp │ │ ├── dllist.h │ │ ├── doctest.h │ │ └── main.cpp │ ├── expressions │ │ ├── expressions.cpp │ │ ├── expressions.h │ │ ├── exprtree.cpp │ │ ├── exptree.h │ │ ├── main.cpp │ │ ├── rpn.cpp │ │ ├── tokenizer.cpp │ │ ├── tokenizer.h │ │ ├── visitorbase.cpp │ │ └── visitorbase.h │ ├── graphs │ │ ├── doctest.h │ │ ├── graph.cpp │ │ ├── graph.h │ │ └── main.cpp │ ├── maps │ │ ├── doctest.h │ │ ├── hashmap.cpp │ │ ├── hashmap.h │ │ └── main.cpp │ ├── stack │ │ ├── hanoi.cpp │ │ ├── hanoiplayer.cpp │ │ ├── hanoiplayer.h │ │ ├── lab.cpp │ │ ├── pstack.cpp │ │ ├── pstack.h │ │ └── pstacktest.cpp │ ├── trees │ │ ├── bintree.cpp │ │ ├── bintree.h │ │ ├── doctest.h │ │ ├── treefunctions.cpp │ │ ├── treefunctions.h │ │ └── treetest.cpp │ └── trie │ │ ├── doctest.h │ │ ├── triemap.cpp │ │ ├── triemap.h │ │ └── trietest.cpp ├── 2020-21-kn │ ├── dllist │ │ ├── dllist.cpp │ │ ├── dllist.h │ │ └── main.cpp │ ├── expressions │ │ ├── doctest.h │ │ ├── expressions.cpp │ │ ├── expressions.h │ │ ├── exprtree.cpp │ │ ├── exprtree.h │ │ ├── main.cpp │ │ ├── rpn.cpp │ │ ├── tokenizer.cpp │ │ ├── tokenizer.h │ │ └── treetest.cpp │ ├── graphs │ │ ├── doctest.h │ │ ├── graph.cpp │ │ ├── graph.h │ │ └── main.cpp │ ├── maps │ │ ├── doctest.h │ │ ├── hashmap.cpp │ │ ├── hashmap.h │ │ └── main.cpp │ ├── stacks │ │ ├── hanoi.cpp │ │ ├── hanoiplayer.cpp │ │ ├── lab.cpp │ │ ├── pstack.cpp │ │ ├── pstack.h │ │ └── testpstack.cpp │ └── trees │ │ ├── bintree.cpp │ │ ├── bintree.h │ │ ├── doctest.h │ │ ├── treefunctions.cpp │ │ ├── treefunctions.h │ │ └── treetest.cpp ├── 2022-23-is │ ├── doctest.h │ ├── expressions │ │ ├── evaluator.cpp │ │ ├── evaluator.h │ │ ├── main.cpp │ │ ├── tokenizer.cpp │ │ └── tokenizer.h │ ├── graphs │ │ └── graphs.cpp │ ├── hanoitowers.cpp │ ├── hanoitowersStack.cpp │ ├── listtest.cpp │ ├── llist │ │ ├── llist.cpp │ │ └── llist.h │ ├── maps │ │ ├── hmap.cpp │ │ ├── hmap.h │ │ ├── hmaptest.cpp │ │ ├── trie.cpp │ │ ├── trie.h │ │ └── triemaptest.cpp │ ├── p1.cpp │ ├── stack │ │ ├── stack.cpp │ │ └── stack.h │ └── trees │ │ ├── bot.cpp │ │ ├── bot.h │ │ ├── bottest.cpp │ │ └── trees.cpp ├── 2023-24-kn │ ├── dllist │ │ ├── dllist.cpp │ │ └── dllist.h │ ├── doctest.h │ ├── graphs │ │ ├── example1.ndfsa │ │ ├── ndfsa.cpp │ │ ├── ndfsa.h │ │ └── ndfsatest.cpp │ ├── hasht │ │ ├── hasht.cpp │ │ ├── hasht.h │ │ └── hashttest.cpp │ ├── interpreter │ │ ├── evalutils.cpp │ │ ├── evalutils.h │ │ ├── exprtree.cpp │ │ ├── exprtree.h │ │ ├── interpreter.cpp │ │ ├── receval.cpp │ │ ├── receval.h │ │ ├── rpneval.cpp │ │ ├── rpneval.h │ │ ├── tokenizer.cpp │ │ ├── tokenizer.h │ │ ├── treebuilder.cpp │ │ └── treebuilder.h │ ├── main.cpp │ ├── smartptr │ │ ├── pstack.cpp │ │ ├── pstack.h │ │ ├── pstacktest.cpp │ │ ├── smartptr.cpp │ │ ├── smartptr.h │ │ └── smarttest.cpp │ ├── stacks_queues │ │ ├── hanoi.cpp │ │ └── labyrinth.cpp │ └── trees │ │ ├── tree.cpp │ │ ├── tree.h │ │ ├── treetest.cpp │ │ ├── trie.cpp │ │ └── trie.h └── 2024-25-is │ ├── arithmetic │ ├── aeparser.cpp │ ├── evalutils.cpp │ ├── evalutils.h │ ├── expression.cpp │ ├── expression.exis │ ├── expression.h │ ├── parser.cpp │ ├── parser.h │ ├── polish.cpp │ ├── polish.h │ ├── tokenizer.cpp │ └── tokenizer.h │ ├── doctest.h │ ├── graphs.cpp │ ├── hashmap │ ├── hashmap.cpp │ ├── hashmap.h │ └── hashmaptest.cpp │ └── trees │ ├── bintree.cpp │ ├── bintree.h │ ├── treetest.cpp │ ├── triemap.cpp │ └── triemap.h ├── 06_webtech └── simple-server │ ├── package.json │ ├── server.ts │ └── tsconfig.json ├── 07_fp └── 2025_is │ ├── functions.hs │ ├── game.hs │ ├── higher_order.hs │ ├── lists_basic.hs │ ├── type.hs │ └── type1.hs └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.out 3 | *.gz 4 | *.vrb 5 | *.toc 6 | *.nav 7 | *.fls 8 | *.aux 9 | *.snm 10 | *.fdb_latexmk 11 | *DS_Store 12 | *.vscode 13 | *.o -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "notes/06_web tech/reveal.js"] 2 | path = notes/06_web tech/reveal.js 3 | url = https://github.com/hakimel/reveal.js 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This work by Kalin Georgiev is licensed under CC BY-NC-SA 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lecture-notes 2 | Lecture notes on Computer Programming 3 | 4 | NOTES: Lecture notes 5 | 6 | HOMEWORKS: Exercises to be worked on after each lecture 7 | 8 | SAMPLES: Sample problems worked on during lectures -------------------------------------------------------------------------------- /admin/01_iis_oop_201718.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/admin/01_iis_oop_201718.pdf -------------------------------------------------------------------------------- /courseprojects/mnr/mnr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/courseprojects/mnr/mnr.pdf -------------------------------------------------------------------------------- /homeworks/Problems in Programming.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/Problems in Programming.pdf -------------------------------------------------------------------------------- /homeworks/images/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/cat.png -------------------------------------------------------------------------------- /homeworks/images/graph_16_polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/graph_16_polygons.png -------------------------------------------------------------------------------- /homeworks/images/graph_4_polygons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/graph_4_polygons.png -------------------------------------------------------------------------------- /homeworks/images/graph_sine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/graph_sine.png -------------------------------------------------------------------------------- /homeworks/images/graph_sine_coarse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/graph_sine_coarse.png -------------------------------------------------------------------------------- /homeworks/images/graph_twentygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/graph_twentygon.png -------------------------------------------------------------------------------- /homeworks/images/maze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/maze.png -------------------------------------------------------------------------------- /homeworks/images/path1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/path1.pdf -------------------------------------------------------------------------------- /homeworks/images/pusheen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/pusheen.jpg -------------------------------------------------------------------------------- /homeworks/images/step0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step0.png -------------------------------------------------------------------------------- /homeworks/images/step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step1.png -------------------------------------------------------------------------------- /homeworks/images/step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step2.png -------------------------------------------------------------------------------- /homeworks/images/step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step3.png -------------------------------------------------------------------------------- /homeworks/images/step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step4.png -------------------------------------------------------------------------------- /homeworks/images/step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/step5.png -------------------------------------------------------------------------------- /homeworks/images/trapezoidal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/trapezoidal.png -------------------------------------------------------------------------------- /homeworks/images/tree1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/homeworks/images/tree1.pdf -------------------------------------------------------------------------------- /license.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/license.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/CPU.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/CPU.jpeg -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/diagonal_argument.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/diagonal_argument.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/doom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/doom.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/fig_display_memory.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/fig_display_memory.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/fig_program.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/fig_program.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/fig_variables.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/fig_variables.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/monster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/monster.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/pres_b.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/pres_b.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/ram.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/ram.jpeg -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/sample_inout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/sample_inout.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/turing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/turing.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/turingmachine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/turingmachine.png -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/images/videoboard.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/images/videoboard.jpeg -------------------------------------------------------------------------------- /notes/01_programming 101/00_intro, basic concepts and examples/intro, basic concepts and examples.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/00_intro, basic concepts and examples/intro, basic concepts and examples.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/heron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/heron.png -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/paraboloid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/paraboloid.png -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/parts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/parts.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/square.png -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/stree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/stree.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/images/subprog.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/images/subprog.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/01_types, grammars, and functions/types, grammars, and functions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/01_types, grammars, and functions/types, grammars, and functions.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/arrays and strings.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/arrays and strings.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle_arrows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle_arrows.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle_arrows_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_cycle_arrows_2.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_if.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_if.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_if_arrows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_if_arrows.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_linear.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_linear.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_linear_arrows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/images/fc_linear_arrows.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/mnr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/mnr.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/operational semantics, flowcharts, blocks.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/02_operational semantics, flowcharts, arrays, strings/operational semantics, flowcharts, blocks.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_0.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_1.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_2.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_3.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_cols.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_cols.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_rows.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/images/matr_iter_rows.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_00_matrices and nested cycles/matrices and nested cycles.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_00_matrices and nested cycles/matrices and nested cycles.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/findmin.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/findmin.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/inssort.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/inssort.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge0.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge1.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge2.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge3.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge4.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge5.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge6.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge7.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge7.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge8.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/merge8.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/sssort.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/images/sssort.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/insertion sort, streight selection sort, merging.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/03_01_insertion sort, streight selection sort, merging/insertion sort, streight selection sort, merging.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/04_more on functions/more on functions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/04_more on functions/more on functions.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/05_pointers, arrays, function arguments/images/binsearch.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/05_pointers, arrays, function arguments/images/binsearch.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/05_pointers, arrays, function arguments/images/binsearch_smaller.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/05_pointers, arrays, function arguments/images/binsearch_smaller.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/05_pointers, arrays, function arguments/pointers, arrays, function arguments.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/05_pointers, arrays, function arguments/pointers, arrays, function arguments.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/Fibonacci.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/Fibonacci.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/array_unsorted.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/array_unsorted.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/binsearch_smaller.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/binsearch_smaller.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/danube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/danube.png -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/fact_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/fact_stack.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/fib_rabbits.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/fib_rabbits.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/fib_spiral.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/fib_spiral.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/fib_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/fib_stack.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/fib_tiling.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/fib_tiling.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/hole.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/hole.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/qsort.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/qsort.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/rec_wirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/rec_wirt.png -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/spaghetti.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/ssort_rec.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/ssort_rec.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/images/the_matrix.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/images/the_matrix.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/06_recursive functions/recursive functions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/06_recursive functions/recursive functions.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/backtracking.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/backtracking.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/brick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/brick.png -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_00.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_00.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_01.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_0101.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_0101.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_0102.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_0102.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_0103.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_0103.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_02.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_03.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_03.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_04.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_04.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_07.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_07.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_choice_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_choice_01.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_choice_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_choice_02.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/cb_count.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/cb_count.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/gold.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/gold.jpeg -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_00.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_00.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_01.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_02.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_choice_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_choice_01.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_choice_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_choice_02.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_dead1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_dead1.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_sol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_sol.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_st_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_st_01.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/lab_st_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/lab_st_02.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/mario.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/mario.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/monster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/monster.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/07_backtracking/images/puzzle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/07_backtracking/images/puzzle.png -------------------------------------------------------------------------------- /notes/01_programming 101/08_structures/images/padding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/08_structures/images/padding.png -------------------------------------------------------------------------------- /notes/01_programming 101/08_structures/structures.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/08_structures/structures.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/09_working with heap/images/delete.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/09_working with heap/images/delete.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/09_working with heap/images/heap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/09_working with heap/images/heap.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/09_working with heap/images/stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/09_working with heap/images/stack.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/09_working with heap/images/stackVSheap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/09_working with heap/images/stackVSheap.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/09_working with heap/working with heap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/09_working with heap/working with heap.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/basic complexity.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/basic complexity.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/constantf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/constantf.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/exponential.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/exponential.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/fib_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/fib_stack.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/fourgraphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/fourgraphs.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/linearandconst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/linearandconst.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/linearf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/linearf.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/logf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/logf.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/quadraticf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/quadraticf.png -------------------------------------------------------------------------------- /notes/01_programming 101/10_basic complexity/images/threegraphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/10_basic complexity/images/threegraphs.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/consoleout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/consoleout.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/directorytree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/directorytree.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/harddisk-oneszeros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/harddisk-oneszeros.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/harddisk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/harddisk.jpg -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/ramchip-oneszeros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/ramchip-oneszeros.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/structstudent.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/structstudent.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/images/textedit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/images/textedit.png -------------------------------------------------------------------------------- /notes/01_programming 101/11_text files/working with text files.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/11_text files/working with text files.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/binfile.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/binfile.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/binfileflag.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/binfileflag.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/binfiless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/binfiless.png -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/binfilesslarger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/binfilesslarger.png -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/padding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/padding.png -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/structstudent.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/structstudent.pdf -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/images/textfilebin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/images/textfilebin.png -------------------------------------------------------------------------------- /notes/01_programming 101/12_binary files/working with binary files.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/01_programming 101/12_binary files/working with binary files.pdf -------------------------------------------------------------------------------- /notes/02_oop/00_templates and higher order functions/templates and higher order functions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/00_templates and higher order functions/templates and higher order functions.pdf -------------------------------------------------------------------------------- /notes/02_oop/01_type alises and function pointer templates/type alises and function pointer templates.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/01_type alises and function pointer templates/type alises and function pointer templates.pdf -------------------------------------------------------------------------------- /notes/02_oop/02_classes, methods, the this pointer/classes, methods, this.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/02_classes, methods, the this pointer/classes, methods, this.pdf -------------------------------------------------------------------------------- /notes/02_oop/02_classes, methods, the this pointer/images/danube.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/02_classes, methods, the this pointer/images/danube.jpg -------------------------------------------------------------------------------- /notes/02_oop/02_classes, methods, the this pointer/images/people.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/02_classes, methods, the this pointer/images/people.jpg -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/contructors.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/contructors.pdf -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/baby.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/baby.jpeg -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/death.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/death.jpeg -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/lc_heap.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/lc_heap.pdf -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/lc_heap_cons.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/lc_heap_cons.pdf -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/lc_par.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/lc_par.pdf -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/lc_var.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/lc_var.pdf -------------------------------------------------------------------------------- /notes/02_oop/03_constructors/images/lc_var_cons.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/03_constructors/images/lc_var_cons.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/copying and destruction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/copying and destruction.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/lc_return_dual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/lc_return_dual.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/lc_return_full.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/lc_return_full.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/lc_return_simple.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/lc_return_simple.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/memshare_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/memshare_01.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/memshare_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/memshare_02.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/memshare_03.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/memshare_03.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/memshare_04.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/memshare_04.pdf -------------------------------------------------------------------------------- /notes/02_oop/04_copying and destruction/images/memshare_05.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/04_copying and destruction/images/memshare_05.pdf -------------------------------------------------------------------------------- /notes/02_oop/05_mapreduce and lambda functions/lambda functions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/05_mapreduce and lambda functions/lambda functions.pdf -------------------------------------------------------------------------------- /notes/02_oop/05_mapreduce and lambda functions/mapreduce.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/05_mapreduce and lambda functions/mapreduce.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/00_rec_obj_three_objects_linked.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/00_rec_obj_three_objects_linked.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/00_rec_obj_two_objects_linked.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/00_rec_obj_two_objects_linked.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/00_rec_obj_two_objects_unlinked.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/00_rec_obj_two_objects_unlinked.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/01_llbox_onebox.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/01_llbox_onebox.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/01_llbox_secondbox.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/01_llbox_secondbox.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/01_llbox_twoboxes.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/01_llbox_twoboxes.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/02_ll_boxcloud.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/02_ll_boxcloud.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/02_ll_flatchain.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/02_ll_flatchain.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/03_ll_push_firstlink.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/03_ll_push_firstlink.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/03_ll_push_initial.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/03_ll_push_initial.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/03_ll_push_secondtlink.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/03_ll_push_secondtlink.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/04_ll_trav_eol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/04_ll_trav_eol.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/04_ll_trav_start.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/04_ll_trav_start.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/04_ll_trav_stepone.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/04_ll_trav_stepone.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/05_ll_insert_firstlink.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/05_ll_insert_firstlink.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/05_ll_insert_secondlink.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/05_ll_insert_secondlink.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/05_ll_insert_start.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/05_ll_insert_start.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/06_ll_pop.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/06_ll_pop.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/07_ll_remove_save.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/07_ll_remove_save.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/07_ll_remove_skip.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/07_ll_remove_skip.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/images/07_ll_remove_stepone.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/images/07_ll_remove_stepone.pdf -------------------------------------------------------------------------------- /notes/02_oop/06_linked lists/linked lists.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/06_linked lists/linked lists.pdf -------------------------------------------------------------------------------- /notes/02_oop/07_iterators/iterators.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/07_iterators/iterators.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/array.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/array.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/figures.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/figures.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/figures_figure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/figures_figure.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmem_figure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmem_figure.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmem_rectangle.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmem_rectangle.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withmethods.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withmethods.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr_r1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr_r1.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr_r2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/images/inmen_rect_withptr_r2.pdf -------------------------------------------------------------------------------- /notes/02_oop/08_basic inheritance and virtual functions/inheritance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/08_basic inheritance and virtual functions/inheritance.pdf -------------------------------------------------------------------------------- /notes/02_oop/09_serialization/images/array.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/09_serialization/images/array.pdf -------------------------------------------------------------------------------- /notes/02_oop/09_serialization/serialization.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/09_serialization/serialization.pdf -------------------------------------------------------------------------------- /notes/02_oop/10_inheritance_and_composition/inheritance and composition.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/10_inheritance_and_composition/inheritance and composition.pdf -------------------------------------------------------------------------------- /notes/02_oop/11_exception handling/exceptions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/11_exception handling/exceptions.pdf -------------------------------------------------------------------------------- /notes/02_oop/12_function abstraction/function abstraction.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/12_function abstraction/function abstraction.pdf -------------------------------------------------------------------------------- /notes/02_oop/12_function abstraction/images/function_graph.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/12_function abstraction/images/function_graph.pdf -------------------------------------------------------------------------------- /notes/02_oop/12_function abstraction/images/function_math.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/12_function abstraction/images/function_math.pdf -------------------------------------------------------------------------------- /notes/02_oop/13_move semantics/move.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/02_oop/13_move semantics/move.pdf -------------------------------------------------------------------------------- /notes/03_data structures/expressions/expressions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/expressions/expressions.pdf -------------------------------------------------------------------------------- /notes/03_data structures/expressions/images/shunting_yard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/expressions/images/shunting_yard.png -------------------------------------------------------------------------------- /notes/03_data structures/graphs/graphs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/graphs.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_cities.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_cities.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_dfs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_dfs.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_dfs_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_dfs_2.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_levels.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_levels.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_numbers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_numbers.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_numbers_weight.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_numbers_weight.pdf -------------------------------------------------------------------------------- /notes/03_data structures/graphs/images/graph_span.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/graphs/images/graph_span.pdf -------------------------------------------------------------------------------- /notes/03_data structures/lists/images/skiplist_wikipedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/lists/images/skiplist_wikipedia.png -------------------------------------------------------------------------------- /notes/03_data structures/lists/lists.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/lists/lists.pdf -------------------------------------------------------------------------------- /notes/03_data structures/maps - hash tables and tries/images/hast1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/maps - hash tables and tries/images/hast1.png -------------------------------------------------------------------------------- /notes/03_data structures/maps - hash tables and tries/images/trie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/maps - hash tables and tries/images/trie.png -------------------------------------------------------------------------------- /notes/03_data structures/maps - hash tables and tries/maps, hast tables, tries.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/maps - hash tables and tries/maps, hast tables, tries.pdf -------------------------------------------------------------------------------- /notes/03_data structures/persistent ds, smart pointers/persistent ds, smart pointers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/persistent ds, smart pointers/persistent ds, smart pointers.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/balanced trees.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/balanced trees.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_avl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_avl.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_left_rotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_left_rotation.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_left_rotation_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_left_rotation_1.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_left_rotation_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_left_rotation_2.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_right_left_rotation_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_right_left_rotation_1.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_right_left_rotation_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_right_left_rotation_2.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/bal_tree_right_left_rotation_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/bal_tree_right_left_rotation_3.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/btree_example_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/btree_example_1.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/fujifilm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/fujifilm.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/lto_cartridge.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/lto_cartridge.jpeg -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/lto_sales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/lto_sales.png -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tape_old_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tape_old_1.jpeg -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tape_old_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tape_old_2.jpeg -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_access_children.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_access_children.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_arbitrary.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_arbitrary.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_bot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_bot.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_bot_clean.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_bot_clean.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_decision.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_decision.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_delete_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_delete_1.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_delete_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_delete_2.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_delete_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_delete_3.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_extremums.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_extremums.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_family_tree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_family_tree.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_in_memory.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_in_memory.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_print_process.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_print_process.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_print_process_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_print_process_stack.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_print_with_stack.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_print_with_stack.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_recursive.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_recursive.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_recursive_op.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_recursive_op.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_recursive_op_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_recursive_op_2.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_recursive_op_qm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_recursive_op_qm.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_recursive_op_sum.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_recursive_op_sum.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_subtree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_subtree.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/images/tree_traces.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/images/tree_traces.pdf -------------------------------------------------------------------------------- /notes/03_data structures/trees/trees.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/03_data structures/trees/trees.pdf -------------------------------------------------------------------------------- /notes/04_advanced_seminar/non-relational databases, mongo crud/images/mapreduce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/non-relational databases, mongo crud/images/mapreduce.png -------------------------------------------------------------------------------- /notes/04_advanced_seminar/non-relational databases, mongo crud/images/spaghetti.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/non-relational databases, mongo crud/images/spaghetti.jpg -------------------------------------------------------------------------------- /notes/04_advanced_seminar/non-relational databases, mongo crud/images/the_matrix.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/non-relational databases, mongo crud/images/the_matrix.jpg -------------------------------------------------------------------------------- /notes/04_advanced_seminar/non-relational databases, mongo crud/non-relational databases, mongo crud.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/non-relational databases, mongo crud/non-relational databases, mongo crud.pdf -------------------------------------------------------------------------------- /notes/04_advanced_seminar/paper on papers/Georgiev, K., Paper on papers, Recursive paper.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/paper on papers/Georgiev, K., Paper on papers, Recursive paper.pdf -------------------------------------------------------------------------------- /notes/04_advanced_seminar/paper on papers/images/wirth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/04_advanced_seminar/paper on papers/images/wirth.png -------------------------------------------------------------------------------- /notes/05_realational_algebra_intro/relational algebra.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/05_realational_algebra_intro/relational algebra.pdf -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/composingstick.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/composingstick.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/illumunatedtext.jpg.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/illumunatedtext.jpg.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/korean.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/korean.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/licenses.txt: -------------------------------------------------------------------------------- 1 | https://www.worldhistory.org/img/r/p/1000x1200/9697.jpg.webp?v=1730135285 2 | https://www.worldhistory.org/ 3 | 4 | https://commons.wikimedia.org/wiki/File:Sc%C3%A9nographie_Mus%C3%A9e_Imprimerie_Lyon_4.JPG 5 | 6 | 7 | https://erikexamines.substack.com/p/how-did-printing-work-in-the-time 8 | 9 | 10 | -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/press1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/press1.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/press2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/press2.JPG -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/screw.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/screw.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/images/types.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/images/types.webp -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/jedi.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/06_web tech/02_htmlcss/jedi.jpeg -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/sample1.html: -------------------------------------------------------------------------------- 1 | 2 |

This is one paragraph

3 |

This is another paragraph

4 |

This is one more paragraph

5 | 6 | 7 | 8 | 9 |

Google

10 | 11 | -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/sample2.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | Handwritten HTML! 10 | 11 | 12 | 13 | 14 | 15 |

This is one paragraph

16 |

This is another paragraph

17 |

This is one more paragraph

18 | 19 | 20 |

Кирилица!

21 | 22 | 23 | -------------------------------------------------------------------------------- /notes/06_web tech/02_htmlcss/sample3.css: -------------------------------------------------------------------------------- 1 | /* 2 | Sample 3. 3 | Style sheet(s). 4 | Selectors. 5 | Declarations. 6 | Selectors: type, class, individual elements. 7 | 8 | */ 9 | 10 | 11 | p 12 | { 13 | color:green; 14 | font-style: italic; 15 | 16 | } 17 | 18 | .pink-para 19 | { 20 | color:pink; 21 | 22 | } 23 | 24 | .blue-para 25 | { 26 | color:blue; 27 | 28 | } 29 | 30 | #special-para 31 | { 32 | color:red; 33 | font-style: italic; 34 | } 35 | 36 | .blue-para[important="yes"] 37 | { 38 | font-style: italic; 39 | } 40 | -------------------------------------------------------------------------------- /notes/06_web tech/README.md: -------------------------------------------------------------------------------- 1 | # Инсталиране на reveal.js 2 | 3 | В дикректорията `06_web tech/reveal.js': 4 | 5 | git submodule init 6 | git submodule update 7 | 8 | -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/02_ll_flatchain.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/02_ll_flatchain.pdf -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/data-operations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/data-operations.png -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/pipes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/pipes.png -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/type-inclusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/type-inclusion.png -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/vlen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/vlen.png -------------------------------------------------------------------------------- /notes/07_fp/00_intro/images/von-neumann.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/00_intro/images/von-neumann.png -------------------------------------------------------------------------------- /notes/07_fp/01_functions/images/rec_wirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/01_functions/images/rec_wirt.png -------------------------------------------------------------------------------- /notes/07_fp/03_practical_monads/images/composition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/03_practical_monads/images/composition.png -------------------------------------------------------------------------------- /notes/07_fp/03_practical_monads/images/maze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/03_practical_monads/images/maze.png -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_00.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_00.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_01.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_02.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_choice_01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_choice_01.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_dead1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_dead1.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/lab_sol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/lab_sol.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/qsort.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/qsort.pdf -------------------------------------------------------------------------------- /notes/07_fp/04_recursion/images/rec_wirt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/04_recursion/images/rec_wirt.png -------------------------------------------------------------------------------- /notes/07_fp/05_higher_order_fn/images/02_ll_flatchain.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/05_higher_order_fn/images/02_ll_flatchain.pdf -------------------------------------------------------------------------------- /notes/07_fp/05_higher_order_fn/images/closure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/05_higher_order_fn/images/closure.png -------------------------------------------------------------------------------- /notes/07_fp/05_higher_order_fn/images/mapreduce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/05_higher_order_fn/images/mapreduce.png -------------------------------------------------------------------------------- /notes/07_fp/06_io/data.csv: -------------------------------------------------------------------------------- 1 | Kalin Georgiev,M,01-01-1981 2 | Maria Ivanova,F,05-05-2003 -------------------------------------------------------------------------------- /notes/07_fp/06_io/images/composition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/06_io/images/composition.png -------------------------------------------------------------------------------- /notes/07_fp/06_io/images/deserialization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/06_io/images/deserialization.png -------------------------------------------------------------------------------- /notes/07_fp/06_io/images/pure_functional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/06_io/images/pure_functional.png -------------------------------------------------------------------------------- /notes/07_fp/06_io/images/serialization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/06_io/images/serialization.png -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_decision.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_decision.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_delete_1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_delete_1.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_delete_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_delete_2.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_delete_3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_delete_3.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_recursive.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_recursive.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_recursive_op_2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_recursive_op_2.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_recursive_op_qm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_recursive_op_qm.pdf -------------------------------------------------------------------------------- /notes/07_fp/09_binary_trees/images/tree_recursive_op_sum.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/09_binary_trees/images/tree_recursive_op_sum.pdf -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/bfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/bfs.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/fifo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/fifo.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/lifo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/lifo.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/maze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/maze.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/maze2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/maze2.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/qstack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/qstack.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/rpn 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/rpn 1.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/shunting_yard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/shunting_yard.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/trains 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/trains 1.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/trains 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/trains 2.png -------------------------------------------------------------------------------- /notes/07_fp/11_stackqueue/images/tranis 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/notes/07_fp/11_stackqueue/images/tranis 3.png -------------------------------------------------------------------------------- /notes/thankyou.tex: -------------------------------------------------------------------------------- 1 | \begin{frame}[fragile] 2 | \frametitle{} 3 | 4 | \centerline{Благодаря за вниманието!} 5 | \input{../../../license.tex} 6 | \license{../../..} 7 | 8 | \end{frame} -------------------------------------------------------------------------------- /samples/01_programming 101/2015/sorting/findmax.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | 6 | int main () 7 | { 8 | 9 | const int arrSize = 5; 10 | 11 | int a[arrSize] = {0}; 12 | 13 | int i; 14 | 15 | 16 | for (i = 0; i < arrSize; i++) 17 | { 18 | cout << "Please enter a number:"; 19 | cin >> a[i]; 20 | } 21 | 22 | 23 | int currentMax = a[0]; 24 | 25 | for (i = 1; i < arrSize; i++) 26 | { 27 | if (a[i] > currentMax) 28 | currentMax = a[i]; 29 | } 30 | 31 | cout << "Max el = " << currentMax << endl; 32 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2015/structs_and_files/files.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | void print (ostream& out) 7 | { 8 | out << "Hello world!\n" 9 | << 5 << " " 10 | << 5.15; 11 | 12 | } 13 | 14 | int main () 15 | { 16 | print (cout); 17 | 18 | ofstream hello_file ("hello file on the disk.txt"); 19 | 20 | print (hello_file); 21 | 22 | return 0; 23 | 24 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2015/structs_and_files/files2.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main () 7 | { 8 | 9 | int i; 10 | 11 | char txt[1000] = "ERROR!"; 12 | 13 | ifstream hello_file ("hello file on the disk.txt"); 14 | 15 | hello_file >> i; 16 | 17 | hello_file.getline (txt,1000); 18 | 19 | cout << "We are able to read: " << txt << endl; 20 | 21 | return 0; 22 | 23 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2015/structs_and_files/files3.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | 7 | int main () 8 | { 9 | 10 | int x,y,z; 11 | 12 | cin >> x >> y >> z; 13 | 14 | cout << z << endl; 15 | 16 | return 0; 17 | 18 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2015/structs_and_files/test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int main () 6 | { 7 | cout << "Hello world!\n"; 8 | return 0; 9 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2016/misc/cycles.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | 5 | using namespace std; 6 | /* 7 | Precondition: 8 | */ 9 | double perimeter (double a, double b, double c) 10 | { 11 | 12 | assert (a > 0 && b > 0 && c > 0); 13 | assert (a+b > c); 14 | assert (a+c > b); 15 | assert (c+b > a); 16 | 17 | return a + b + c; 18 | } 19 | 20 | int main () 21 | { 22 | 23 | int x = 100; 24 | 25 | { 26 | int x = 90; 27 | cout << x << endl; 28 | 29 | } 30 | 31 | cout << x << endl; 32 | 33 | return 0; 34 | 35 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2016/misc/misc2.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | 6 | long test (long *t1, long t2) 7 | { 8 | (*t1)++; 9 | t1++; // <=> *t1++; 10 | t2++; 11 | return 10; 12 | } 13 | 14 | void f (long arr[]) 15 | { 16 | cout << sizeof(arr) << endl; 17 | } 18 | 19 | int main () 20 | 21 | { 22 | 23 | long a[3] = {1,2,3}; 24 | long b[4] = {1,2,3,4}; 25 | 26 | f (a); 27 | f (b); 28 | 29 | 30 | 31 | return 0; 32 | 33 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2018/lecture3.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int main () 6 | { 7 | 8 | long n; 9 | 10 | cout << "Please enter n="; 11 | cin >> n; 12 | 13 | 14 | long countDigits = 1, 15 | sumDigits = 0; 16 | 17 | while (n >= 10) 18 | { 19 | sumDigits += n % 10; 20 | countDigits++; 21 | 22 | n /= 10; 23 | } 24 | 25 | sumDigits += n; 26 | 27 | cout << "You entered " 28 | << countDigits 29 | << " digts. Their sum is " 30 | << sumDigits 31 | << endl; 32 | 33 | 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /samples/01_programming 101/2018/students database/students.db: -------------------------------------------------------------------------------- 1 | 2 2 | 44444 Kalin Georgiev 3 | 1 6 4 | 9999 Ivan Ivanov 5 | 3 6 6 6 6 | -------------------------------------------------------------------------------- /samples/01_programming 101/2019-20_kn/types.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int main() 5 | { 6 | 7 | int int_a = 1, int_b = 2; 8 | double dbl_a = 1, dbl_b = 2; 9 | char chr_a = 'a', chr_b = 'b'; 10 | 11 | cout << int_a / int_b << endl; 12 | cout << dbl_a / dbl_b << endl; 13 | cout << chr_a << endl; 14 | 15 | int_a = 'a'; //int_a = chr_a; 16 | cout << int_a << endl; 17 | 18 | chr_a = 'Z'-'A'; 19 | cout << chr_a << endl; 20 | int_a = '1' - '1'; 21 | cout << int_a << endl; 22 | return 0; 23 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2019/loops.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int main() 5 | { 6 | int number, sum = 0; 7 | for (int counter = 0; counter < 4; counter = counter + 1) 8 | { 9 | cout << "Please enter number #" << counter << ":"; 10 | cin >> number; 11 | sum = sum + number; 12 | cout << "Current sum = " << sum << endl; 13 | } 14 | cout << "The average is " << sum / 4; 15 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/fact.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | int main() 5 | { 6 | int number; 7 | 8 | std::cout << "Моля, въведете естествено число:"; 9 | std::cin >> number; 10 | 11 | //number! = 1 * 2 * 3 * 4 * ... * number 12 | 13 | // 1 * 2 * 3 * 4 * 5 14 | 15 | int prod=1; 16 | 17 | while(number > 1) 18 | { 19 | prod = prod * number; 20 | --number; 21 | } 22 | 23 | std::cout << prod << std::endl; 24 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/p1.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | 6 | int a; 7 | 8 | if (false) 9 | { 10 | int b,c,d; 11 | } 12 | 13 | a = 5; 14 | 15 | int c = 8; 16 | 17 | c = a++; 18 | 19 | ++a; 20 | 21 | c = ++a; 22 | 23 | b = 6; 24 | 25 | std::cout << a << ";kalin;" << b << std::endl << c << std::endl << d << std::endl; 26 | 27 | return 0; 28 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/p10.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | void f(int &p) 5 | { 6 | p=10; 7 | std::cout << p << std::endl; 8 | } 9 | 10 | 11 | int main() 12 | { 13 | int x = 0; 14 | f(x); 15 | std::cout << x << std::endl; 16 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/p2.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | int a = 7, b = 8, c = 9; 6 | 7 | std::cout << "Моля, въведете a="; 8 | std::cin >> a; 9 | 10 | std::cout << "Моля, въведете b="; 11 | std::cin >> b; 12 | 13 | std::cout << "magic=" << (a==b) << std::endl; 14 | 15 | if (a==b) 16 | { 17 | std::cout << "Браво, уцели!" << std::endl; 18 | } else { 19 | std::cout << "Sorry, не уцели!" << std::endl; 20 | } 21 | 22 | 23 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/p3.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | 6 | int n; 7 | 8 | int a[100], b[100]; 9 | std::cin >> n; 10 | 11 | for (int i = 0; i < n; ++i) 12 | { 13 | std::cout << "Моля, въведете " << i << "-тото число:"; 14 | std::cin >> a[i]; 15 | } 16 | 17 | int sum = 0; 18 | 19 | for (int i = 0; i < n; ++i) 20 | { 21 | sum += a[i]; 22 | } 23 | 24 | std::cout << sum / n << std::endl; 25 | 26 | 27 | 28 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/p4.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int myLen (char s[]) 5 | { 6 | int i = 0; 7 | while(s[i] != '\0') 8 | { 9 | ++i; 10 | } 11 | 12 | return i; 13 | } 14 | 15 | int main() 16 | { 17 | char s1[100] = "Hello", 18 | s2[100] = "World"; 19 | 20 | 21 | //strcpy(s1,s2); 22 | strcat(s1,s2); 23 | std::cout << strlen(s2) << std::endl; 24 | 25 | 26 | 27 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/pixels/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2022-23-kn/pixels/draw/images/circle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/pixels/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2022-23-kn/pixels/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/01_programming 101/2022-23-kn/pixels/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2022-23-kn/pixels/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/characters.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | int main() 5 | { 6 | 7 | int a = 0; 8 | char c = 0; 9 | 10 | a = 'Z' - 'A'; 11 | c = 'A'+1; 12 | 13 | std::cout << a << std::endl; 14 | std::cout << c; 15 | 16 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/count_digits.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | 6 | int x, save; 7 | std::cout << "Моля въведете x="; 8 | std::cin >> x; 9 | 10 | if (x < 10) 11 | { 12 | std::cout << "Числото " << x << " има 1 цифра."; 13 | } else 14 | { 15 | int count = 0; 16 | save = x; 17 | while (x > 0) 18 | { 19 | x = x / 10; 20 | ++count; 21 | } 22 | 23 | std::cout << "Числото " << save << " има " << count << " цифри."; 24 | 25 | } 26 | 27 | return 0; 28 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/phonebbok.phbkn: -------------------------------------------------------------------------------- 1 | 4 2 | Калин Георгиев II b 3 | 2 08888888888 023456346735463 4 | Иван Петров 5 | 1 02452467542765 6 | Петър Иванов 7 | 3 02298734534 34535 25235235 8 | Мария Иванова 9 | 1 35763576 10 | Иван И. 11 | 2 1111 222222 -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/pixels/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2023-24-kn/pixels/draw/images/circle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/pixels/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2023-24-kn/pixels/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/pixels/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2023-24-kn/pixels/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/sum_digits.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | 6 | int x, save; 7 | std::cout << "Моля въведете x="; 8 | std::cin >> x; 9 | 10 | int sum = 0; 11 | save = x; 12 | while (x > 0) 13 | { 14 | sum = sum + (x % 10); 15 | x = x / 10; 16 | } 17 | 18 | std::cout << "Числото " << save << " има сума на цифрите=" << sum << "."; 19 | 20 | 21 | return 0; 22 | } -------------------------------------------------------------------------------- /samples/01_programming 101/2023-24-kn/test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | 6 | int x = 65; 7 | char y = 65; 8 | 9 | std::cout << x << std::endl << y << std::endl; 10 | 11 | double z = 10.15; 12 | 13 | std::cout << z << std::endl << std::scientific << z << std::endl; 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /samples/01_programming 101/2024-25-kn/drawing/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2024-25-kn/drawing/draw/images/circle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2024-25-kn/drawing/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2024-25-kn/drawing/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/01_programming 101/2024-25-kn/drawing/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/01_programming 101/2024-25-kn/drawing/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/01_programming 101/2024-25-kn/types.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | double surface(double a, double b, double c) 7 | { 8 | double p = (a+b+c)/2.0; 9 | 10 | double s = sqrt(p*(p-a)*(p-b)*(p-c)); 11 | 12 | return s; 13 | } 14 | 15 | int main() 16 | { 17 | 18 | cout << surface(3,3,3) << endl; 19 | 20 | char c = 65; //= 'A' 21 | 22 | cout << c << endl; 23 | 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/output/test.dot: -------------------------------------------------------------------------------- 1 | digraph G{ 2 | 0[label="BLOCK"]; 3 | 0->4 4 | 4[label="x:="]; 5 | 4->3 6 | 3[label="+"]; 7 | 3->1; 8 | 3->2[style="dashed"]; 9 | 1[label="const:2"]; 10 | 2[label="const:3"]; 11 | 0->11 12 | 11[label="IF"]; 13 | 11->5[style=dashed]; 14 | 11->9; 15 | 11->10; 16 | 9[shape="box"]; 17 | 5[label="x",shape=box]; 18 | 9[label="x:="]; 19 | 9->8 20 | 8[label="+"]; 21 | 8->6; 22 | 8->7[style="dashed"]; 23 | 6[label="x",shape=box]; 24 | 7[label="const:1"]; 25 | 10[label="const:0"]; 26 | 0->12 27 | 12[label="x",shape=box]; 28 | } 29 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/output/test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2016/09_interpreter/output/test.pdf -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/run.sh: -------------------------------------------------------------------------------- 1 | g++ src/interpreter.cpp src/lex/*cpp src/ast/*cpp src/parser/*cpp -o bin/interpreter -std=c++11 2 | bin/interpreter < "sample program" 2> output/test.dot 3 | dot output/test.dot -Tpdf > output/test.pdf 4 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/sample program: -------------------------------------------------------------------------------- 1 | start 2 | 3 | assign x + 2 3 4 | 5 | if x then assign x + x 1 6 | else 0 7 | 8 | x 9 | 10 | end -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/ast.h: -------------------------------------------------------------------------------- 1 | #ifndef __AST_H 2 | #define __AST_H 3 | 4 | //колекция от всички 5 | //хедъри, описващи възли на 6 | //абстрактното синтактично дърво 7 | 8 | #include "value.h" 9 | #include "doublevalue.h" 10 | 11 | 12 | #include "expression.h" 13 | 14 | 15 | #include "constant.h" 16 | #include "ifexpr.h" 17 | #include "vars.h" 18 | #include "binaryarithexpr.h" 19 | #include "block.h" 20 | 21 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/binaryarithexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __BINARREXPR_H 2 | #define __BINARREXPR_H 3 | 4 | #include 5 | #include "value.h" 6 | #include "expression.h" 7 | 8 | using namespace std; 9 | 10 | class BinaryArithmOper : public Expression 11 | //5+6 12 | { 13 | private: 14 | Expression *e1; Expression *e2; 15 | char op; 16 | public: 17 | BinaryArithmOper 18 | (Expression *_e1, 19 | Expression *_e2, 20 | char _op); 21 | 22 | Value* execute (); 23 | void print (ostream &out); 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/block.h: -------------------------------------------------------------------------------- 1 | #ifndef __BLOCK_H 2 | #define __BLOCK_H 3 | 4 | #include 5 | #include 6 | 7 | #include "expression.h" 8 | 9 | using namespace std; 10 | 11 | class BlockExpression : public Expression 12 | { 13 | private: 14 | vector expressions; 15 | public: 16 | BlockExpression (); 17 | 18 | void addExpression (Expression *e); 19 | 20 | void print (ostream &out); 21 | 22 | Value* execute (); 23 | 24 | }; 25 | 26 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/constant.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "constant.h" 6 | 7 | Constant::Constant (Value *v):myValue (v){} 8 | 9 | Value* Constant::execute () 10 | { 11 | return myValue; 12 | } 13 | 14 | void Constant::print (ostream &out) 15 | { 16 | out << getID() << "[label=\"const:"; 17 | myValue->print(out); 18 | out << "\"];" << endl; 19 | } 20 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/constant.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONSTANT_H 2 | #define __CONSTANT_H 3 | 4 | #include 5 | 6 | #include "expression.h" 7 | 8 | using namespace std; 9 | 10 | class Constant : public Expression 11 | { 12 | 13 | private: 14 | Value *myValue; 15 | public: 16 | 17 | Constant (Value *v); 18 | 19 | Value* execute (); 20 | 21 | void print (ostream &out); 22 | }; 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/doublevalue.h: -------------------------------------------------------------------------------- 1 | #ifndef __DOUBLEVALUE_H 2 | #define __DOUBLEVALUE_H 3 | 4 | #include 5 | #include "value.h" 6 | 7 | class DoubleValue : public Value{ 8 | 9 | private: 10 | double v; 11 | public: 12 | DoubleValue (double _v); 13 | virtual void print (ostream &out); 14 | 15 | Value* plus (Value *other); 16 | 17 | Value* power (Value *other); 18 | 19 | int getType (); 20 | 21 | virtual bool toNativeBool (); 22 | 23 | }; 24 | 25 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/expression.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "expression.h" 6 | 7 | using namespace std; 8 | 9 | Expression::Expression () {myID = maxID++;} 10 | 11 | int Expression::getID () {return myID;} 12 | 13 | void Expression::printTree (Expression *e, ostream &out) 14 | { 15 | out << "digraph G{" << endl; 16 | e->print (out); 17 | out << "}" << endl; 18 | } 19 | 20 | int Expression::maxID = 0; -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/ifexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __IFEXPR_H 2 | #define __IFEXPR_H 3 | 4 | #include 5 | #include "expression.h" 6 | 7 | using namespace std; 8 | 9 | 10 | class IfExpr : public Expression 11 | { 12 | private: 13 | Expression *conde, *thene, *elsee; 14 | public: 15 | IfExpr (Expression *_c, 16 | Expression *_t, 17 | Expression *_e); 18 | 19 | 20 | Value* execute (); 21 | 22 | void print (ostream &out); 23 | }; 24 | 25 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/value.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "value.h" 6 | 7 | 8 | Value* Value::plus (Value *other) 9 | { 10 | assert (false); 11 | return NULL; 12 | }; 13 | Value* Value::power (Value *other) 14 | { 15 | assert (false); 16 | return NULL; 17 | }; 18 | 19 | bool Value::toNativeBool () 20 | { 21 | assert (false); 22 | return false; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/ast/value.h: -------------------------------------------------------------------------------- 1 | #ifndef __VALUE_H 2 | #define __VALUE_H 3 | 4 | #define DOUBLE_VALUE 0 5 | 6 | #include 7 | using namespace std; 8 | 9 | class Value 10 | { 11 | public: 12 | virtual void print (ostream &out) = 0; 13 | 14 | virtual Value* plus (Value *other); 15 | virtual Value* power (Value *other); 16 | 17 | virtual bool toNativeBool (); 18 | 19 | 20 | virtual int getType () = 0; 21 | 22 | }; 23 | 24 | 25 | 26 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2016/09_interpreter/src/errors.h: -------------------------------------------------------------------------------- 1 | #ifndef __ERRORS_H 2 | #define __ERRORS_H 3 | 4 | 5 | #define error(x) {cerr< 2 | 3 | using namespace std; 4 | 5 | #include "ast/ast.h" 6 | #include "lex/tokenizer.h" 7 | #include "parser/parser.h" 8 | 9 | int main () 10 | { 11 | 12 | 13 | Tokenizer tokenizer (cin); 14 | 15 | Expression *program = Parser::parse (tokenizer); 16 | 17 | cout << "Program value="; 18 | program->execute()->print(cout); 19 | cout << endl; 20 | 21 | Expression::printTree (program,cerr); 22 | 23 | 24 | } -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/constant.cpp: -------------------------------------------------------------------------------- 1 | #include "constant.h" 2 | 3 | Constant::Constant (double _c):c(_c){} 4 | 5 | double Constant::value (double x) 6 | { 7 | return c; 8 | } 9 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/constant.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONSTANT_H 2 | #define __CONSTANT_H 3 | 4 | #include "functions.h" 5 | 6 | class Constant : public Function 7 | { 8 | private: 9 | double c; 10 | 11 | public: 12 | Constant (double _c); 13 | double value (double); 14 | 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/cutfunction.h: -------------------------------------------------------------------------------- 1 | #ifndef __CUTFN_H 2 | #define __CUTFN_H 3 | 4 | #include "functions.h" 5 | 6 | class CutFunction : public Function 7 | { 8 | private: 9 | Function *f; 10 | public: 11 | CutFunction (Function*); 12 | double value (double); 13 | 14 | }; 15 | 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/cutfuntion.cpp: -------------------------------------------------------------------------------- 1 | #include "cutfunction.h" 2 | 3 | CutFunction::CutFunction (Function *_f):f(_f){} 4 | 5 | double CutFunction::value (double x) 6 | { 7 | double y = f->value (x); 8 | if (y >= 0) 9 | return y; 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/functions.cpp: -------------------------------------------------------------------------------- 1 | #include "functions.h" 2 | 3 | double Function::operator () (double x) 4 | { 5 | return value (x); 6 | } 7 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/functions.h: -------------------------------------------------------------------------------- 1 | #ifndef __FUNCTIONS_H 2 | #define __FUNCTIONS_H 3 | 4 | class Function 5 | { 6 | public: 7 | virtual double value (double) = 0; 8 | double operator () (double); 9 | 10 | }; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/linear.cpp: -------------------------------------------------------------------------------- 1 | #include "linear.h" 2 | 3 | Linear::Linear (double _a,double _b):a(_a),b(_b){} 4 | 5 | double Linear::value (double x) 6 | { 7 | return a*x + b; 8 | } 9 | -------------------------------------------------------------------------------- /samples/02_oop/2017/Functions/linear.h: -------------------------------------------------------------------------------- 1 | #ifndef __LINEAR_H 2 | #define __LINEAR_H 3 | 4 | #include "functions.h" 5 | 6 | class Linear : public Function 7 | { 8 | private: 9 | double a; 10 | double b; 11 | 12 | public: 13 | Linear (double,double); 14 | double value (double); 15 | 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /samples/02_oop/2017/compilation/a.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define ERROR {cerr<<"OOPS!!!";} 4 | 5 | void f () 6 | { 7 | 8 | NULL 9 | 10 | std::cout << "f! \n"; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /samples/02_oop/2017/compilation/a.h: -------------------------------------------------------------------------------- 1 | #ifndef __A_H 2 | #define __A_H 3 | 4 | void f (); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /samples/02_oop/2017/compilation/b.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "b.h" 3 | 4 | 5 | void g () 6 | { 7 | 8 | f(); 9 | std::cout << "g! \n"; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /samples/02_oop/2017/compilation/b.h: -------------------------------------------------------------------------------- 1 | #ifndef __B_H 2 | #define __B_H 3 | 4 | #include "a.h" 5 | 6 | void g (); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /samples/02_oop/2017/compilation/c.cpp: -------------------------------------------------------------------------------- 1 | #include "a.h" 2 | //#include "b.h" 3 | 4 | //void f (); 5 | void g (); 6 | 7 | int main () 8 | { 9 | 10 | //k(); 11 | 12 | f(); 13 | g(); 14 | } 15 | -------------------------------------------------------------------------------- /samples/02_oop/2017/fptr/fptrtest.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | 4 | 5 | int main () 6 | { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/grammar.txt: -------------------------------------------------------------------------------- 1 | ::= | 2 | 3 | ::= if 4 | then 5 | else 6 | 7 | ::= 8 | ::= ( ) 9 | ::= + | * | - 10 | ::= {0,..,9}+ 11 | 12 | (if 1 then 2 else 3 + if 4 then 5 else 6) 13 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/makefile: -------------------------------------------------------------------------------- 1 | targets := $(wildcard src/*cpp) $(wildcard src/ast/*cpp) $(wildcard src/parser/*cpp) $(wildcard src/interpreter/*cpp) 2 | headers := $(wildcard src/*h) $(wildcard src/ast/*h) $(wildcard src/parser/*h) $(wildcard src/interpreter/*h) 3 | 4 | knsi: $(targets) $(headers) 5 | g++ -std=c++11 -o knsi $(targets) 6 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/myProgram.knsi: -------------------------------------------------------------------------------- 1 | ( if 1 then 2 else 3 + 4 ) 2 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/run.sh: -------------------------------------------------------------------------------- 1 | make 2 | ./knsi myProgram.knsi 3 | dot -Tpdf ast.dot > ast.pdf 4 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/ast.h: -------------------------------------------------------------------------------- 1 | #include "expression.h" 2 | #include "binexpr.h" 3 | #include "constexpr.h" 4 | #include "ifexpr.h" 5 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/binexpr.cpp: -------------------------------------------------------------------------------- 1 | #include "ast.h" 2 | #include "visitor.h" 3 | 4 | #include 5 | 6 | BinExpr::BinExpr (Expression *_left, 7 | char _op, 8 | Expression *_right):left(_left),op(_op),right(_right){} 9 | 10 | void BinExpr::accept (Visitor *visitor) 11 | { 12 | visitor->visit(this); 13 | } 14 | Expression* BinExpr::getLeft() 15 | { 16 | return left; 17 | } 18 | Expression* BinExpr::getRight() 19 | { 20 | return right; 21 | } 22 | char BinExpr::getOperator() 23 | { 24 | return op; 25 | } 26 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/binexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __BINEXPR__H 2 | #define __BINEXPR__H 3 | 4 | #include "expression.h" 5 | 6 | class BinExpr : public Expression 7 | { 8 | private: 9 | char op; 10 | Expression *left; 11 | Expression *right; 12 | public: 13 | BinExpr (Expression *_left, char _op, Expression *_right); 14 | 15 | void accept (Visitor*); 16 | 17 | Expression* getLeft(); 18 | Expression* getRight(); 19 | char getOperator(); 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/constexpr.cpp: -------------------------------------------------------------------------------- 1 | #include "ast.h" 2 | #include "visitor.h" 3 | 4 | ConstExpr::ConstExpr (double _val):val(_val) 5 | { 6 | 7 | } 8 | 9 | void ConstExpr::accept (Visitor *visitor) 10 | { 11 | visitor->visit(this); 12 | } 13 | double ConstExpr::getDoubleVal () 14 | { 15 | return val; 16 | } 17 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/constexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONST_H 2 | #define __CONST_H 3 | 4 | #include "expression.h" 5 | 6 | class ConstExpr : public Expression 7 | { 8 | private: 9 | double val; 10 | public: 11 | ConstExpr (double _val); 12 | void accept (Visitor*); 13 | double getDoubleVal (); 14 | 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/expression.h: -------------------------------------------------------------------------------- 1 | #ifndef __EXPR_H 2 | #define __EXPR_H 3 | 4 | class Visitor; 5 | 6 | class Expression 7 | { 8 | public: 9 | virtual void accept (Visitor*)=0; 10 | 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/ifexpr.cpp: -------------------------------------------------------------------------------- 1 | #include "ast.h" 2 | #include "visitor.h" 3 | 4 | IfExpr::IfExpr (Expression *_cond, 5 | Expression *_then, 6 | Expression *_else):condExpr(_cond),thenExpr(_then),elseExpr(_else){} 7 | 8 | void IfExpr::accept (Visitor *visitor) 9 | { 10 | visitor->visit (this); 11 | } 12 | 13 | Expression* IfExpr::getCondition() 14 | { 15 | return condExpr; 16 | } 17 | Expression* IfExpr::getThenExpr() 18 | { 19 | return thenExpr; 20 | } 21 | Expression* IfExpr::getElseExpr() 22 | { 23 | return elseExpr; 24 | } 25 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/ifexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __IFEXPR__ 2 | #define __IFEXPR__ 3 | 4 | #include "expression.h" 5 | 6 | class IfExpr : public Expression 7 | { 8 | private: 9 | Expression *condExpr; 10 | Expression *thenExpr; 11 | Expression *elseExpr; 12 | public: 13 | IfExpr (Expression *_cond, Expression *_then, Expression *_else); 14 | 15 | void accept (Visitor*); 16 | 17 | Expression* getCondition(); 18 | Expression* getThenExpr(); 19 | Expression* getElseExpr(); 20 | 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/visitor.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "visitor.h" 3 | 4 | void Visitor::visit (ConstExpr*) 5 | { 6 | assert (false); 7 | } 8 | void Visitor::visit (BinExpr*) 9 | { 10 | assert (false); 11 | } 12 | void Visitor::visit (IfExpr*) 13 | { 14 | assert (false); 15 | } 16 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/ast/visitor.h: -------------------------------------------------------------------------------- 1 | #ifndef __VISITOR_H 2 | #define __VISITOR_H 3 | 4 | #include "ast.h" 5 | 6 | class Visitor 7 | { 8 | public: 9 | virtual void visit (ConstExpr*); 10 | virtual void visit (BinExpr*); 11 | virtual void visit (IfExpr*); 12 | }; 13 | 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/interpreter/evalvisitor.h: -------------------------------------------------------------------------------- 1 | #ifndef __EVALVISITOR_H 2 | #define __EVALVISITOR_H 3 | 4 | #include "../ast/visitor.h" 5 | #include "../ast/ast.h" 6 | 7 | class EvalVisitor : public Visitor 8 | { 9 | private: 10 | double computedValue; 11 | public: 12 | void visit (ConstExpr*); 13 | void visit (BinExpr*); 14 | void visit (IfExpr*); 15 | 16 | double getComputedValue (); 17 | }; 18 | 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/parser/dottyprinter.h: -------------------------------------------------------------------------------- 1 | #ifndef __DOTTYPRINT__ 2 | #define __DOTTYPRINT__ 3 | 4 | #include "../ast/ast.h" 5 | #include "../ast/visitor.h" 6 | 7 | class DottyPrinter : public Visitor 8 | { 9 | private: 10 | int dottyIdRoot; 11 | static int lastDottyId; 12 | std::ostream &output; 13 | public: 14 | 15 | DottyPrinter (std::ostream&); 16 | 17 | void visit (ConstExpr*); 18 | void visit (BinExpr*); 19 | void visit (IfExpr*); 20 | 21 | void print (Expression*); 22 | 23 | }; 24 | 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /samples/02_oop/2017/interpreter/src/parser/parser.h: -------------------------------------------------------------------------------- 1 | #ifndef __PARSER_H 2 | #define __PARSER_H 3 | 4 | #include "../ast/expression.h" 5 | #include "tokenizer.h" 6 | #include 7 | 8 | class Parser 9 | { 10 | 11 | private: 12 | 13 | static Expression* parseExpression (Tokenizer&); 14 | static Expression* parseBinExpr (Tokenizer&); 15 | static Expression* parseIfExpr (Tokenizer&); 16 | static Expression* parseConst (Tokenizer&); 17 | 18 | 19 | public: 20 | static Expression* parse (std::istream&); 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /samples/02_oop/2017/serialize/circle.h: -------------------------------------------------------------------------------- 1 | #ifndef __CIRCLE_H 2 | #define __CIRCLE_H 3 | 4 | #include "figure.h" 5 | 6 | class Circle : public Figure 7 | { 8 | private: 9 | double x,y,r; 10 | public: 11 | Circle (double _x, double _y, double _r); 12 | double surface (); 13 | double perim (); 14 | void save (std::ostream &out); 15 | void load (std::istream &in); 16 | Figure* spawn (); 17 | 18 | private: 19 | static int dummy; 20 | static int registerClass (); 21 | 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /samples/02_oop/2017/serialize/square.h: -------------------------------------------------------------------------------- 1 | #ifndef __SQUARE_H 2 | #define __SQUARE_H 3 | 4 | #include "figure.h" 5 | 6 | class Square : public Figure 7 | { 8 | private: 9 | double x,y,a,tga; 10 | 11 | public: 12 | 13 | Square (double _x, double _y, double _a, double _tga); 14 | 15 | double surface (); 16 | 17 | double perim (); 18 | 19 | void save (std::ostream &out); 20 | void load (std::istream &in); 21 | Figure* spawn (); 22 | 23 | private: 24 | static int dummy; 25 | static int registerClass (); 26 | 27 | 28 | }; 29 | #endif 30 | -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/constfn.cpp: -------------------------------------------------------------------------------- 1 | #include "constfn.h" 2 | 3 | 4 | Const::Const(double _c):c(_c){} 5 | 6 | double Const::value (double x) 7 | { 8 | return c; 9 | } 10 | 11 | Function* Const::clone() 12 | { 13 | return new Const (*this); 14 | } 15 | -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/constfn.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONSTFN_H 2 | #define __CONSTFN_H 3 | 4 | #include "function.h" 5 | 6 | class Const : public Function 7 | { 8 | public: 9 | Const (double _c); 10 | double value (double x); 11 | Function* clone(); 12 | private: 13 | double c; 14 | }; 15 | 16 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/cut.h: -------------------------------------------------------------------------------- 1 | #ifndef __CUT_H 2 | #define __CUT_H 3 | 4 | #include "function.h" 5 | 6 | class Cut : public Function 7 | { 8 | public: 9 | Cut (Function *_originalFunction); 10 | Cut (const Cut&); 11 | 12 | double value (double x); 13 | Function *clone(); 14 | 15 | ~Cut(); 16 | 17 | private: 18 | Function *originalFunction; 19 | }; 20 | 21 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/function.h: -------------------------------------------------------------------------------- 1 | #ifndef __FUNCTION_H 2 | #define __FUNCTION_H 3 | 4 | class Function 5 | { 6 | public: 7 | virtual double value (double x) = 0; 8 | virtual Function* clone () = 0; 9 | 10 | virtual ~Function(); 11 | 12 | }; 13 | 14 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/linearfn.cpp: -------------------------------------------------------------------------------- 1 | #include "linearfn.h" 2 | 3 | Linear::Linear(double _a, double _b):a(_a),b(_b){} 4 | 5 | 6 | double Linear::value(double x) 7 | { 8 | return a*x + b; 9 | } 10 | 11 | Function* Linear::clone() 12 | { 13 | return new Linear (*this); 14 | } 15 | -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/linearfn.h: -------------------------------------------------------------------------------- 1 | #ifndef __LINEARFN_H 2 | #define __LINEARFN_H 3 | 4 | #include "function.h" 5 | 6 | class Linear : public Function 7 | { 8 | public: 9 | Linear(double _a, double _b); 10 | double value(double x); 11 | Function *clone(); 12 | 13 | private: 14 | double a,b; 15 | }; 16 | 17 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/polyfn.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2019_kn/functions/polyfn.cpp -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/functions/polyfn.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2019_kn/functions/polyfn.h -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/interpreter/example.knpp: -------------------------------------------------------------------------------- 1 | set x (1 + "hello") -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/interpreter/grammar: -------------------------------------------------------------------------------- 1 | 2 | ::= | | | 3 | 4 | ::= ( ) | 5 | ::= + | * 6 | 7 | ::= (0..9)+ | (0..9)+.(0..9)+ | "*" 8 | 9 | ::= set 10 | 11 | ::= (a..z)+ -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/interpreter/main.cpp: -------------------------------------------------------------------------------- 1 | #include "tokenizer.h" 2 | 3 | #include 4 | #include 5 | 6 | int main () 7 | { 8 | std::ifstream program ("example.knpp"); 9 | 10 | Tokenizer t (program); 11 | 12 | while (t.moreTokens ()) 13 | { 14 | Token token = t.nextToken(); 15 | std::cout << token.type << ":" << token.str << std::endl; 16 | } 17 | } -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/lists/illustration.txt: -------------------------------------------------------------------------------- 1 | l: 2 | ------------------------ 3 | first 4 | | 5 | | 6 | \ / 7 | [1,-]---->[2,/] 8 | ^ 9 | | 10 | | 11 | [3,/] 12 | 13 | ----------------------- 14 | -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/circle.cpp: -------------------------------------------------------------------------------- 1 | #include "circle.h" 2 | #include "visitor.h" 3 | 4 | Circle::Circle(int _x, int _y, int _r, const char *_s):Shape(_x,_y,_s),r(_r) 5 | { 6 | 7 | } 8 | 9 | void Circle::accept(Visitor *v) 10 | { 11 | v->visitCircle (this); 12 | } 13 | 14 | void Circle::set_r(int _r) 15 | { 16 | r=_r; 17 | } 18 | 19 | int Circle::get_r() const 20 | { 21 | return r; 22 | } 23 | 24 | Shape* Circle::clone () 25 | { 26 | return new Circle (*this); 27 | } 28 | 29 | -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/circle.h: -------------------------------------------------------------------------------- 1 | #ifndef __CIRCLE_H 2 | #define __CIRCLE_H 3 | 4 | #include "shape.h" 5 | 6 | class Circle : public Shape 7 | { 8 | public: 9 | Circle (int _x,int _y,int _r,const char *_s); 10 | Shape* clone (); 11 | 12 | void accept(Visitor *); 13 | 14 | void set_r (int _r); 15 | 16 | int get_r () const; 17 | 18 | private: 19 | int r; 20 | }; 21 | 22 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/drawvisitor.h: -------------------------------------------------------------------------------- 1 | #ifndef _DRAWVISITOR__H 2 | #define _DRAWVISITOR__H 3 | 4 | #include "visitor.h" 5 | 6 | class DrawingVisitor : public Visitor 7 | { 8 | public: 9 | 10 | DrawingVisitor (); 11 | 12 | void visitReactangle (Rect*); 13 | void visitCircle (Circle*); 14 | void visitGroup (Group*); 15 | 16 | private: 17 | int offsetx, offsety; 18 | 19 | }; 20 | 21 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/group.h: -------------------------------------------------------------------------------- 1 | #ifndef __GROUP_H 2 | #define __GROUP_H 3 | 4 | #include "shape.h" 5 | #include 6 | 7 | class Group: public Shape 8 | { 9 | public: 10 | Group (int _x, int _y, const char *s); 11 | Group (const Group&); 12 | Shape *clone(); 13 | 14 | void accept (Visitor*); 15 | 16 | void addShape (Shape*); 17 | 18 | Group& operator =(const Group &g); 19 | 20 | size_t get_nChildren () const; 21 | Shape* getChild (size_t i) const; 22 | 23 | ~Group (); 24 | 25 | private: 26 | std::vector children; 27 | }; 28 | 29 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2019_kn/vcomp/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2019_kn/vcomp/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/serializevisitor.h: -------------------------------------------------------------------------------- 1 | #ifndef _SERIALIZEVISITOR__H 2 | #define _SERIALIZEVISITOR__H 3 | 4 | #include "visitor.h" 5 | #include 6 | 7 | class SerializeVisitor : public Visitor 8 | { 9 | public: 10 | 11 | SerializeVisitor (std::ostream&); 12 | 13 | void visitReactangle (Rect*); 14 | void visitCircle (Circle*); 15 | void visitGroup (Group*); 16 | 17 | private: 18 | std::ostream& out; 19 | 20 | unsigned int depth; 21 | }; 22 | 23 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2019_kn/vcomp/visitor.h: -------------------------------------------------------------------------------- 1 | #ifndef _VISITOR__H 2 | #define _VISITOR__H 3 | 4 | #include "rectangle.h" 5 | #include "circle.h" 6 | #include "group.h" 7 | 8 | class Visitor 9 | { 10 | public: 11 | virtual void visitReactangle (Rect*) = 0; 12 | virtual void visitCircle (Circle*) = 0; 13 | virtual void visitGroup (Group*) = 0; 14 | }; 15 | 16 | #endif -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "figure.h" 5 | 6 | class Circle : public Figure 7 | { 8 | public: 9 | Circle (double _x, double _y, double _r); 10 | 11 | double perim(); 12 | double surface(); 13 | void save(std::ostream &out); 14 | void load(std::istream& in); 15 | 16 | void accept(Visitor*); 17 | 18 | Figure *copy(); 19 | 20 | double get_x(); 21 | double get_y(); 22 | double get_r(); 23 | 24 | private: 25 | double x,y; 26 | double r; 27 | }; 28 | 29 | -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/ffactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include 5 | #include 6 | 7 | class FigureFactory 8 | { 9 | public: 10 | static Figure* make(std::string type); 11 | 12 | }; 13 | 14 | class UnknownFigureException : public std::exception 15 | { 16 | public: 17 | 18 | UnknownFigureException(const std::string&); 19 | 20 | const char* what() const noexcept; 21 | 22 | private: 23 | std::string message; 24 | 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_is/figures/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_is/figures/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_is/figures/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/painter.h: -------------------------------------------------------------------------------- 1 | #include "visitor.h" 2 | 3 | class Painter: public Visitor 4 | { 5 | public: 6 | 7 | Painter(); 8 | 9 | void processCircle(Circle*); 10 | void processRectangle(Rectangle*); 11 | void processGroup(Group*); 12 | 13 | private: 14 | double offset_x, offset_y; 15 | 16 | }; -------------------------------------------------------------------------------- /samples/02_oop/2020_is/figures/visitor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "rect.h" 5 | #include "circle.h" 6 | #include "group.h" 7 | 8 | class Visitor 9 | { 10 | public: 11 | virtual void processCircle(Circle*)=0; 12 | virtual void processRectangle(Rectangle*)=0; 13 | virtual void processGroup(Group*)=0; 14 | }; -------------------------------------------------------------------------------- /samples/02_oop/2020_is/heap/samples.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void i (int w) 4 | { 5 | std::cout << "w" << std::endl; 6 | } 7 | 8 | void h (int z) 9 | { 10 | std::cout << z << std::endl; 11 | z += 30; 12 | } 13 | 14 | void g (int y) 15 | { 16 | h (y); 17 | i (y+1); 18 | std::cout << y << std::endl; 19 | y += 20; 20 | } 21 | 22 | void f (int x) 23 | { 24 | g (x); 25 | std::cout << x << std::endl; 26 | x += 10; 27 | } 28 | 29 | int main () 30 | { 31 | f (5); 32 | return 0; 33 | } -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Circle : public Figure 6 | { 7 | public: 8 | Circle (double _x, double _y, double _r); 9 | 10 | double perim(); 11 | double surface(); 12 | void save(std::ostream &out); 13 | void load(std::istream &in); 14 | Figure* copy(); 15 | 16 | void accept(Visitor*); 17 | 18 | double get_x(); 19 | double get_y(); 20 | double get_r(); 21 | 22 | private: 23 | double x,y; 24 | double r; 25 | }; 26 | -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/ffactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class UnknownFigureExcpection : public std::exception 5 | { 6 | public: 7 | UnknownFigureExcpection(const std::string&); 8 | const char* what() const noexcept; 9 | private: 10 | std::string message; 11 | }; 12 | 13 | class FigureFactory 14 | { 15 | public: 16 | 17 | static Figure* make(std::string type); 18 | 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_kn/figures/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_kn/figures/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2020_kn/figures/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/painter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "visitor.h" 4 | 5 | class Painter : public Visitor 6 | { 7 | public: 8 | Painter(); 9 | 10 | 11 | void process_circle(Circle*); 12 | void process_rect(Rect*); 13 | void process_group(Group*); 14 | 15 | 16 | private: 17 | double total_offset_x, total_offset_y; 18 | 19 | }; -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/rect.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Rect : public Figure 6 | { 7 | public: 8 | Rect (double _x, double _y, double _a,double _b); 9 | 10 | double perim(); 11 | double surface(); 12 | int nsides(); 13 | void save(std::ostream &out); 14 | void load(std::istream &in); 15 | 16 | void accept(Visitor*); 17 | 18 | Figure *copy(); 19 | 20 | double get_x(); 21 | double get_y(); 22 | double get_a(); 23 | double get_b(); 24 | 25 | private: 26 | double x,y; 27 | double a,b; 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /samples/02_oop/2020_kn/figures/visitor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "rect.h" 5 | #include "circle.h" 6 | #include "group.h" 7 | 8 | class Visitor 9 | { 10 | public: 11 | virtual void process_circle(Circle*)=0; 12 | virtual void process_rect(Rect*)=0; 13 | virtual void process_group(Group*)=0; 14 | 15 | }; -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Circle : public Figure 6 | { 7 | public: 8 | Circle (double _x, double _y, double _r); 9 | Circle(); 10 | 11 | double surface(); 12 | void saveToFile(std::ostream&); 13 | void loadFromFile (std::istream&); 14 | 15 | void draw(); 16 | Figure* clone(); 17 | 18 | private: 19 | double r; 20 | double x,y; 21 | 22 | }; -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2021_is/figures/draw/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2021_is/figures/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2021_is/figures/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/ffactory.cpp: -------------------------------------------------------------------------------- 1 | #include "figure.h" 2 | #include "circle.h" 3 | #include "rectangle.h" 4 | #include "group.h" 5 | 6 | 7 | 8 | Figure* figureFactory(std::string figureType) 9 | { 10 | if (figureType == "circle") 11 | { 12 | return new Circle(); 13 | 14 | } else if (figureType == "rect") 15 | { 16 | return new Rectangle(); 17 | 18 | } else if (figureType == "group") 19 | { 20 | return new Group(); 21 | } 22 | else 23 | { 24 | assert(false); 25 | return nullptr; 26 | } 27 | } -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/ffactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | Figure* figureFactory(std::string figureType); 6 | -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/figure.cpp: -------------------------------------------------------------------------------- 1 | #include "figure.h" 2 | #include 3 | 4 | Figure::Figure(const std::string& _label):label(_label){} 5 | 6 | Figure::~Figure() 7 | { 8 | 9 | } -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/figure.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | class Figure 7 | { 8 | public: 9 | Figure(const std::string& _label); 10 | 11 | protected: 12 | std::string label; 13 | 14 | public: 15 | virtual double surface() = 0; 16 | virtual void saveToFile(std::ostream&) = 0; 17 | virtual void loadFromFile (std::istream&) = 0; 18 | 19 | virtual void draw() = 0; 20 | 21 | virtual Figure* clone() = 0; 22 | 23 | virtual ~Figure(); 24 | 25 | 26 | }; -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/group.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "figure.h" 5 | 6 | class Group : public Figure 7 | { 8 | 9 | public: 10 | 11 | Group(); 12 | 13 | double surface(); 14 | void saveToFile(std::ostream&); 15 | void loadFromFile (std::istream&); 16 | 17 | void addFigure(Figure *f); 18 | 19 | virtual void draw(); 20 | Figure* clone(); 21 | 22 | void clearContents(); 23 | ~Group(); 24 | 25 | private: 26 | 27 | std::vector contents; 28 | 29 | }; -------------------------------------------------------------------------------- /samples/02_oop/2021_is/figures/rectangle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Rectangle : public Figure 6 | { 7 | public: 8 | 9 | Rectangle(); 10 | Rectangle(double _x, double _y, double _a, double _b); 11 | 12 | double surface(); 13 | void saveToFile(std::ostream&); 14 | void loadFromFile (std::istream&); 15 | 16 | void draw(); 17 | Figure* clone(); 18 | 19 | private: 20 | double x,y,a,b; 21 | 22 | }; -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2023_kn/figures/draw/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2023_kn/figures/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2023_kn/figures/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/ffactory.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | Figure* factory(const std::string &type); 6 | 7 | std::istream& operator >> (std::istream &in, std::vector& figures); -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/figure.cpp: -------------------------------------------------------------------------------- 1 | #include "figure.h" 2 | #include 3 | 4 | Figure::Figure():col({0,0,0}) 5 | { 6 | 7 | } 8 | 9 | std::ostream& operator << (std::ostream &out, const std::vector& figures) 10 | { 11 | out << figures.size() << std::endl; 12 | for (Figure *f : figures) 13 | { 14 | f->writeToStream(out); 15 | out << std::endl; 16 | } 17 | return out; 18 | } 19 | 20 | void Figure::setColor(sdlw::color _c) 21 | { 22 | col = _c; 23 | } 24 | 25 | sdlw::color Figure::getColor() 26 | { 27 | return col; 28 | } 29 | -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/figures.txt: -------------------------------------------------------------------------------- 1 | 4 2 | Circle 100 0 0 3 | Rect 200 200 100 300 4 | Circle 50 300 300 5 | Rect 400 400 100 50 6 | -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/painter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "visitor.h" 4 | 5 | class Painter : public Visitor 6 | { 7 | public: 8 | Painter(); 9 | 10 | void visitCircle(Circle*); 11 | void visitRect(Rect*); 12 | void visitGroup(Group*); 13 | 14 | private: 15 | Point2D offset; 16 | }; -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/serializer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "visitor.h" 4 | #include 5 | 6 | class Serializer : public Visitor 7 | { 8 | 9 | Serializer(std::ostream &_out); 10 | 11 | void visitCircle(Circle*); 12 | void visitRect(Rect*); 13 | void visitGroup(Group*); 14 | 15 | private: 16 | std::ostream& out; 17 | }; -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | struct Point2D 3 | { 4 | double x,y; 5 | }; -------------------------------------------------------------------------------- /samples/02_oop/2023_kn/figures/visitor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "utils.h" 4 | 5 | class Circle; 6 | class Rect; 7 | class Group; 8 | 9 | class Visitor 10 | { 11 | public: 12 | virtual void visitCircle(Circle *) = 0; 13 | virtual void visitRect(Rect *) = 0; 14 | virtual void visitGroup(Group *) = 0; 15 | 16 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_is/data.dat: -------------------------------------------------------------------------------- 1 | 12 646 5675 242.12 123 434 2 | 3 | 4 | 3534 5 | 6 | 7 | 8 | 443 -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "utils.h" 5 | 6 | class Circle : public Figure 7 | { 8 | public: 9 | 10 | Circle(const Point& center, double radius); 11 | 12 | double area() const; 13 | double perimeter() const; 14 | void load(std::istream& in); 15 | Figure* copy() const; 16 | 17 | void accept(Visitor* v); 18 | 19 | Point getCenter() const; 20 | double getRadius() const; 21 | 22 | private: 23 | Point center; 24 | double radius; 25 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_is/figures/draw/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_is/figures/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_is/figures/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/figure.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "utils.h" 4 | 5 | class Figure; 6 | class Visitor; 7 | 8 | class Figure 9 | { 10 | public: 11 | virtual double area() const = 0; 12 | virtual double perimeter() const = 0; 13 | virtual void load(std::istream& in) = 0; 14 | 15 | virtual Figure* copy() const = 0; 16 | 17 | virtual void accept(Visitor* v) = 0; 18 | 19 | virtual ~Figure() = default; 20 | 21 | static double scale; 22 | static Figure* figureFactory(const std::string &type); 23 | }; 24 | -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/painter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "util.h" 4 | #include "visitor.h" 5 | 6 | class Painter: public Visitor 7 | { 8 | public: 9 | Painter(const Point& _origin); 10 | void visitCircle(Circle* c) override; 11 | void visitTriangle(Triangle* t) override; 12 | void visitSquare(Square* s) override; 13 | void visitGroup(Group* g) override; 14 | 15 | private: 16 | Point origin; 17 | }; 18 | 19 | -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/square.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "utils.h" 5 | 6 | class Square : public Figure 7 | { 8 | 9 | public: 10 | Square(const Point& _p1, const Point& _p2); 11 | double area() const; 12 | double perimeter() const; 13 | 14 | void load(std::istream& in); 15 | Figure* copy() const; 16 | 17 | 18 | void accept(Visitor* v); 19 | double side() const; 20 | 21 | Point getp1() const; 22 | Point getp2() const; 23 | 24 | private: 25 | Point p1; 26 | Point p2; 27 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/utils.cpp: -------------------------------------------------------------------------------- 1 | #include "utils.h" 2 | #include 3 | 4 | double distance(const Point& p1, const Point& p2) 5 | { 6 | return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); 7 | } -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/utils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Point 4 | { 5 | double x; 6 | double y; 7 | }; 8 | 9 | 10 | double distance(const Point& p1, const Point& p2); -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/visitor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "circle.h" 4 | #include "triangle.h" 5 | #include "group.h" 6 | #include "square.h" 7 | 8 | class Visitor 9 | { 10 | public: 11 | virtual void visitCircle(Circle*) = 0; 12 | virtual void visitTriangle(Triangle*) = 0; 13 | virtual void visitSquare(Square*) = 0; 14 | virtual void visitGroup(Group*) = 0; 15 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_is/figures/writer.h: -------------------------------------------------------------------------------- 1 | #include "visitor.h" 2 | 3 | 4 | class Writer: public Visitor 5 | { 6 | public: 7 | Writer(std::ostream& _out); 8 | void visitCircle(Circle* c) override; 9 | void visitTriangle(Triangle* t) override; 10 | void visitSquare(Square* s) override; 11 | void visitGroup(Group* g) override; 12 | 13 | private: 14 | std::ostream& out; 15 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_is/kalin_students.txt: -------------------------------------------------------------------------------- 1 | 4 2 | Kalin Georgiev 3 | 99999:3 6 6 5 4 | Georgi Von Kalinov 3 5 | 77777:2 3 4 6 | Test Testov 7 | 444444:4 6 6 5 6 8 | Testka Testova 9 | 444445:2 6 6 10 | -------------------------------------------------------------------------------- /samples/02_oop/2024_is/points.dat: -------------------------------------------------------------------------------- 1 | 10 20 2 | 30 40 3 | 1 0 4 | 0 0 5 | 5 50 -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/data.dat: -------------------------------------------------------------------------------- 1 | 89 13 434 656 113 535 4646 244 535 -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/data2.dat: -------------------------------------------------------------------------------- 1 | 13234.34234 13123.434 124124.5252 -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/data3.txt: -------------------------------------------------------------------------------- 1 | 3 4 6 7 4 3 4 5 7 0 -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "figures.h" 5 | 6 | class Circle : public Figure 7 | { 8 | public: 9 | Circle(Point,double); 10 | 11 | Figure* copy() const; 12 | 13 | double area() const; 14 | double perimeter() const; 15 | void draw() const; 16 | void saveToFile(std::ostream&) const; 17 | void loadFromFile(std::istream&); 18 | 19 | private: 20 | Point center; 21 | double r; 22 | 23 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_kn/figures/draw/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_kn/figures/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2024_kn/figures/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/figures.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Point 4 | { 5 | double x; 6 | double y; 7 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/square.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "figures.h" 5 | 6 | class Square : public Figure 7 | { 8 | 9 | public: 10 | Square(Point, Point); 11 | 12 | double area() const; 13 | double perimeter() const; 14 | void draw() const; 15 | 16 | double side() const; 17 | void saveToFile(std::ostream&) const; 18 | void loadFromFile(std::istream&); 19 | 20 | Figure* copy() const; 21 | 22 | private: 23 | Point p1, p2; 24 | 25 | 26 | }; -------------------------------------------------------------------------------- /samples/02_oop/2024_kn/figures/triangle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | #include "figures.h" 5 | 6 | 7 | class Triangle : public Figure 8 | { 9 | public: 10 | Triangle(Point, Point, Point); 11 | 12 | double area() const; 13 | double perimeter() const; 14 | void draw() const; 15 | void saveToFile(std::ostream&) const; 16 | void loadFromFile(std::istream&); 17 | 18 | Figure* copy() const; 19 | 20 | private: 21 | Point p1, p2, p3; 22 | double side_a() const; 23 | double side_b() const; 24 | double side_c() const; 25 | }; -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/circle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Circle : public Figure 6 | { 7 | public: 8 | Circle(Point, double,Color=white); 9 | Circle(); 10 | 11 | double surface(); 12 | double perimeter(); 13 | 14 | void draw(); 15 | void toSVG(std::ostream&); 16 | void serialize(std::ostream&); 17 | void deserialize(std::istream&); 18 | 19 | virtual Figure* clone(); 20 | 21 | private: 22 | Point c; 23 | double r; 24 | }; -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/draw/images/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2025_kn/figures/draw/images/circle.png -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/draw/images/roboto.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2025_kn/figures/draw/images/roboto.ttf -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/draw/images/triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/02_oop/2025_kn/figures/draw/images/triangle.png -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/figures.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/rectangle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Rect : public Figure 6 | { 7 | public: 8 | Rect(Point, double, double, Color=white); 9 | Rect(); 10 | 11 | double surface(); 12 | double perimeter(); 13 | 14 | void draw(); 15 | void toSVG(std::ostream&); 16 | void serialize(std::ostream&); 17 | void deserialize(std::istream&); 18 | 19 | virtual Figure* clone(); 20 | 21 | private: 22 | Point c; 23 | double w,h; 24 | }; -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/figures/triangle.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "figure.h" 4 | 5 | class Triangle : public Figure 6 | { 7 | 8 | public: 9 | Triangle(Point,Point,Point,Color=white); 10 | Triangle(); 11 | 12 | double surface(); 13 | double perimeter(); 14 | void draw(); 15 | void toSVG(std::ostream&); 16 | void serialize(std::ostream&); 17 | void deserialize(std::istream&); 18 | 19 | virtual Figure* clone(); 20 | 21 | private: 22 | Point p1,p2,p3; 23 | 24 | }; -------------------------------------------------------------------------------- /samples/02_oop/2025_kn/list/range.h: -------------------------------------------------------------------------------- 1 | template 2 | struct Range 3 | { 4 | T a; 5 | T b; 6 | 7 | using value_type=T; 8 | 9 | class Iterator 10 | { 11 | public: 12 | Iterator(const T&); 13 | Iterator& operator++(); 14 | T operator*(); 15 | bool operator!=(const Iterator&) const; 16 | private: 17 | T current; 18 | 19 | }; 20 | 21 | Iterator begin(); 22 | Iterator end(); 23 | }; -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/justrun.sh: -------------------------------------------------------------------------------- 1 | bin/interpreter < "sample program" 2> output/test.dot 2 | dot output/test.dot -Tpdf > output/test.pdf 3 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/output/test.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stranxter/lecture-notes/1bab1cafc51acdeae6ba6868c51dc41fb0de39c0/samples/03_sdp/2017/00_interpreter/output/test.pdf -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/run.sh: -------------------------------------------------------------------------------- 1 | g++ src/interpreter.cpp src/lex/*cpp src/ast/*cpp src/parser/*cpp src/runtime/*cpp -o bin/interpreter -std=c++11 2 | bin/interpreter < "sample program" 2> output/test.dot 3 | dot output/test.dot -Tpdf > output/test.pdf 4 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/ast.h: -------------------------------------------------------------------------------- 1 | #ifndef __AST_H 2 | #define __AST_H 3 | 4 | //колекция от всички 5 | //хедъри, описващи възли на 6 | //абстрактното синтактично дърво 7 | 8 | #include "value.h" 9 | #include "doublevalue.h" 10 | 11 | 12 | #include "expression.h" 13 | 14 | 15 | #include "constant.h" 16 | #include "ifexpr.h" 17 | #include "vars.h" 18 | #include "binaryarithexpr.h" 19 | #include "block.h" 20 | #include "println.h" 21 | #include "loopexpr.h" 22 | #include "functions.h" 23 | 24 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/binaryarithexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __BINARREXPR_H 2 | #define __BINARREXPR_H 3 | 4 | #include 5 | #include "value.h" 6 | #include "expression.h" 7 | 8 | using namespace std; 9 | 10 | class BinaryArithmOper : public Expression 11 | //5+6 12 | { 13 | private: 14 | Expression *e1; Expression *e2; 15 | char op; 16 | public: 17 | BinaryArithmOper 18 | (Expression *_e1, 19 | Expression *_e2, 20 | char _op); 21 | ~BinaryArithmOper(); 22 | Value* execute (); 23 | void print (ostream &out); 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/block.h: -------------------------------------------------------------------------------- 1 | #ifndef __BLOCK_H 2 | #define __BLOCK_H 3 | 4 | #include 5 | #include 6 | 7 | #include "expression.h" 8 | 9 | using namespace std; 10 | 11 | class BlockExpression : public Expression 12 | { 13 | private: 14 | vector expressions; 15 | public: 16 | BlockExpression (); 17 | ~BlockExpression (); 18 | 19 | void addExpression (Expression *e); 20 | 21 | void print (ostream &out); 22 | 23 | Value* execute (); 24 | 25 | }; 26 | 27 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/constant.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "constant.h" 6 | 7 | Constant::Constant (Value *v):myValue (v){} 8 | 9 | Constant::~Constant() 10 | { 11 | delete myValue; 12 | } 13 | 14 | Value* Constant::execute () 15 | { 16 | //връщаме клонирана стойност, защото се очаква, който получи указателя да изтрие обекта 17 | return myValue->clone(); 18 | } 19 | 20 | void Constant::print (ostream &out) 21 | { 22 | out << getID() << "[label=\"const:"; 23 | myValue->print(out); 24 | out << "\"];" << endl; 25 | } 26 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/constant.h: -------------------------------------------------------------------------------- 1 | #ifndef __CONSTANT_H 2 | #define __CONSTANT_H 3 | 4 | #include 5 | 6 | #include "expression.h" 7 | 8 | using namespace std; 9 | 10 | class Constant : public Expression 11 | { 12 | 13 | private: 14 | Value *myValue; 15 | public: 16 | 17 | Constant (Value *v); 18 | ~Constant (); 19 | 20 | Value* execute (); 21 | 22 | void print (ostream &out); 23 | }; 24 | 25 | #endif 26 | 27 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/doublevalue.h: -------------------------------------------------------------------------------- 1 | #ifndef __DOUBLEVALUE_H 2 | #define __DOUBLEVALUE_H 3 | 4 | #include 5 | #include "value.h" 6 | 7 | class DoubleValue : public Value{ 8 | 9 | private: 10 | double v; 11 | public: 12 | DoubleValue (double _v); 13 | virtual void print (ostream &out); 14 | 15 | Value* plus (Value *other); 16 | Value* minus (Value *other); 17 | 18 | Value* power (Value *other); 19 | 20 | int getType (); 21 | 22 | virtual bool toNativeBool (); 23 | virtual Value* clone (); 24 | 25 | bool equals (Value*); 26 | 27 | 28 | }; 29 | 30 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/expression.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "expression.h" 6 | 7 | using namespace std; 8 | 9 | Expression::Expression () {myID = maxID++;} 10 | 11 | int Expression::getID () {return myID;} 12 | 13 | void Expression::printTree (Expression *e, ostream &out) 14 | { 15 | out << "digraph G{" << endl; 16 | e->print (out); 17 | out << "}" << endl; 18 | } 19 | 20 | int Expression::maxID = 0; -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/ifexpr.h: -------------------------------------------------------------------------------- 1 | #ifndef __IFEXPR_H 2 | #define __IFEXPR_H 3 | 4 | #include 5 | #include "expression.h" 6 | 7 | using namespace std; 8 | 9 | 10 | class IfExpr : public Expression 11 | { 12 | private: 13 | Expression *conde, *thene, *elsee; 14 | public: 15 | IfExpr (Expression *_c, 16 | Expression *_t, 17 | Expression *_e); 18 | 19 | ~IfExpr(); 20 | Value* execute (); 21 | 22 | void print (ostream &out); 23 | }; 24 | 25 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/ast/println.h: -------------------------------------------------------------------------------- 1 | #ifndef __PRINTLN_H 2 | #define __PRINTLN_H 3 | 4 | #include 5 | #include 6 | 7 | #include "expression.h" 8 | 9 | using namespace std; 10 | 11 | class PrintLnExpression : public Expression 12 | { 13 | private: 14 | vector expressions; 15 | public: 16 | PrintLnExpression (); 17 | ~PrintLnExpression (); 18 | 19 | void addExpression (Expression *e); 20 | 21 | void print (ostream &out); 22 | 23 | Value* execute (); 24 | 25 | }; 26 | 27 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2017/00_interpreter/src/errors.h: -------------------------------------------------------------------------------- 1 | #ifndef __ERRORS_H 2 | #define __ERRORS_H 3 | 4 | 5 | #define error(x) {cerr< 5 | #include 6 | #include 7 | #include "../ast/expression.h" 8 | 9 | 10 | class ProgramMemory 11 | { 12 | public: 13 | static vector > AllValuesStack; 14 | 15 | static void InitProgramMemory(); 16 | static void pushNewStackFrame(); 17 | static void popStackFrame(); 18 | static void DeleteProgramMemory(); 19 | }; 20 | 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /samples/03_sdp/2017/01_trees/data.txt: -------------------------------------------------------------------------------- 1 | 11 13 16 null 90 null null null 15 null null -------------------------------------------------------------------------------- /samples/03_sdp/2017/01_trees/run.sh: -------------------------------------------------------------------------------- 1 | ./a.out 2> output.dot 2 | dot -Tpdf -o output.pdf output.dot 3 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/arrayiterator.cpp: -------------------------------------------------------------------------------- 1 | #include "arrayiterator.h" 2 | #include 3 | 4 | template 5 | ArrayIterator::ArrayIterator (ElemType *_a, size_t _s):arr(_a),size(_s),current(0) 6 | { 7 | 8 | } 9 | 10 | template 11 | ElemType& ArrayIterator::getNext () 12 | { 13 | assert (current < size); 14 | return arr[current++]; 15 | } 16 | 17 | template 18 | bool ArrayIterator::more () 19 | { 20 | return current < size; 21 | } 22 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/arrayiterator.h: -------------------------------------------------------------------------------- 1 | #ifndef __ARRAYITERATOR_H 2 | #define __ARRAYITERATOR_H 3 | 4 | 5 | #include "baseiterator.h" 6 | #include 7 | 8 | template 9 | class ArrayIterator : public BaseIterator 10 | { 11 | public: 12 | 13 | ArrayIterator (ElemType*, size_t); 14 | ElemType& getNext (); 15 | bool more (); 16 | 17 | private: 18 | ElemType *arr; 19 | size_t size; 20 | size_t current; 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/baseiterator.h: -------------------------------------------------------------------------------- 1 | #ifndef __BASEITERATOR_H 2 | #define __BASEITERATOR_H 3 | 4 | template 5 | class BaseIterator 6 | { 7 | public: 8 | virtual ElemType& getNext () = 0; 9 | virtual bool more () = 0; 10 | }; 11 | 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/test20000.inp: -------------------------------------------------------------------------------- 1 | testfile20000.txt 2 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/test5000.inp: -------------------------------------------------------------------------------- 1 | testfile5000.txt 2 | -------------------------------------------------------------------------------- /samples/03_sdp/2018/llist/test50000.inp: -------------------------------------------------------------------------------- 1 | testfile50000.txt 2 | -------------------------------------------------------------------------------- /samples/03_sdp/2019-20_kn/lists/sequence.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __SEQUENCE_HPP 2 | #define __SEQUENCE_HPP 3 | 4 | template 5 | class Sequence 6 | { 7 | public: 8 | Sequence (const Iterator &b, 9 | const Iterator &e):_begin(b), _end (e){} 10 | 11 | Iterator begin() 12 | { 13 | return _begin; 14 | } 15 | Iterator end() 16 | { 17 | return _end; 18 | } 19 | private: 20 | Iterator _begin; 21 | Iterator _end; 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /samples/03_sdp/2019-20_kn/maps/main.cpp: -------------------------------------------------------------------------------- 1 | #define DOCTEST_CONFIG_IMPLEMENT 2 | 3 | #include "doctest.h" 4 | 5 | #include "hashmap.h" 6 | #include "hashmap.hpp" 7 | #include "hm_tests.hpp" 8 | #include "tm_tests.hpp" 9 | 10 | 11 | #include "treemap.hpp" 12 | 13 | int main () 14 | { 15 | // пускане на тестовете 16 | doctest::Context().run(); 17 | 18 | TreeMap tm; 19 | 20 | tm[1] = 1; 21 | } -------------------------------------------------------------------------------- /samples/03_sdp/2019_pmsm/input.txt: -------------------------------------------------------------------------------- 1 | 10 9 33 565 242 6556 87 11 434 45 57 35 -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-is/expressions/expressions.h: -------------------------------------------------------------------------------- 1 | #ifndef __EXPRESSION_H 2 | #define __EXPRESSION_H 3 | 4 | int apply (char op, int left, int right); 5 | int priority (char c); 6 | bool isOperator (char c); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-is/stack/hanoiplayer.h: -------------------------------------------------------------------------------- 1 | #ifndef __HANOYP__H 2 | #define __HANOYP__H 3 | 4 | #include 5 | 6 | 7 | class HanoiPlayer 8 | { 9 | public: 10 | 11 | struct HanoiMove 12 | { 13 | char from, to; 14 | }; 15 | 16 | HanoiPlayer (int k); 17 | HanoiMove getNextMove(); 18 | bool hasMoreMoves(); 19 | 20 | private: 21 | struct GameGoal 22 | { 23 | int k; 24 | char source, dest, temp; 25 | }; 26 | std::stack s; 27 | 28 | 29 | }; 30 | 31 | 32 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-is/stack/pstacktest.cpp: -------------------------------------------------------------------------------- 1 | #include "pstack.cpp" 2 | #include 3 | 4 | void printstack (pstack s) 5 | { 6 | while (!s.empty()) 7 | { 8 | std::cout << s.top() << " "; 9 | s = s.pop(); 10 | } 11 | std::cout << std::endl; 12 | } 13 | 14 | int main () 15 | { 16 | pstack s = pstack().push(3).push(2).push(1); 17 | 18 | printstack(s); 19 | printstack(s.push(4).push(6)); 20 | printstack(s.push(7)); 21 | } -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-is/trees/treefunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef __TREEFUNC_H 2 | #define __TREEFUNC_H 3 | 4 | #include "bintree.h" 5 | 6 | template 7 | T sumTree (typename BinTree::Position); 8 | 9 | template 10 | bool member (const T& x, typename BinTree::Position); 11 | 12 | template 13 | void insertBot (const T& x, typename BinTree::Position); 14 | 15 | 16 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-kn/expressions/expressions.h: -------------------------------------------------------------------------------- 1 | #ifndef __EXPRESSION_H 2 | #define __EXPRESSION_H 3 | 4 | int apply (char oper, int left, int right); 5 | int priority (char oper); 6 | 7 | 8 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-kn/expressions/treetest.cpp: -------------------------------------------------------------------------------- 1 | #include "exprtree.h" 2 | 3 | #include 4 | 5 | int main() 6 | { 7 | Tokenizer tokenizer (std::cin); 8 | 9 | Expression *tree = parseExpression(tokenizer); 10 | 11 | std::ofstream dot ("tree.dot"); 12 | 13 | dot << "digraph G{\n"; 14 | tree->exportDot(dot); 15 | dot << "}"; 16 | 17 | std::cout << "Expression result = " << tree->evaluate() << std::endl; 18 | 19 | delete tree; 20 | 21 | } -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-kn/stacks/testpstack.cpp: -------------------------------------------------------------------------------- 1 | #include "pstack.cpp" 2 | 3 | #include 4 | 5 | void printstack (pstack s) 6 | { 7 | while (!s.empty()) 8 | { 9 | std::cout << s.top() << " "; 10 | s = s.pop(); 11 | } 12 | std::cout << std::endl; 13 | } 14 | 15 | int main () 16 | { 17 | pstack s = pstack().push(1).push(2).push(3); 18 | 19 | printstack(s); 20 | printstack(s.push(4).push(5).push(6)); 21 | printstack(s.push(7).push(8)); 22 | } -------------------------------------------------------------------------------- /samples/03_sdp/2020-21-kn/trees/treefunctions.h: -------------------------------------------------------------------------------- 1 | #ifndef __TREEFUNC_H 2 | #define __TREEFUNC_H 3 | 4 | #include "bintree.h" 5 | 6 | template 7 | bool member (const T&, typename BinTree::Position); 8 | 9 | 10 | template 11 | T sum (typename BinTree::Position); 12 | 13 | 14 | template 15 | void insertOrdered (const T&, typename BinTree::Position); 16 | 17 | #endif -------------------------------------------------------------------------------- /samples/03_sdp/2022-23-is/expressions/evaluator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | int evaluate(std::istream &in); 6 | int evaluateRPN(std::istream &in); 7 | 8 | std::string InfixToRPN(std::istream &in); -------------------------------------------------------------------------------- /samples/03_sdp/2022-23-is/expressions/tokenizer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | struct Token 6 | { 7 | enum TokenType {OPEN_PAR, 8 | NUMBER, 9 | OPERATOR, 10 | CLOSE_PAR, 11 | EOE}; 12 | 13 | TokenType type; 14 | char symbol; 15 | int value; 16 | }; 17 | 18 | std::istream& operator>>(std::istream &in, Token &t); 19 | 20 | -------------------------------------------------------------------------------- /samples/03_sdp/2022-23-is/p1.cpp: -------------------------------------------------------------------------------- 1 | struct Employee 2 | { 3 | char name[100]; 4 | double salary; 5 | Employee* boss; 6 | }; 7 | 8 | Employee* findSuperBoss (Employee *e) 9 | { 10 | if (e->boss == nullptr) 11 | return e; 12 | return findSuperBoss(e->boss); 13 | } 14 | 15 | Employee* findSuperBoss2 (Employee *e) 16 | { 17 | while (e->boss != nullptr) 18 | { 19 | e = e->boss; 20 | } 21 | return e; 22 | } -------------------------------------------------------------------------------- /samples/03_sdp/2022-23-is/stack/stack.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | template 5 | class Stack 6 | { 7 | public: 8 | 9 | Stack(); 10 | Stack(const Stack&); 11 | Stack& operator= (const Stack&); 12 | ~Stack(); 13 | 14 | T top(); 15 | void pop(); 16 | void push(const T&); 17 | bool empty(); 18 | size_t size(); 19 | 20 | private: 21 | struct box 22 | { 23 | T data; 24 | box *next; 25 | }; 26 | size_t count; 27 | box *head; 28 | 29 | box* copy(box *); 30 | void clear(); 31 | 32 | }; -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/graphs/example1.ndfsa: -------------------------------------------------------------------------------- 1 | 3 2 | 100 3 | 200 4 | 300 5 | 1 6 | 100 7 | 1 8 | 200 9 | 4 10 | 100 a 200 11 | 100 a 300 12 | 100 b 200 13 | 200 a 100 -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/interpreter/evalutils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | int applyOperator(char op, int left, int right); 5 | std::function fn(char c); 6 | int priority(char op); -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/interpreter/receval.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | int receval(std::istream&); -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/interpreter/rpneval.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | int RPNeval(std::istream&); 6 | std::string infixToRPN(std::istream&); -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/interpreter/treebuilder.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "exprtree.h" 3 | #include 4 | 5 | Expression* parseExpression(std::istream&); 6 | -------------------------------------------------------------------------------- /samples/03_sdp/2023-24-kn/smartptr/smartptr.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | 5 | template 6 | class myptr 7 | { 8 | 9 | public: 10 | 11 | myptr(Ptr _mem); 12 | myptr(const myptr&); 13 | 14 | myptr& operator=(const myptr&); 15 | 16 | ~myptr(); 17 | 18 | private: 19 | 20 | struct ref_counter 21 | { 22 | Ptr memory; 23 | unsigned int counter; 24 | }; 25 | 26 | ref_counter* ref; 27 | 28 | void release_ref(); 29 | 30 | }; -------------------------------------------------------------------------------- /samples/03_sdp/2024-25-is/arithmetic/evalutils.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | int apply(char op, int, int); 4 | int priority(char op); -------------------------------------------------------------------------------- /samples/03_sdp/2024-25-is/arithmetic/expression.exis: -------------------------------------------------------------------------------- 1 | 1 + if (8-((2+2)*3)) then 3 else (4-4) -------------------------------------------------------------------------------- /samples/03_sdp/2024-25-is/arithmetic/parser.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "expression.h" 4 | #include "tokenizer.h" 5 | #include 6 | 7 | Expression* parseExpression(std::istream &in); 8 | -------------------------------------------------------------------------------- /samples/03_sdp/2024-25-is/arithmetic/polish.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include "tokenizer.h" 5 | 6 | 7 | //std::istream& -> Tokenizer -> RPN -> value 8 | 9 | int evalRPN(TokenStream rpn); 10 | 11 | std::string toRPN(TokenStream infix); -------------------------------------------------------------------------------- /samples/03_sdp/2024-25-is/hashmap/hashmap.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | template 6 | class HashMap 7 | { 8 | public: 9 | HashMap(unsigned int(*_hf)(const Key&), unsigned int capacity = 255); 10 | bool hasKey(const Key& k) const; 11 | 12 | void add(const Key&, const Value&); 13 | 14 | private: 15 | 16 | struct row 17 | { 18 | Key key; 19 | Value vealue; 20 | row *next; 21 | }; 22 | std::vector table; 23 | unsigned int(*hf)(const Key&); 24 | }; 25 | -------------------------------------------------------------------------------- /samples/06_webtech/simple-server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple-server", 3 | "version": "1.0.0", 4 | "description": "Sample server for the WebTech course", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Kalin Georgiev", 10 | "license": "ISC", 11 | "dependencies": { 12 | "net": "^1.0.2" 13 | }, 14 | "devDependencies": { 15 | "@types/node": "^14.14.19" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/06_webtech/simple-server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "out", 4 | "sourceMap": true, 5 | "target": "es5", 6 | "lib": [ 7 | "dom", 8 | "es2015", 9 | "es2016", 10 | "es2017" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /samples/07_fp/2025_is/type1.hs: -------------------------------------------------------------------------------- 1 | data Point a = Point a a 2 | deriving(Show) 3 | 4 | 5 | myDiv :: Int -> Int -> Maybe Int 6 | myDiv x y 7 | | y /= 0 = Just (div x y) 8 | | otherwise = Nothing 9 | 10 | takeInt (Just x) = x -------------------------------------------------------------------------------- /samples/README.md: -------------------------------------------------------------------------------- 1 | ========================================================================== 2 | 3 | Дикректорията съдържа суров и вероятно некоректен код, обсъждан на лекции 4 | 5 | ========================================================================== 6 | 7 | 8 | 9 | *** ВНИМАНИЕ!!! *** 10 | 11 | 12 | 13 | Повечето програми в тези директории са непълни или просто грешни. Програмите, показни тук, са примери, които са обсъждани на лекции, но не са довършени или са нарочно грешни!!! Целта им е студентите да могат да си припомнят какво е било дискутирано по време на лекции. 14 | --------------------------------------------------------------------------------