Ricardo Rodríguez Jorge, PhD
Assistant Professor/Researcher
Faculty of Science
Department of Informatics

Jan Evangelista Purkyně University
Czech Republic

Mechatronics,  Signal Processing, Control and Artificial Neural Networks
Research Interest Group
Visiting Professor,
Czech Technical University in Prague, Czech Republic
(Dec 2016 -January 2017)

Research visit,
Tohoku University, Japan (May- Jul 2011)

Contact Information:
+420 475 286 724
Office: 6.07  (CPTO)
Skype: rodriguezri


I welcome my colleagues and fellow academics to this web site. If you would like to discuss any of my published work, please feel free to contact me. My professional interests are mainly in Engineering and my work today has been focused on signal processing and machine learning to bridge innovative ways in these areas.
I am always looking for industrial and academic collaboration, please do not hesitate to contact me for project collaborations. For more information about my current running projects please visit Research projects.
Institute web page: https://ki.ujep.cz/cs/personalni-slozeni/ricardo-rodriguez-jorge/

Algorithms and Programming I

Course Information:
Lecturer                 : Dr. Ricardo Rodriguez Jorge
Course Coordinator : Mgr. Jiří Fišer, Ph.D.
Level                      : Bachelor course
Time                      : Thuesday, Friday
Location                 : CPTO Building
(All obligations for a successful assessment have to be fulfilled until the end of the winter semester, 2021)
The introductory course of algorithms and programming (first part) focuses on the basics of procedural and object-oriented paradigm. Attention is focused mainly on the object representation of basic collections (strings, lists, dictionaries) and on the elementary algorithms above them. The course is intended for beginners (no prior knowledge of programming is required). Teaching (lectures and exercises) will be in Python.
Lecture Notes:
Week Topics Notes Assignments Due date/

Basic terminology of object-oriented programming, objects (values) of basic classes (numbers, logical values) and operations resp. methods above them

download Moodle
2 Variables, standard input and output, program branching (if-then construction) download Moodle  
3 User functions (input parameters, return values, area of ​​visibility of variables), n tice download Moodle  
4 Strings and methods over strings, indexing, modifiable referenced values ​​(reference semantics) download Moodle  
5 Cycles (while and for), premature termination of cycles download Moodle
6 Lists (interfaces), asymptotic (time) complexity download Moodle  
7 Key algorithms over lists (eg duplication, filtering, reduction) download Moodle  

Dictionaries (interface, use for representation of associative fields, sparse fields and caches)

download Moodle  

Hash tables (internal implementation, hash functions)

download Moodle  
10 Input and output to files (text) download Moodle  
11 Input and output to files (binary), byte arrays download Moodle  
12 Exceptions and basic exception handling, context manager (with) used in resource management download Moodle  
13 Final summary download Moodle