2023-2024 / INFO0201-1

Introduction to computer programming

Duration

20h Th, 40h Pr

Number of credits

 Bachelor in geography : general5 crédits 
 Bachelor in physics6 crédits 

Lecturer

Peter Schlagheck

Language(s) of instruction

French language

Organisation and examination

Teaching in the second semester

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

This course gives an introduction to the art of programming in C/C++. After a general introduction into the working principle of a computer, the elementary components of the programming language C/C++ will be explained and their appplication will be demonstrated and discussed. Topics of the course in detail: - electronic logic based on transistors - information in terms of bits and bytes - the working principle of a computer - syntax and elementary instructions of C/C++ - algorithmic tools - functions - file handling and compilation - arrays and pointers

Learning outcomes of the learning unit

The principal objectives of the course are - to learn how to realize small programs in order to solve numerical problems, - to get used to the general techniques of programming (loops, functions, arrays, ...), - to know how a computer works in principle, in order to judge what is practicable in programming (e.g. from the memory and CPU point of view), -to prepare for the course "Numerical methods of physics".

Prerequisite knowledge and skills

Planned learning activities and teaching methods

40 hours of practical sessions in front of a computer are provided for the course. They take place in the computer rooms 4/15 and 4/34 of the building B5a. Graded interrogations will be organized during the practical sessions.

Mode of delivery (face to face, distance learning, hybrid learning)

The course will be given face-to-face "ex cathedra" by a beamer presentation. The students that are registered for the course will be able to download the slides via myULg.

Recommended or required readings

Recommended literature: - T. Bastin: "Le Langage C/C++" (ULg, lecture notes) - H.-P. Garnir: "Introduction à l'Informatique" (ULg, lecture notes) -S. Lippmann, J. Lajoie & B.E. Moo: "C++ Primer" (Addison-Wesley, 2005) -B. Stroustrup: "The C++ Programming Language" (Addison-Wesley, 1997)

Exam(s) in session

Any session

- In-person

written exam ( open-ended questions )


Additional information:

Evaluation will be done by the interrogations that are organized during the practical sessions (10% of the total grade) as well as by an exam (90% of the total grade). The latter consists of realizing a few programs on the computer (practical part, 70%) and of responding to a few questions on the subject (theoretical part, 30%).

Work placement(s)

Organisational remarks and main changes to the course

Contacts

Peter Schlagheck Département de Physique Université de Liège IPNAS, building B15, office 0/125 Sart Tilman 4000 Liège Phone: 04 366 9043 Email: Peter.Schlagheck@ulg.ac.be http://www.pqs.ulg.ac.be

Association of one or more MOOCs

Items online

Chapter 1
Electronic logic

Chapter 2
Binarized information

Chapter 3
The working principle of a computer

Chapter 4
Elementary programming in C/C++

Chapter 5
Algorithmic tools

Chapter 6
Functions

Chapter 7
File handling and compilation

Chapter 8
Arrays

Code::Blocks
Introduction to the Code::Blocks software

C/C++ lecture notes
Lecture notes on the C/C++ programming language by Prof. Thierry Bastin

Podcast Chapter 1
This podcast can only be used by the students of the University of Liege in the framework of their studies.
No other usage or forwarding or sharing or transmission is authorized by the law.

TP session 1
variables, instructions, elementary operations, input/output

TP session 1 - printable version
variables, instructions, elementary operations, input/output

TP session 2
branchings, loops, mathematical functions

TP session 2 - printable version
branchings, loops, mathematical functions

TP session 3
arrays, random numbers, errors and debugging

TP session 3 - printable version
arrays, random numbers, errors and debugging

TP session 4
functions and procedures, reading and writing into files

TP session 6
strings

TP session 7
pointers, dynamical arrays

TP session 7 - printable version
pointers, dynamical arrays

TP session 8
Pointers, headers, 2-dimensional dynamical arrays

TP session 8 - printable version
Pointers, headers, 2-dimensional dynamical arrays

TP introductory session
Practical work: introductory session

TP introductory session - printable version
Practical work: introductory session