3 ECTS credits
90 u studietijd
Aanbieding 1 met studiegidsnummer 4013765EER voor alle studenten in het 1e semester met een verdiepend master niveau.
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
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
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
De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Schriftelijk bepaalt 100% van het eindcijfer
Binnen de categorie Examen Schriftelijk dient men volgende opdrachten af te werken:
Written open book examination (containing exercise/practical questions as well as theory questions).
Deze aanbieding maakt deel uit van de volgende studieplannen:
Master of Applied Sciences and Engineering: Applied Computer Science: Standaard traject (enkel aangeboden in het Engels)
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Artificiële Intelligentie
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Multimedia
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Software Languages and Software Engineering
Master in de ingenieurswetenschappen: computerwetenschappen: afstudeerrichting Data Management en Analytics
Master in Applied Sciences and Engineering: Computer Science: Artificial Intelligence (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Multimedia (enkel aangeboden in het Engels)
Master in Applied Sciences and Engineering: Computer Science: Software Languages and Software Engineering (enkel aangeboden in het Engels)