[{"command":"insert","method":null,"selector":".course-modal-ajax-placeholder-958550","data":"\u003Cdiv class=\u0022container content-rte\u0022\u003E\n  \u003Cdiv class=\u0022row\u0022\u003E\n    \u003Cdiv class=\u0022box col-md-6 bg-primary text-white\u0022\u003E\n      \u003Ch2 class=\u0022h1 text-left\u0022\u003E  Refresher course in Shell, Python, algorithmics\n\u003C\/h2\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EECTS :\n          1\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n                  \u003Cdiv class=\u0022field-spacing\u0022\u003E\n        \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ESemester:\n          Annualis\u00e9\n        \u003C\/div\u003E\n      \u003C\/div\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ED\u00e9tail du volume horaire\u003C\/div\u003E\n                                                    \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                          \u003Cspan class=\u0022field__label h4 mt-5 \u0022\u003EDirected study:\u003C\/span\u003E\n                                      \u003Cspan\u003E40\u003C\/span\u003E\n                      \u003C\/div\u003E\n                                                            \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ELangue d\u0026#039;enseignement\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EAnglais\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EEnseignement \u00e0 distance\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003Enon\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n    \u003Cdiv class=\u0022box col-md-6\u0022\u003E\n            \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EPr\u00e9requis\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EBasic knowledge of scientific computing: computer operation, file hierarchy, and installation of simple software.\u003Cbr\u003E\nBasic knowledge of molecular biology and bioinformatics (sequences, FASTA\/FASTQ files, etc.).\u003Cbr\u003E\nPrior experience with a programming language (even superficial, e.g., R, C, or Python).\u003Cbr\u003E\nMotivation to strengthen skills in algorithms and programming.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EProgramme \/ plan \/ contenus\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EThis course is structured in two parts: Algorithmics and Programming.\u003C\/p\u003E\n\u003Cp\u003EA. Algorithmics:\u003C\/p\u003E\n\u003Cp\u003EThis part will be organized as lectures\/tutorials where students will write algorithms in pseudocode for searching and updating in various data structures: arrays, matrices, lists, queues, stacks, trees, and graphs.\u003C\/p\u003E\n\u003Cp\u003EB. Programming:\u003C\/p\u003E\n\u003Cp\u003E1 \u2013 Introduction and UNIX\/Bash Review (6\u20137 hours)\u003Cbr\u003E\nObjectives: to master basic navigation and operations under Linux, and to automate small tasks.\u003C\/p\u003E\n\u003Cp\u003EContents:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Introduction to the UNIX\/Linux shell and environment\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Essential commands: navigation (cd, ls, pwd), file management (cp, mv, rm), reading (cat, less, head, tail)\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Redirections, pipes, and filters (\u0026gt;, |, grep, sort, uniq, cut)\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Variables, aliases, and command history\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Practical exercises: exploring a bioinformatics data directory, filtering, and extracting information (e.g., FASTA sequence names)\u003C\/p\u003E\n\u003Cp\u003E2 \u2013 Bash scripts and automation (6\u20137 hours)\u003Cbr\u003E\nObjectives: to write simple Bash scripts to automate processes.\u003C\/p\u003E\n\u003Cp\u003EContents:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Script structure: header (#!\/bin\/bash), execution rights\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Variables, conditions (if, case), loops (for, while), functions\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Argument handling ($1, $@), return values, error handling\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;String and regular expression manipulation\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Practical exercise: create a mini Bash pipeline to process FASTA or tabular files (extraction, counting, filtering).\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Introduction to chaining with Python: running a Python script from Bash.\u003C\/p\u003E\n\u003Cp\u003E3 \u2013 Python: review and fundamental data structures (6\u20137 hours)\u003Cbr\u003E\nObjectives: consolidate Python basics and learn how to manipulate textual or tabular data.\u003C\/p\u003E\n\u003Cp\u003EContents:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Syntax and best practices: indentation, comments, variable names\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Basic data types: int, float, str, bool\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Data structures: lists, tuples, sets, dictionaries\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Loops, conditions, functions, and variable scope\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Reading\/writing text, CSV, and FASTA files\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Practical exercise: parsing a FASTA file and extracting simple statistics (number, average size, base composition).\u003C\/p\u003E\n\u003Cp\u003E4 \u2013 Algorithms and Problem Solving in Python (6\u20137 hours)\u003Cbr\u003E\nObjectives: understanding algorithmic logic and complexity assessment.\u003C\/p\u003E\n\u003Cp\u003EContents:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Key concepts: variables, instructions, functions, temporal\/spatial complexity\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Basic algorithms: linear search, sorting, traversal of structures\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Recursive and iterative functions\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Advanced control structures (list comprehension, exception handling)\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Practical exercise: implementing a custom sort and a search function in a list of sequences or genes.\u003C\/p\u003E\n\u003Cp\u003E5 \u2013 Advanced Programming and Bash\/Python Integration (6\u20137 hours)\u003Cbr\u003E\nObjectives: To combine tools for reproducible workflows.\u003C\/p\u003E\n\u003Cp\u003EContent:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Bash \u2194 Python interaction (subprocesses, script execution, argument passing)\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Project organization: directory structure, modularization, utility functions\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Introduction to reading bioinformatics formats (FAST)\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EObjectifs d\u0026#039;apprentissage\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EUpon completion of this course, students will be able to:\u003Cbr\u003E\n-\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Technical Skills\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Effectively use the UNIX\/Linux terminal: navigation, file management, redirection, loops, and Bash scripts.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Write and execute simple Python scripts to manipulate files, text data, and data structures.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Design and understand basic algorithms (traversal, sorting, searching, complexity, and elementary data structures).\u003C\/p\u003E\n\u003Cp\u003E-\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Methodological Skills\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Develop a structured approach to solving a bioinformatics problem.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Automate repetitive tasks using the command line and scripts.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Understand the fundamentals of computer reproducibility and environment management.\u003C\/p\u003E\n\u003Cp\u003E-\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Transferable skills:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Write an optimized and correct algorithm for a given problem\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Work independently in a UNIX environment.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Read and understand code written by others.\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Prepare a practical exam and a mini-programming project.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n        \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EOrganisation g\u00e9n\u00e9rale et modalit\u00e9s p\u00e9dagogiques\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EFormat: Alternating short lectures, demonstrations, and supervised practical exercises.\u003C\/p\u003E\n\u003Cp\u003ELearning materials:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Jupyter notebooks for Python\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Bash scripts and command-line exercises\u003C\/p\u003E\n\u003Cp\u003E\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Supplementary resources: Tutorials, official documentation, bioinformatics mini-projects\u003C\/p\u003E\n\u003Cp\u003EAssessment methods:\u003Cbr\u003E\n\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Final exam (100%): Individual practical assessment (Bash + Python + algorithm problem-solving).\u003C\/p\u003E\n\u003Cp\u003E\u00b7\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Optional: Bonus points for code clarity, rigor, and comments.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n                \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003EComp\u00e9tences\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003E\u003Cp\u003EC2.3. Se former \u00e0 de nouveaux outils technologiques.\u003C\/p\u003E\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n                \u003Cdiv class=\u0022field-spacing\u0022\u003E\n      \u003Cdiv class=\u0022field__label h3 dash\u0022\u003ENature de l\u0026#039;\u00e9valuation\u003C\/div\u003E\n                        \u003Cdiv class=\u0022mt-5 text-justify\u0022\u003E\n                                      \u003Cspan\u003EEvaluation Continue non Int\u00e9grale\u003C\/span\u003E\n                      \u003C\/div\u003E\n                  \u003C\/div\u003E\n      \u003C\/div\u003E\n  \u003C\/div\u003E\n\u003C\/div\u003E\n","settings":null}]