Ingegneria informatica e sistemi di comunicazione
- Ammissione : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/ammissione/
- Programma di studio : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/programma-di-studio/
- Struttura degli studi : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/struttura-degli-studi/
- Prospettive : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/prospettive/
- Mobilità : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/mobilita/
- Persone : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/persone/
- Ammissione : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/ammissione/
- Programma di studio : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/programma-di-studio/
- Struttura degli studi : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/struttura-degli-studi/
- Prospettive : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/prospettive/
- Mobilità : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/mobilita/
- Persone : /it/formazione/bachelor/ingegneria-informatica-e-sistemi-di-comunicazione/persone/
Programma di studio
Indirizzo di studi:
Informatica e sistemi di comunicazione
Specializzazione:
Ingegneria del software
Modulo: Informatique de base
Descrizione del corso
Tornare al modulo-
Obiettivi
Objectifs généraux :
- Dans la rigueur syntaxique et sémantique du langage de programmation étudié, maîtriser les constructions (et leur compositionnalité) portant sur : (a) les données (types, expressions, opérateurs, tableaux...); (b) le contrôle (if, switch, loops, methods, exceptions...); (c) l'orienté-objet (encapsulation, héritage et polymorphisme, classes abstraites et interfaces, expressions lambda...)
- Prédire le déroulement d'un programme (compréhension de code, suivi pas à pas, représentation du contenu mémoire au fil des étapes)
- Utiliser judicieusement les constructions du langage pour écrire un programme devant présenter un certain comportement
- Réfléchir de façon abstraite, avec logique, en distinguant spécification et implémentation, et en s'aidant de formalismes adéquats (esquisses, pseudo-code, ...)
- Concevoir et développer une solution à un problème simple au moyen d'un programme, en s'aidant d'un environnement de développement
A la fin du cours, l'étudiant sait :
- Décrire les étapes du développement d'un programme informatique, les outils et fichiers impliqués
- Utiliser un environnement de développement et un debugger pour l'écriture, l'exécution et le test d'un programme Java
- Expliquer la notion de type et faire la distinction entre un type primitif et un type référence
- Déclarer et manipuler des variables
- Utiliser les opérateurs arithmétiques, logiques et relationnels pour former des expressions
- Ecrire des instructions conditionnelles (branchement et sélection)
- Utiliser les instructions itératives dans des algorithmes simples
- Déclarer, créer et utiliser des tableaux
- Définir et invoquer des méthodes
- Générer, traiter et propager des exceptions là où c'est nécessaire
- Ecrire un programme qui lit/écrit des fichiers texte
- Ecrire une classe, créer des instances (objets) et les utiliser
- Expliquer et utiliser correctement les champs et méthodes statiques
- Expliquer et exploiter la notion d'héritage
- Travailler avec des classes abstraites et des interfaces
- Utiliser la généricité
- Choisir le moyen de définir des classes (internes, anonymes...)
- Utiliser les expressions lambda
- Expliquer les représentations des nombres (int, float) et leurs limitations
-
contenuto
Constructions Java associées aux données
- Types primitifs, littéraux, variables locales, affectation
- Expressions et opérateurs (précédence, associativité), calculs et typage
- Modèles de nombres, limitations (illustration en lien avec la cryptographie RSA)
- Tableaux (aussi multi-dimensionnels), types références, alias
- Création et manipulation des chaînes de caractères (String)
Constructions Java associées au contrôle
- Blocs, if-else, switch, boucles (while, do-while, for), imbrications
- Méthodes et fonctions (entête vs corps, passage de paramètres, déclaration vs appels)
- Exceptions (propagation, génération, traitement)
Programmation orientée objet en Java
- Classe et objet
- Encapsulation. Packages et contrôle d'accès
- Modificateurs private/public, final
- Héritage, polymorphisme
- Membres statiques
- Classes abstraites, interfaces
- Classes internes. Classes anonymes. Expressions lambda
- Généricité
Bases de programmation et savoir-faire du développeur (quelques aspects)
- Notion de langage, identificateurs, keywords, variables, instructions...
- Développement : étapes, outils utilisés, fichiers impliqués, environnement intégré
- Utilisation d'un environnement de développement (IntelliJ IDEA: debugging, refactoring...)
- Erreurs de compilation vs exceptions durant l'exécution
- Entrées/sorties, lecture/écriture séquentielle de fichiers texte
- Quelques bonnes pratiques de codage/programmation
Metodo d'insegnamento e volume di lavoro
Insegnamento frontale (esercizi inclusi)
30 periodi
lavori pratici / laboratorio
66 periodi
Travail personnel
99 periodi
Titolo del corso
Anno di validità
2024-2025
Anno del piano degli studi
1o anno
Semestre
autunno
Programma
francese,bilingue
Indirizzo di studi
Informatica e sistemi di comunicazione
Lingua d'insegnamento
tedesco
ID del corso
B1C-PROG-S
Livello
Tipo di corso
fondamentale
Formazione
Bachelor
Metodi di valutazione
- prove in itinere prove scritte, lavori pratici / valuatazione delle relazioni di laboratorio, Ev. tests courts non annoncés
Metodo di calcolo della nota del corso
Note_Théorie = Moyenne pondérée des travaux écrits et des éventuelles autres évaluations. Ajustement_TP = éventuel ajustement (positif ou négatif) lié à l'évaluation des TPs. Note_Cours = Note_Théorie + Ajustement_TP.
Docente/i e/o coordinatore/i
Serge Ayer, Frédéric Bapst, Beat Wolf