This learning unit is not open to incoming exchange students!
Teacher(s)
Language
French
Prerequisites
These projects assume the parallel acquisition of basic notions in programming as targeted by the course LSINC1101.
Main themes
This teaching unit revolves around programming projects.
The objectives are:
The objectives are:
- to model simple situations using computer systems;
- to design a simple interactive service accessible via a web interface and using a relational database;
- understand the basic principles of how interactive websites work;
- to confront professional constraints: group work, meeting deadlines, sense of responsibility;
- to acquire transversal skills taking notes, writing reports
Learning outcomes
At the end of this learning unit, the student is able to : | |
| S1.I2 , S2.1, S2.2, S2.4 , S4.1, S4.2, S4.3 , S5.2, S5.3, S5.4, S5.5, S5.6 | With regard to the AA reference system of the "Bachelor in Computer Science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
|
Content
The course presupposes basic knowledge of the python programming language as seen in the LSINC1101 course. Students work in groups to solve more complex problems than those covered in the programming course. Each group will work on a unique project, but with several deadlines and intermediate developments.
Generally speaking, students should learn to:
Generally speaking, students should learn to:
- work effectively in a group
- write correct programs
- document their codes
- write tests that validate the proper functioning of their programs
- document their programs and associated testing
- take a critical look at the work of other groups of students to help them improve (constructive peer-review)
- evaluate the performance of their programs
- find python libraries and modules that solve similar problems
- compare the features and performance of different solutions to the same problem
- document and analyze these differences in functionality and performance
- build simple SQL queries
- quantitative analysis of the energetic impact of selecting a particular web technology
Teaching methods
Project-based learning in groups of several students. Each group will be supervised by a member of the teaching team.
4 or 5 lecture sessions are organized (depending on progress) to cover the basics of web technologies, SQL, the Python Flask framework, unit testing, or Graph.js.
At the beginning of the year, practical exercises follow the lectures; these practical exercises are gradually replaced by project follow-up sessions.
Project-based learning means that students must work independently for approximately 8 hours per week to go beyond the basics covered in class in order to build their projects. It is impossible to pass the course by attending only lectures and practical sessions.
Students are encouraged to ask questions during the lectures, and of course, during the follow-up sessions.
This teaching unit addresses issues related to sustainable development and transition through a module dedicated to exploring the performance and power consumption of web servers based on the technological choice among various web technologies.
4 or 5 lecture sessions are organized (depending on progress) to cover the basics of web technologies, SQL, the Python Flask framework, unit testing, or Graph.js.
At the beginning of the year, practical exercises follow the lectures; these practical exercises are gradually replaced by project follow-up sessions.
Project-based learning means that students must work independently for approximately 8 hours per week to go beyond the basics covered in class in order to build their projects. It is impossible to pass the course by attending only lectures and practical sessions.
Students are encouraged to ask questions during the lectures, and of course, during the follow-up sessions.
This teaching unit addresses issues related to sustainable development and transition through a module dedicated to exploring the performance and power consumption of web servers based on the technological choice among various web technologies.
Evaluation methods
The course is divided into continuous assessment and a final computer-based exam.
Continuous Assessment
• An initial individual phase (out of 5)
• Three intermediate phases, graded by group (out of 5, out of 13, out of 12), but systematically individualized. Each of these intermediate phases will be followed by an individual test, written or online, taken on their personal computer, during the lab session or in class immediately after the phase submission. The phase grade includes the individual test, which counts for 10%. If the test result is less than 50%, the phase grade is 0. These tests are easy; they are only there to ensure that the student understands the provided code and has not used AI. The phases also assess various transferable skills such as writing a report or giving a presentation.
• Peer review assessment (/5)
• Attendance assessment, based on monitoring by the teaching team member assigned to supervise the group (/10)
• Final project based on the code and report (/20)
Group work grades are individualized according to the student's involvement within the group during the semester, based on mandatory attendance at activities, active participation in intermediate assignments (assessed formatively), and summatively assessed assignments.
Computer-based written exam
• Individual computer-based written exam that assesses the knowledge acquired during the project design phase. (/30)
To determine the final grade, the weighting given to continuous assessment (the additional weighting corresponding to the individual exam) is:
• 70/100 if the individual written exam grade is above 10/20;
• 0 if the individual written exam grade is below 5/20;
• Linearly progressive, ranging from 0 (if the individual written exam grade is 5/20) to 70/100 (if the written exam grade is 10/20).
Participation in all teaching activities is mandatory.
Students who fail in June may retake an individual project in the second session. This project will be assessed solely through a computer-based written exam, which will replace 100% of the final grade. Assignments leading to the continuous assessment grade cannot be retaken.
Computer-based written exams may be customized based on the student's project code. All computer-based tests and exams must be completed without access to any external resources.
Although AI is one of the modern digital tools, it is essential to understand the fundamentals of programming independently in order to use it effectively. This course aims to teach the basics of computer science through a relatively simple project for an expert. Therefore, the use of generative AI (such as ChatGPT, Claude, Gemini, etc.), other than for writing assistance (i.e., reformulating, correcting, or translating a sentence you have written), is strictly prohibited. The instructor reserves the right to give a zero to some or all projects containing AI-generated code. The use of AI may also be considered cheating, which will be dealt with by the academic board. The instructor also reserves the right to summon a student if there is any doubt about the authenticity of the code, in order to verify that they are able to explain the code they have submitted.
Continuous Assessment
• An initial individual phase (out of 5)
• Three intermediate phases, graded by group (out of 5, out of 13, out of 12), but systematically individualized. Each of these intermediate phases will be followed by an individual test, written or online, taken on their personal computer, during the lab session or in class immediately after the phase submission. The phase grade includes the individual test, which counts for 10%. If the test result is less than 50%, the phase grade is 0. These tests are easy; they are only there to ensure that the student understands the provided code and has not used AI. The phases also assess various transferable skills such as writing a report or giving a presentation.
• Peer review assessment (/5)
• Attendance assessment, based on monitoring by the teaching team member assigned to supervise the group (/10)
• Final project based on the code and report (/20)
Group work grades are individualized according to the student's involvement within the group during the semester, based on mandatory attendance at activities, active participation in intermediate assignments (assessed formatively), and summatively assessed assignments.
Computer-based written exam
• Individual computer-based written exam that assesses the knowledge acquired during the project design phase. (/30)
To determine the final grade, the weighting given to continuous assessment (the additional weighting corresponding to the individual exam) is:
• 70/100 if the individual written exam grade is above 10/20;
• 0 if the individual written exam grade is below 5/20;
• Linearly progressive, ranging from 0 (if the individual written exam grade is 5/20) to 70/100 (if the written exam grade is 10/20).
Participation in all teaching activities is mandatory.
Students who fail in June may retake an individual project in the second session. This project will be assessed solely through a computer-based written exam, which will replace 100% of the final grade. Assignments leading to the continuous assessment grade cannot be retaken.
Computer-based written exams may be customized based on the student's project code. All computer-based tests and exams must be completed without access to any external resources.
Although AI is one of the modern digital tools, it is essential to understand the fundamentals of programming independently in order to use it effectively. This course aims to teach the basics of computer science through a relatively simple project for an expert. Therefore, the use of generative AI (such as ChatGPT, Claude, Gemini, etc.), other than for writing assistance (i.e., reformulating, correcting, or translating a sentence you have written), is strictly prohibited. The instructor reserves the right to give a zero to some or all projects containing AI-generated code. The use of AI may also be considered cheating, which will be dealt with by the academic board. The instructor also reserves the right to summon a student if there is any doubt about the authenticity of the code, in order to verify that they are able to explain the code they have submitted.
Other information
The course presupposes knowledge of Python. If the student has missed the Computer Science 1 course, it is his/her duty to participate in the remedial sessions.
Online resources
Faculty or entity
Programmes / formations proposant cette unité d'enseignement (UE)
Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Bachelor in Computer Science