<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programming :: Computer science</title>
    <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/index.html</link>
    <description>Presentation &amp; objectives Welcome to the part of the course on programming!&#xA;The main objective of the programming block is to consolidate (or make you discover) your ability to write Python programs to solve problems. In parallel, we will insist of good programming methods, so that the programs you write are reuseable and trustable.&#xA;We will thus insist on documentation, unit testing and decomposition in function. At the end of the semester, we will give you a short introduction on object-oriented programming, that is the next step to structure a program efficiently.</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Basics of programming</title>
      <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session1/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session1/index.html</guid>
      <description>Duration2h30 Presentation &amp; objectives The objective of session 1 is to put into practice the concepts seen in algorithmics session 1, using the tools installed in environment session 2. In addition to work on writing, executing and debugging Python code, we will also focus on good programming practices, i.e., how to write clean programs, that are easy to maintain and read.&#xA;At the end of this first session you should be more comfortable manipulating an IDE, and should have all the keys to start writing more complex programs.</description>
    </item>
    <item>
      <title>Functions and libraries</title>
      <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session2/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session2/index.html</guid>
      <description>Duration5h Presentation &amp; objectives The objective of session 2 is to study an unmissable programming concept: functions. We will guide you through important programming concepts such as functions definition and usage, visibility and scope of variables, reuse of libraries, and code organization. We will also discuss the Python package manager, which can be used to install a lot of already existing libraries.&#xA;During the practical session, in addition to a few exercises on these notions, you will work on a small machine learning-related project. This will teach you how to properly organize your files, and write adapted functions.</description>
    </item>
    <item>
      <title>Defensive programming, unit tests and documentation</title>
      <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session3/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session3/index.html</guid>
      <description>Duration3h45 Presentation and objectifs In software development, ensuring the quality, maintainability, and reusability of code is paramount. This course focuses on three critical practices: defensive programming, unit testing, and code documentation. Defensive programming involves writing code that anticipates and handles potential errors gracefully, minimizing bugs and system failures. Unit testing verifies that individual components function as expected, providing a safety net during development and future changes. Lastly, thorough documentation enhances code readability, making it easier for developers to understand, modify, and extend the program over time. Together, these practices form the foundation of robust, reliable, and long-lasting software.</description>
    </item>
    <item>
      <title>Introduction to object-oriented programming</title>
      <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session4/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session4/index.html</guid>
      <description>Duration2h30 + preparation Presentation and objectives Object-oriented programming (OOP) is a style of programming, a way of organizing instructions and data, which is different from the one you’ve used so far in this course. Today, many software programs and libraries are structured using the object-oriented approach. Understanding this programming style has therefore become an essential component of programming. The aim of this session is to introduce some basic concepts of OOP from a theoretical point of view, but also to use them in a practical way.</description>
    </item>
    <item>
      <title>Artificial intelligence</title>
      <link>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session5/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://info.cours.lecalvar.fr/CM1_reseaux/s5/prog/session5/index.html</guid>
      <description>Duration2h30 + preparation Presentation &amp; objectives The objective of session 5 in this programming block is to discover more advanced concepts in artificial intelligence. In the practical activity, you will implement a machine learning model using the scikit-learn library and object-oriented programming.&#xA;Before the class Prior knowledge acquisition To do this session, you need to have finished the non-optional activities of algo session 6 (artificial intelligence), in particular you need a functional implementation of the $k$-nearest neighbors algorithm.</description>
    </item>
  </channel>
</rss>