Information, Computation, Communication
Program Overview
Program Overview
The Information, Computation, Communication program is designed to introduce students to algorithmic thinking, familiarize them with the fundamentals of computer science, and develop their programming skills in C++.
Course Description
The program consists of a theoretical part and a practical part. The theoretical part is organized into three modules:
- Calcul (representation of numbers, algorithms, recursion, complexity)
- Information (sampling, reconstruction, Nyquist-Shannon theorem, compression, Shannon's first theorem)
- Systems and security (Von Neumann computer, memory hierarchies, networks, threats, and defenses)
The practical part focuses on introducing students to programming in C++ and covers topics such as variables, expressions, control structures, functions, input/output, and more.
Learning Objectives
By the end of the program, students should be able to:
- Design an algorithm
- Express an algorithm
- Explain what can be solved with an algorithm
- Explain what can be solved efficiently with an algorithm
- Explain how to represent numbers and symbols
- Explain how to capture physical reality with numbers
- Explain how to reconstruct reality from numbers
- Explain how to measure the amount of information in data
- Explain how to store data using the least amount of space possible
- Analyze a complex problem to break it down into sub-problems
- Model a simple real-world situation in C++
- Transcribe an algorithm into its equivalent C++ program
- Calculate the complexity of a simple algorithm
- Develop a small application using C++
- Analyze simple C++ code to describe the result or correct it if it is incorrect
Transversal Skills
- Use common computer tools and those specific to their discipline
- Access and evaluate appropriate sources of information
Teaching Method
The theoretical part is taught through lectures with exercises, while the practical part involves inverted classroom sessions, online courses (MOOC), computer-based practical work, and a micro-project that allows students to integrate the concepts learned and apply the principles of abstraction and reuse.
Expected Work
- Participation in class (in-person and online)
- Exercise resolutions
- Individual project
Development of autonomy based on keyword research, prioritizing the course forum and MOOC, and then any relevant external site. Documented question formulation is central to the effectiveness of these tools. Students are encouraged to answer questions themselves if they know the answer, as it is good training for becoming a future teaching assistant. The use of generative AI is not prohibited for the project but must be documented in the project report.
Evaluation Method
- Individual C++ work submitted during the semester (12%)
- Written exams during the semester (83%): the theoretical part of the course accounts for 45% and the C++ part accounts for 38% of the final course grade
- Cybersecurity quiz at the end of the semester (5%)
Supervision
- Office hours: No
- Assistants: Yes
- Electronic forum: Yes
Resources
- Virtual course service (VDI): Yes
- Bibliography:
- "Découvrir le Numérique" under the direction of André Schiper, PPUR, 2018 edition
- "C++ par la pratique" by J.-C. Chappelier, PPUR 2017 (4th edition)
- Library resources: References can be found at the library
- Polycopies: Copy of slides on Moodle
- Websites: None specified
Preparation for
COM-112(a) project-oriented programming (C++)
In the Programs
- Microengineering, Bachelor semester 1
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Information, Computation, Communication
- Courses: 3 hours per week x 14 weeks
- Exercises: 3 hours per week x 14 weeks
- Type: Mandatory
- Electrical and Electronics Engineering, Bachelor semester 1
- Semester: Fall
- Exam form: During the semester (winter session)
- Subject examined: Information, Computation, Communication
- Courses: 3 hours per week x 14 weeks
- Exercises: 3 hours per week x 14 weeks
- Type: Mandatory
Reference Week
The schedule for the reference week is provided, detailing the timing of lectures and exercises.
