Offer 1 with catalog number 1000428ANR for all 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
- Taught in
- Dutch
- Faculty
- Faculteit Wetenschappen en Bio-ingenieurswetensch.
- Department
- Computer Science
- Educational team
- Viviane Jonckers
Wolfgang De Meuter
(course titular)
- Activities and contact hours
- 39 contact hours Lecture
39 contact hours Seminar, Exercises or Practicals
- 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
- Handbook (Recommended) : Structure and Interpretation of Computer Programs, Hoofdstukken 1 + 2 + 3, Abelson en Sussman, 2de, MIT Press, 9780262510875, 1996
Digital course material (Required) : Oefeningen en taken, Leerplatform
- Additional info
For the digital material please consult the course page on the learning platform.
- Learning Outcomes
-
General competencies
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
5% of the grade comes from activity and quality of work published on the courses’s learning platform. The remaining 95% come from the exam, as follows. An intermediate evaluation is organised in week 7. Participation is compulsory for students in 1BA Computer Science and Artificial Intelligence. The score for the intermediate evaluation counts for 20% of the exam part of the grade (i.e. 20% of 95%) whenever that score is lower than 4 or higher than the result of the exam. The score for the intermediate evaluation is ignored in case it is between 4 and the exam result.
In second session, only the exam determines 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.