3 ECTS credits
90 h study time

Offer 1 with catalog number 4013765EER for all students in the 1st semester at a (E) Master - advanced level.

Semester
1st semester
Enrollment based on exam contract
Possible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Taught in
English
Faculty
Faculty of Engineering
Department
Electronics and Informatics
Educational team
Bruno CORNELIS (course titular)
Activities and contact hours
18 contact hours Lecture
18 contact hours Seminar, Exercises or Practicals
Course Content

This course explores the common concepts underlying most programming languages and explains how they can be implemented on sequential computers.  These concepts are being illustrated using Python as a main course language.

This course introduces the language elements of the programming language Python.

At a conceptual level, this course covers among others the following topics:

- compilation and interpretation
- scoping rules
- typing
- recursion
- list processing
- Basic conceptual differences between imperative, object oriented, functional and logic programming

Course material
Digital course material (Required) : slides on pointcarre, Pointcarré
Handbook (Recommended) : Concepts of programming languages, An introduction to computer science using python 3, Robert W. Sebesta, 2de, Pearson, 9781937785451, 2013
Additional info

As a course book is recommended:

Practical Programming
An introduction to Computer Science using Python
Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson

As an additional reference following book is recommended: 
Seyed H. Roosta
Foundations of programming languages
Thomson-Brooks/Cole, 2003.
ISBN 0-534-39303

Learning Outcomes

Algemene competenties

The student can use the basic elements of the Python programming language to construct simple computer programs. He can select and combine the appropriate language elements to obtain this.

The student understands the syntax and semantics of the basic Python language elements.

The student understands the basic conceptual differences between imperative, object oriented, functional and logic programming.

The Competences that are expected are:
- Knowledge and understanding Knowing and understanding different programming styles. Knowing and understanding the basic principles of data representations. Knowing and understanding the core techniques used for specifying, designing, implementing and validating software controlled systems. Knowing and understanding the core concepts of imperative and object oriented languages and of their interpretation. Understanding dynamic datastructures and their use. Understanding the evolution of relative cost of hardware and software.
- Applying knowledge and understanding Being able to solve exercises and answer questions about the above subject matters intended for testing the student's insight - Making judgements Being able for all the above subject matters to solve simple exercices implying choices, predict likely evolutions and evaluate advantages and disadvantages of different approaches.
- Communication Being able to communicate efficiently, both orally and in writing about the above subject matters.
- Learning skills Starting from the basis acquired in this course, being able to learn and use on his/her own a classical programming language and to select, learn and apply appropriate software technologies.

This course contributes to the following programme outcomes of the Master in Applied Computer Sciences:

MA_A: Knowledge oriented competence

1. The Master in Engineering Sciences has in-depth knowledge and understanding of exact sciences with the specificity of their application to engineering
11. The Master in Engineering Sciences can think critically about and evaluate projects, systems and processes, particularly when based on incomplete, contradictory and/or redundant information

MA_B:  Attitude

12. The Master in Engineering Sciences has a creative, problem-solving, result-driven and evidence-based attitude, aiming at innovation and applicability in industry and society
13. The Master in Engineering Sciences has a critical attitude towards one’s own results and those of others

MA_C:  Specific competence

21. The Master in Applied Computer Sciences has a thorough knowledge of programming concepts and can apply them in smart systems of systems

Grading

The final grade is composed based on the following categories:
Written Exam determines 100% of the final mark.

Within the Written Exam category, the following assignments need to be completed:

  • written open book exam with a relative weight of 1 which comprises 100% of the final mark.

    Note: Written examination (containing exercise/practical questions as well as theory questions)

Additional info regarding evaluation

Written open book examination (containing exercise/practical questions as well as theory questions).

Academic context

This offer is part of the following study plans:
Master in Applied Sciences and Engineering: Applied Computer Science: Standaard traject