Cours - Programmation

145 documents à télécharger gratuitement

Cours de programmation partagés par des étudiants et des enseignants. Thèmes couverts : algorithmique, langage C, Java, Python, POO, structures de données.

Systèmes d’Exploitations Avancés

This document provides an introduction to advanced operating systems. It specifically focuses on the use of the Make tool for automating the compilation of software projects. The document includes examples of makefile usage for compiling C programs.

syst
hello
noyaux
72p0
Programmation orientée objet

Ce document présente l'environnement Java, un langage interprété utilisé pour la programmation orientée objet. Il explique le processus de compilation du code source en bytecode et son interprétation par la machine virtuelle Java. Il fournit également des exemples de commandes de compilation et d'exécution des programmes Java.

java
code
myprog
2p0
Support de cours

Ce document présente le support de cours du module «Programmation orientée objet (POO)», s'adressant aux étudiants de 2ème année Licence Fondamentale et appliquée en Informatique de Gestion à l’université de la Manouba. Il couvre les principes fondamentaux de la programmation orientée objet ainsi que les concepts de base d'un programme Java. Ce cours est structuré en plusieurs chapitres, chacun abordant des aspects essentiels de la POO et de l'environnement Java.

objet
programmation
donn
12p0
Introduction to .NET Environment and Visual Basic.Net

This document provides an introductory syllabus on .NET Framework and its components, focusing on Visual Basic.NET for software development. It covers foundational concepts such as integrated development environments (IDEs), framework architecture, and key programming constructs like variables, data types, and object-oriented principles. Additionally, it explains the role of Visual Studio as the primary IDE for developing various types of .NET applications, including Windows, web, and mobile applications. Detailed discussions on advanced features, such as Base Class Libraries, string manipu...

.NET Framework
Visual Basic.NET
Object-Oriented Programming
88p0
Comprehensive Guide to Object-Oriented Programming in VB.Net and Practical Exercises

This document provides a deep dive into implementing object-oriented programming concepts using VB.Net. It starts with basic definitions and principles of object-oriented paradigms such as encapsulation, inheritance, and polymorphism. The guide outlines the creation and management of classes, including constructors, destructors, and accessors, and introduces advanced topics like abstract classes, interfaces, and method overloading. Practical exercises challenge the reader to implement various classes like Salarie and Commercial for real-world applications, ensuring a hands-on understanding...

VB.Net
Object-Oriented Programming
Encapsulation
27p0
Chapitre 0: Exception et Généricité

This document introduces the concept of exceptions in Java, outlining how exceptions are used for efficient error management by separating normal and abnormal execution. It details the predefined exceptions and error-handling mechanisms like 'try', 'catch', and 'finally', and explains user-defined exceptions using the 'throw' keyword. Additionally, the document covers the concept of generics, illustrating how generics enable type-safe data structures and prevent runtime type casting errors by allowing classes and interfaces to be parameterized with specific data types.

exception handling
Throwable
generics
1p0
Introduction à la Programmation Orientée Objet (POO)

The document introduces the principles of Object-Oriented Programming (OOP), detailing its historical evolution from procedural and modular programming. It defines key concepts like encapsulation, abstraction, inheritance, and polymorphism, emphasizing their impact on system quality, development time, and maintenance costs. The methodology encourages modularizing, encapsulating, and modeling software systems by treating them as a society of objects interacting via defined interfaces. The findings highlight that OOP enhances code reuse, maintainability, and mimics real-world thinking in prob...

Object-Oriented Programming
Encapsulation
Inheritance
12p0
Chapitre 2 : Concepts OO en JAVA

This document provides a foundational understanding of Object-Oriented (OO) programming concepts in Java, with emphasis on the role and structure of classes, attributes, methods, and packages. It covers essential elements such as constructors, visibility modifiers, static members, and initialization mechanisms. Detailed syntax and examples are provided to model the principles, showcasing key features such as encapsulation, inheritance, and the reuse of code in Java. Exercises and practical examples illustrate how to declare and manipulate classes and their components effectively.

