Duration
20h Th, 40h Pr
Number of credits
Bachelor in geography : general | 5 crédits | |||
Bachelor in physics | 6 crédits |
Lecturer
Language(s) of instruction
French language
Organisation and examination
Teaching in the second semester
Schedule
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)
Face-to-face course
Further information:
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 myULiège.
Course materials and recommended or required readings
Further information:
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