Computer science and communication systems
- Admission : /en/education/bachelor/computer-science-and-communication-systems/admission/
- Study program : /en/education/bachelor/computer-science-and-communication-systems/study-program/
- Structure of studies : /en/education/bachelor/computer-science-and-communication-systems/structure-of-studies/
- Career perspectives : /en/education/bachelor/computer-science-and-communication-systems/career-perspectives/
- Exchange programs : /en/education/bachelor/computer-science-and-communication-systems/exchange-programs/
- People : /en/education/bachelor/computer-science-and-communication-systems/people/
- Admission : /en/education/bachelor/computer-science-and-communication-systems/admission/
- Study program : /en/education/bachelor/computer-science-and-communication-systems/study-program/
- Structure of studies : /en/education/bachelor/computer-science-and-communication-systems/structure-of-studies/
- Career perspectives : /en/education/bachelor/computer-science-and-communication-systems/career-perspectives/
- Exchange programs : /en/education/bachelor/computer-science-and-communication-systems/exchange-programs/
- People : /en/education/bachelor/computer-science-and-communication-systems/people/
Study program
Department:
Computer science and communication systems
Specialization:
Data Engineering
Module: Basic Computing
Course description
Back-
Objectives
General Objectives
- In the syntactic and semantic rigor of the programming language studied, master the constructs (and their compositionality) dealing with: (a) data (types, expressions, operators, arrays...); (b) control (if, switch, loops, methods, exceptions...); (c) object-oriented (encapsulation, inheritance and polymorphism, abstract classes and interfaces, lambda expressions...)
- Predicting the flow of a program (code comprehension, step-by-step follow-up, representation of the memory content over the steps)
- Use the language constructs judiciously to write a program that must have a certain behavior
- Think abstractly, logically, distinguishing between specification and implementation, and using appropriate formalisms (sketches, pseudo-code, ...)
- Design and develop a solution to a simple problem by means of a program, with the help of a development environment
-
Content
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
Type of teaching and workload
Lecture course (including exercises)
30 periods
Practical exercises / lab work
66 periods
Travail personnel
99 periods
Course specification
Year of validity
2025-2026
Weight
1st year
Semester
Autumn
Program
French,Bilingual
Department
Computer science and communication systems
Language of instruction
French
ID
B1C-PROG-S
Level
basic
Course type
Core
Study program
Bachelor
Evaluation methods
- Continuous assessment Written work, Practical exercises / Evaluated reports,
Course grade calculation method
Score_Theory = Weighted average of the written work and any other evaluations. Adjustment_TP = Result of the evaluation of the TP translated into tenths of positive or negative points (according to the document given during the first session). Course_Score = Theory_Score + TP_Adjustment.
Intructor(s) and/or coordinator(s)
Serge Ayer, Frédéric Bapst, Beat Wolf