Java
OOP (Object-Oriented Programming)
Class and Object
Institut Supérieur des Études Technologiques28p0
Chapitre 3 : Encapsulation et Surcharge

This document delves into the principles of encapsulation and method overloading in object-oriented programming, particularly in Java. It defines encapsulation as a mechanism to bundle data and methods while controlling access through visibility modifiers (e.g., public, private). The document highlights the benefits of encapsulation, such as improved simplicity, robustness, and maintainability. Additionally, it explains method overloading as enabling the use of identically named methods with varying parameter configurations, enhancing code reusability and semantic clarity.

encapsulation
setters and getters
method overloading
7p0
Chapitre 2 : Concepts OO en JAVA

The document introduces the principles of Object-Oriented Programming (OOP) in Java. It covers key topics such as classes, attributes, methods, and object instantiation, outlining the relevant syntax and providing examples to illustrate these concepts. Comprehensive details of class structures, visibility modifiers, and method parameters are included. The document also explains advanced topics like inner classes, packages for organization, constructors, and the main method, with practical exercises for better understanding.

Object-Oriented Programming
Java
Classes
Institut Supérieur des Études Technologiques28p0
Chapitre 2 : Concepts OO en JAVA

The document introduces core object-oriented concepts and their implementation in Java, focusing on classes, attributes, and methods. It details visibility modifiers, including 'public', 'private', 'protected', and default, and their role in encapsulation. The document also covers constructors, their types, and usage for object initialization. Additionally, it discusses static elements, method structure, and parameter passing mechanisms, providing syntax examples and exercises for practical understanding.

Object-Oriented Programming
class
constructor
Institut Supérieur des Études Technologiques28p0
Leçon 4 : L’outil makefile

This lesson introduces the makefile tool, emphasizing its utility for efficient compilation in large projects. It explains the principles of dependency graphs, conditional compilation, and the distinction between makefiles and traditional shell scripts. Practical details on writing, executing, and customizing makefiles with variables and macros are provided, with examples demonstrating common use cases. Overall, the lesson highlights how makefile optimization saves time by recompiling only modified code and facilitates complex build processes using predefined rules and commands.

makefile
conditional compilation
dependency graph
9p0
Leçon 2: Compilation Séparée

This document introduces the concept of modular programming in C, detailing the advantages such as improved readability, reusability, and optimization in compilation time. It explains separate file compilation, exemplifying with two programs ('comp_sep.c' and 'fonctions.c') and providing step-by-step commands using 'gcc'. The importance of declaring functions and using header files is emphasized to ensure type safety, with a practical approach via the creation of a shared header file ('fonctions.h'). It also highlights the distinction between local and predefined header file inclusion strat...

modular programming
gcc -c
header files
8p0
Programmation Web 1 - Support de Cours

This document provides a foundational study on Internet and web-related technologies, aimed at first-year IT students. The course covers internet services such as email, file transfers, and search engines, along with web technologies like HTML, XHTML, and CSS. Emphasis is placed on building web pages through hands-on exercises and HTML components, including tables and forms. The syllabus is designed for gradual updates based on student feedback and real-world technological developments.

HTML
CSS
XHTML
Institut Supérieur des Études Technologiques de Djerba60p0
Chapitre IV - Les piles

This document explores the concept of stacks—a Last In, First Out (LIFO) data structure—similar to a stack of plates. It details the chained and contiguous implementations, specifications, and testing methodologies, with practical examples provided in C code. Stacks are created, consulted, modified, and utilized through both linked list-based (pile.h/pile.c) and array-based (pile_contig.h/pile_contig.c) representations. Exercises test the integration and functionality of these modules, confirming their expected behavior in operations such as pushing, popping, and checking emptiness.

stack
LIFO
linked list
6p0
Chapitre IV - Les files d’attente

The document introduces the queue data structure based on the FIFO principle and its implementation using linked lists. It details the design of a queue's memory layout, standard operations like creation, insertion, and removal, and provides corresponding source code in C for defining and manipulating queues. Exercises and a main program demonstrate practical usage of these operations and validate their functionality through example outputs. The document serves as a guide for learning and hands-on application of queue concepts in programming.

