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.
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
- list processing
- Basic conceptual differences between imperative, object oriented, functional and logic programming
As a course book is recommended:
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
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
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
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 examination (containing exercise/practical questions as well as theory questions).
This offer is part of the following study plans:
Master in Applied Sciences and Engineering: Applied Computer Science: Standaard traject