6 ECTS credits
150 h study time

Offer 1 with catalog number 1000419ANW for working students in the 1st semester at a (A) Bachelor - preliminary level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Enrollment Requirements
NOTE: registration for this course is only possible for working students. Day students can register for courses whose code ends with an R. At Inschrijven / studentenadministratie@vub.be you must be registered at the VUB as a working student for the current academic year.
Taught in
Dutch
Faculty
Faculty of Sciences and Bioengineering Sciences
Department
Computer Science
Educational team
Viviane Jonckers (course titular)
Wolfgang De Meuter
Eline PHILIPS
Mattias DE WAEL
Activities and contact hours
39 contact hours Lecture
19 contact hours Seminar, Exercises or Practicals
50 contact hours Independent or External Form of Study
Course Content
(1) Procedural Abstraction
Elements of programming: expressions, evaluation, names and environments, first order procedures, conditions and predicates, the substitution model for evaluation, the environment model for evaluation, established procedures,  procedures as black box abstractions
Procedures and processes: linear recursion and iteration, tree recursion, order of process growth
Higher order procedures: procedures as general methods, procedures as parameters, anonymous procedures, local variables, procedures as return values

(2) Data abstraction
Use of data abstraction, abstraction levels, abstraction barriers, implementation of abstract data types
Hierarchic data: lists, trees and family trees
Symbolic data, quotation
Multiple representations for one ADT, data-oriented programming, object-oriented programming
Systems with generic operators, combining different types of data

(3) Modularity, objects and condition
Assignment and local condition, local condition, cost and use of assignment
Modeling using updatable data: updating lists and trees, stacks of rows and tables
Building ADTs individually for an application: identification of objects, their attributes and operations.
Stream programming: The concept, streams as lists, nested streams, infinite streams
Constraint programming: the concept
Course material
Digital course material (Required) : Oefeningenbundel en taken, Leerplatform
Handbook (Recommended) : Structure and Interpretation of Computer Programs, Hoofdstukken 1 + 2 +3, Abelson en Sussman, 2de, MIT Press, 9780262510875, 1996
Digital course material (Recommended) : Aanvullend online materiaal, http://ssel.vub.ac.be/ssel/teaching:courses:stru1
Additional info

For the digital course material consult the course page on the learning platform.

Learning Outcomes

General competences

 

knowledge and understanding:
+ the student can explain the basic elements, the combination techniques and the abstraction techniques that are available in mainstream programming languages 
+ the student can explain the different techniques that are available to master the complexity of a program 
+ the student can explain the various programming styles presented in the course
 
application of knowledge and understanding:
+ the student can, when given a concrete programming assignment, write a Scheme program that obeys a number of quality properties and he/she can run and test the program
+ the student can map the language constructs that are explained in the course to constructs in related programming languages; he/she can abstract from the particular syntax of Scheme
 
making judgements:
+ the student can assess the applicability of a given technique for a given problem 
+ the student can make a choice between different programming styles for a given assignment
 
communication:
+ the student masters the necessary terminology to explain the different elements and concepts covered in the course in a discussion or an oral presentation
 
learning skills:
+ the student can make a mapping between the concrete elements of a new programming language he or she is studying and the elements and concepts presented in the course; this will enable the student to master new programming languages faster

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 exam with a relative weight of 1 which comprises 100% of the final mark.

Additional info regarding evaluation

During the semester, homework assignments are to be submitted.
In week 6 or 7 a test is organised. This test is mandatory.
At the end of the semester (January) a mandatory written exam about the exercises and the theory is organised. This exam is on all the subject matter covered in the entire semester.
When the student obtained a higher grade on the test in week 6, this grade will be taken into account for 20% of the final grade. When the student obtained a lower grade on the test in week 6 this will not influence the final grade.

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:
Master of Teaching in Science and Technology: biologie (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: geografie (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: fysica (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: wiskunde (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Science and Technology: ingenieurswetenschappen (120 ECTS, Etterbeek) (only offered in Dutch)
Master of Teaching in Economics: standaard traject (90 ECTS, Etterbeek) (only offered in Dutch)
Bridging Programme Master of Science in Applied Sciences and Engineering: Computer Science: Standaard traject (only offered in Dutch)
Bridging Programme Master of Science in Applied Computer Science: Standaard traject (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track C (Ind Ing, 61 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Sciences and Engineering: Computer Science: Track A (76 ECTS) (only offered in Dutch)
Preparatory Programme Master of Science in Applied Computer Science: Enkel voor studenten industriële wetenschappen (only offered in Dutch)
Preparatory Programme Master of Science in Applied Computer Science: Track A (58 ECTS) (only offered in Dutch)