FIFO
queue operations
data structures
5p0
Chapitre IV - Les Listes simplement chaînées

The document provides a detailed overview of singly linked lists, including their definition, structure, and functionality. It specifies operations on linked lists using C, such as insertion, deletion, and searching, with clear implementations in 'liste.h' and 'liste.c' files. Sample exercises demonstrate practical usage and testing of the module, providing execution results for validation. The findings emphasize key methods for dynamic memory management and manipulation of data structures in programming.

linked list
liste.h
dynamic memory
6p0
ENSI –SAR

This document discusses the principles and motivations behind Message Oriented Middleware (MOM), highlighting its advantages over traditional client-server models. It explains various messaging models, including the Java Message Service (JMS) and provides examples of MOM implementations such as IBM MQSeries and MSMQ. The document concludes with an overview of the benefits of using a messaging bus for asynchronous communication in distributed applications.

message
applications
syst
78p0
Chapitre 6 : Les Types Structurés et les Enregistrements

This document introduces structured data types called 'enregistrements,' which allow elements of varying types to represent an entity. It explains how to define and use these structures in programming algorithms, including syntax based on methodologies like Pascal and C. Practical examples include declaring records, accessing and updating fields, using nested structures, and processing arrays of records. Use cases include managing entities such as people, products, and providers, demonstrating imbricated structured types for functional dependencies.

structured data types
Pascal/C-style syntax
Merise methodology
6p0
Chapitre 1: LES POINTEURS

This document introduces the role of pointers in the C programming language. It explains their importance for memory addressing, parameter passing, and compact programming solutions. Additionally, it discusses the differences between direct and indirect addressing, basic pointer operations, and their applications with arrays and memory allocation. The text also emphasizes the pitfalls of pointer misuse and provides examples to illustrate their correct implementation.

pointers
addressing modes
memory allocation
33p0
La programmation des API

This document explores methodologies for programming automated systems using GRAFCET and ladder diagram conversion techniques. It also delves into initialization sequences, logical operations (ET, OU, and NEGATION), and input/output addressing in API programming. Examples of implementation across programming languages like LADER and LOG are provided, along with symbolic representations to design logical circuits.

GRAFCET
Ladder Diagram
Logical Operations
13p0
Chapitre 1 : Concepts de base et principes fondamentaux de la Programmation Orientée Objet

Ce document introduit le passage de la programmation classique la programmation orient e objet, en mettant l'accent sur des concepts cl s tels que l'encapsulation, l'h ritage, et le polymorphisme. La Programmation Orient e Objet est d finie comme une m thode ax e sur la manipulation d'objets, combinant donn es et comportements, favorisant modularit et r utilisabilit gr ce des concepts comme les classes et les m thodologies li es. Les id es d'h ritage et de polymorphisme permettent une hi rarchisation puissante et adapt e des relations entre objets. La deuxi me partie du document explo...

Programmation Orientée Objet
Encapsulation
Héritage
15p0
Introduction to JavaScript

This document provides a foundational understanding of JavaScript, covering topics such as variable declaration, functions, data types, operators, and control structures. It distinguishes JavaScript from Java, explaining their differences in compilation and usage for web development. The notes describe how to integrate JavaScript code into HTML using script tags and external files. Additionally, it explores object creation, array manipulation, the use of timers, and dialog boxes for interactivity.

JavaScript
Brendan Eich
Mozilla Foundation
Institut Supérieur des Études Technologiques13p0
Chapitre 3 : Les pointeurs

This document explains fundamental concepts of pointers in the C programming language, including memory addresses, pointer declaration, and manipulation. It demonstrates how to manage data via pointers in memory and the use of arithmetic and dynamic memory allocation methods like `malloc`, `calloc`, and `free`. Several examples explore pointer operations, such as accessing array elements, dereferencing, and connecting pointers with dynamic or multidimensional array structures, ensuring flexibility and efficiency in memory management.

memory addresses
malloc/calloc/free
pointer arithmetic
13p0

Autres ressources en programmation