2024-2025 / INFO3001-1

Introduction to programming

Duration

24h Th, 20h Pr

Number of credits

 Bachelor in ancient and modern languages and literatures5 crédits 
 Bachelor in ancient languages and literatures : classics5 crédits 
 Bachelor in information and communication5 crédits 
 Bachelor in modern languages and literatures : German, Dutch and English5 crédits 
 Bachelor in history of art and archaeology : general5 crédits 
 Bachelor in history5 crédits 
 Bachelor in modern languages and literatures : general5 crédits 
 Bachelor in history of art and archaeology : musicology5 crédits 
 Bachelor in ancient languages and literatures : Oriental studies (Registrations are closed)5 crédits 
 Bachelor in philosophy5 crédits 
 Bachelor in French and Romance languages and literatures : general5 crédits 

Lecturer

Vân Anh Huynh-Thu

Language(s) of instruction

French language

Organisation and examination

Teaching in the first semester, review in January

Schedule

Schedule online

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.
We will take care to illustrate all the technical concepts covered in the course with pratical examples (linked to your disciplines, wherever possible).

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.
During the tutorial sessions, you will solve small programming exercises on your own, either on your laptop or on a sheet of paper. A member of the teaching team (the professor, an assistant and/or a student instructor) will be present during these sessions to answer your questions.

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)

Association of one or more MOOCs