7 ECTS credits
195 h study time
Offer 1 with catalog number 1008047ANR for all students in the 1st and 2nd semester
at
a (A) Bachelor - preliminary level.
- Semester
- 1st and 2nd semester
- Enrollment based on exam contract
- Impossible
- Grading method
- Grading (scale from 0 to 20)
- Can retake in second session
- Yes
- Taught in
- Dutch
- Mid-term
- Yes
- Faculty
- Faculteit Ingenieurswetenschappen
- Department
- Electronics and Informatics
- Educational team
- Jan Lemeire
(course titular)
Bart Jansen
Ruben De Smet
Colas Schretter
Tobias Birnbaum
- Activities and contact hours
-
36 contact hours Lecture
40 contact hours Seminar, Exercises or Practicals
27 contact hours Independent or External Form of Study
- Course Content
- This course is composed of three parts:
In the first part a general overview of electronic data processing systems is made. The topics are: digital representation of information, the architecture of the Von Neumann computers, the tasks and the internal operation of operating systems and the basic concepts of programming and programming languages. In a last chapter a historical overview of the computer technology and of concepts in computer science and in software engineering will be given.
In the second part the student learns the basic concepts of programming and algorithms. In the first chapter, some important concepts such as structured and object-oriented programming are introduced. Thereafter the programming language Modula 2 is used as a simple support for introducing basic notions of programming such as data types, scope rules, selection and iteration statements, functions, parameter passing and recursion. These programming concepts are illustrated through some important algorithms for searching and sorting. Together with the implementation of these algorithms, their performance, both from a time and a space point of view is systematically analyzed.
A last chapter is completely dedicated to the different techniques to validate programs.
The third part is an expansion of the scope of the second: program modularity, objects, static and dynamic memory management and complex data structures are introduced. These concepts are illustrated by means of sequential files, linear lists, trees and hashing tables.
- Course material
- Handbook (Required) : Practical Programming, An Introduction to Computer Science Using Python 3.6, Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson, 3de, The Pragmatic Programmers, 9781680502688, 2017
Digital course material (Required) : De slides en aanvullend studiemateriaal voor het eerste semester, http://www.etro.vub.ac.be/Education/Courses/Python/
Course text (Required) : Informatica, Deel I: Java en object geprogrammeerd oriƫnteren, Jan Lemeire, VUB, 2220170006161, 2019
Digital course material (Required) : De slides en aanvullend studiemateriaal voor het tweede semester, http://parallel.vub.ac.be/education/java
Course text (Required) : Informatica, deel II. Algoritmen en datastructuren - deel III. Technologie,historiek en economische aspecten van de informatica, Jan Lemeire, VUB, 2220170006178, 2019
- Additional info
Slides and course material first semester: http://www.etro.vub.ac.be/Education/Courses/Python/
Slides and course material second semester: http://parallel.vub.ac.be/education/java
The next 3 books are available in the VUBtiek:
1) "Practical Programming: An introduction to Computer Science using Python" geschreven door Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson (eerste semester).
2) Informatica deel I: Java en object-georienteerd programmeren
3) Informatica deel II: "Algoritmes en datastructuren" en deel III: "technologie, historiek en economische aspecten" (tweede semester)
- Learning Outcomes
-
General competencies
The educational goals are:
- To provide students with core knowledge about computers.
- To give students insight into the evolution of the field in order to enable them to have realistic expectations for the future.
- To provide students with a sufficient background in programming for learning by themselves how to write programs in any programming language, and with sufficient notions in software engineering for asserting the quality of software.
- To give students sufficient knowledge about algorithms for choosing adequate solutions when a new problem needs to be solved.
The competences the student is supposed to have acquired are:
- Knowledge and understanding
Knowing and understanding the global organisation of a sequential computer
Knowing the main tasks of a multitasking operating system and understanding how it operates.
Knowing and understanding the underlying principles and architecture of computer networks
Knowing and understanding basic concepts of programming languages and their interpretation.
Understanding the relative costs associated with hardware and software
Knowing and understanding the the core techniques used to specify, design, implement and validate systems based upon software.
Knowing the essential constructs of high-level programming languages and understanding their implementation on sequential computers.
Knowing and understanding the classical algorithms for searching and sorting, and being able to evaluate the resources needed for their execution.
Knowing the concepts underlying object oriented programming and understanding its benefits.
Understanding the purpose and the implementation of dynamic data structures.
- Applying knowledge and understanding
Being able to solve simple exercices and answer questions about the above subject matters intended for testing the student's insight
Being able to perform normal information retrieval and office automation tasks on a PC.
- 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 on his/her own a classical programming language.
- Grading
-
The final grade is composed based on the following categories:
Oral Exam determines 22% of the final mark.
Written Exam determines 56% of the final mark.
PRAC Practical Assignment determines 22% of the final mark.
Within the Oral Exam category, the following assignments need to be completed:
- theorieexamen mondeling
with a relative weight of 1
which comprises 22% of the final mark.
Note: mondeling examen over de hoorcolleges van het tweede semester
Within the Written Exam category, the following assignments need to be completed:
- oefeningenexamen 1
with a relative weight of 17
which comprises 17% of the final mark.
This is a mid-term test.
Note: praktisch oefeningenexamen over practica eerste semester
- schif ex inhoud HOC 1
with a relative weight of 17
which comprises 17% of the final mark.
This is a mid-term test.
Note: schriftelijke examen over de inhoud van de hoorcolleges van het eerste semester
- oefeningenexamen 2
with a relative weight of 22
which comprises 22% of the final mark.
Note: praktisch oefeningenexamen over practica eerste semester
Within the PRAC Practical Assignment category, the following assignments need to be completed:
- project met mond verdediging
with a relative weight of 1
which comprises 22% of the final mark.
Note: projectwerk met bijhorende mondelinge verdediging
- Additional info regarding evaluation
Evaluation of project, exam on practical exercises and exam on theory.
- Allowed unsatisfactory mark
- The supplementary Teaching and Examination Regulations of your faculty stipulate whether an allowed unsatisfactory mark for this programme unit is permitted.
Academic context
This offer is part of the following study plans:
Bachelor of Engineering: Mechanical and Electrotechnical Engineering (only offered in Dutch)
Bachelor of Engineering: Civil Engineering (only offered in Dutch)
Bachelor of Engineering: Chemistry and Materials (only offered in Dutch)
Bachelor of Engineering: Electronics and Information Technology (only offered in Dutch)
Bachelor of Engineering: Electronics and Information Technology Profile Profile Computer Science (only offered in Dutch)
Bachelor of Engineering: Startplan (only offered in Dutch)
Bachelor of Engineering: Biomedical Engineering (only offered in Dutch)