Duration
24h Th, 20h Pr
Number of credits
Lecturer
Language(s) of instruction
French language
Organisation and examination
Teaching in the first semester, review in January
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
The aim of this course is to introduce you to algorithms and programming in the Python language.
Algorithmics: An algorithm is a sequence of precise operations to be performed in order to solve a given problem.
Programming: Programming is the process of writing an algorithm in a language that can be understood by a computer. A programming language is based on various basic elements (sequence, conditional choice, loop, etc.) and appropriate data structures (lists, arrays, etc.). The programming language covered in this course is Python.
The topics covered will be as follows (subject to change):
- First introduction to algorithms using the Scratch graphical language.
- Basic elements of the Python language (variables, operators, conditional choices, loops, functions).
- Basic data structures in Python (strings, lists, arrays, tuples, sets, dictionaries).
- Principles of algorithmics.
- Concepts of object-oriented programming in Python.
Learning outcomes of the learning unit
At the end of the course, you will be able to build algorithms to solve simple problems and you will be able to program those algorithms in Python.
Prerequisite knowledge and skills
There is no prerequisite.
Planned learning activities and teaching methods
Learning will take place through:
- Weekly 2-hour theory classes given by the professor.
- Weekly 2-hour tutorials, supervised by the professor, an assistant and/or a student instructor.
- Programming challenges.
The programming challenges are designed to put into practice the theoretical concepts covered in the course. They will typically involve analyzing a problem, determining the best algorithm to solve it and implementing this algorithm in Python.
The programming challenges are to be carried out at home. We therefore expect you to have a personal computer.
Mode of delivery (face to face, distance learning, hybrid learning)
Face-to-face course
Further information:
The course is given during the first semester.
Course materials and recommended or required readings
Platform(s) used for course materials:
- eCampus
Further information:
The following materials cover the course material and are mandatory:
- Course notes covering the material covered in theory classes.
- Slides used in theory classes.
- Exercices to do during the tutorials.
- Challenge statements.
These materials will be progressively made available on eCampus during the semester. In particular, the content of the course notes will be progressively added during the semester. The content needed to prepare for the mid-term test will be available no later than three weeks before the exam. The final version of the course notes will be available no later than six weeks before the exam.
Exam(s) in session
Any session
- In-person
written exam
Continuous assessment
Out-of-session test(s)
Further information:
You will be evaluated in two ways:
1. Continuous assessment
4 programming challenges will be given as the semester progresses. Each challenge will consist of a problem to be solved. You will have to submit your solution (in the form of a Python program) on the Montefiore submission platform (https://submit.montefiore.uliege.be/).
For each challenge, a solution can be submitted up to three times before the deadline. Only the last submission will count (i.e., previous submissions are overwritten). Once the deadline has passed, it will no longer be possible to submit a solution.
2. One-off assessments
- Mid-term test: A closed-book written test takes place in November. It focuses on the material covered so far (typically the various basic elements of the Python language) and mainly comprises exercises. It lasts 2 hours. Computers are not allowed.
- In session exam: This is a closed-book written exam covering all the topics covered during the semester. The exam consists mainly of exercises. Computers are not allowed.
For the first session, the following weighting is used to obtain the final grade:
- Challenges: 30%
- Mid-term test: 10%
- Exam: 60%.
Second session
In the event of failure in the first session (i.e., the weighted average of challenges, mi-term test and exam is below 10/20), you may retake the exam in the second session. In this case, the final grade will be that of the exam only (the mi-term test and challenges are no longer taken into account).
Work placement(s)
Organisational remarks and main changes to the course
All the organizational details (calendar, deadlines of the challenges, etc.) will be posted on eCampus.
Contacts
Professor : Vân Anh Huynh-Thu.
Email : vahuynh@uliege.be
Office : 1.103, B28 (Montefiore Institute, Sart-Tilman)