CourseSpecifications
Valid as from the academic year 2024-2025

System Programming (C003776)

Course size
Credits 6.0(nominal values; actual values may depend on programme)
Study time 180 h

Course offerings and teaching methods in academic year 2024-2025
A (semester 1)
Dutch
Gent

Lecturers in academic year 2024-2025
De Turck, Filip
Volckaert, Bruno

group work
lectureseminar

TW05
TW05

Offered in the following programmes in 2024-2025
Bachelor of Science in Computer Science
Bachelor of Science in Mathematics
Master of Science in Bioinformatics(main subject Systems Biology)

lecturer-in-charge
co-lecturer
crdts
666offering
AA
A

Teaching languages
DutchKeywords
Procedural programming, C programming language, hybrid programming language, C++ ,software design paradigms.
Position of the course
After prior introductory courses in programming, the objective of this course is to widen theknowledge and understanding of programming languages, as well as to treat the basic
principles of paradigms for software design in a more generic way : procedural, object oriented
and aspect oriented.
The major objective is to give an extended overview of current paradigms for software
engineering. It fits in the bachelor curriculum since programming techniques are put in abroader context. Students are prepared for later courses which are more about development
methodology and also for carrying out realistic development projects in the final phase of thebachelor curriculum.
Contents
1 Procedural programming (using C) and hybrid languages (using C++).
1 This implies following skills:
1 • using pointers
1 • reference types versus value semantics
1 • operator overloading1 • inheritance, both single and multiple
1 • separation of interface and implementation, illustrating a weakness of C++
1 • generic programming and data abstraction
1 • the STL library1 • exception handling
2 Paradigms of software design
1 • object oriented paradigm
1 • • a conceptual discussion of object orientation
1 • • the limitations of the paradigm
1 • platforms for support of large software projects with multiple programmers
1 • • Version Systems(Approved)11 • • Generation of Makefiles
1 • overview of currently important software technologies
1 • • Application on portable devices (PDA,s Smart phones, etc)
3 Lab-assignments (individually and in group), aimed at the use of programming languages
1 like C and C++
Initial competences• A good knowledge of at least one programing language, preferably an object oriented• language (Java)• Initial experience with the basic principles of object orientation• Some knowledge of computer architecture• Experience with using a computer• These objective are met by the courses "Programming" and "Object Oriented Programming"• which come earlier in the curriculum
Final competences
1 A good view on several paradigms for software design.
2 A good knowledge of several programming languages.
3 Insight in the available platforms for support of large projects.
4 An overview of currently important software technologies.
Conditions for credit contract
Access to this course unit via a credit contract is determined after successful competences assessment
Conditions for exam contract
This course unit cannot be taken via an exam contract
Teaching methods
Group work, Seminar, Lecture
Study material
Type: Slides
Name: System programming
Indicative price: Free or paid by faculty
Optional: noLanguage : Dutch
Number of Slides : 500
Available on Ufora : Yes
Online Available : Yes
Available in the Library : No
Available through Student Association : NoReferences• A Book on C, vierde editie (Al Kelley, Ira Pohl), ISBN: 90.430-0497.9 (English version)• De programmeertaal C++ (Bjarne Stroustrup), ISBN: 90.430-0231.3 (optional)
Course content-related study coaching
An e-learning environment (including discussion fora supporting the building of a community)
Lab sessions : assistants are available to help the students during these sessions and give
feedback on the submitted solutions
Teacher and assistants can be reached by e-mail and online discussion fora
Assessment moments
end-of-term and continuous assessment
Examination methods in case of periodic assessment during the first examination period
Skills test
Examination methods in case of periodic assessment during the second examination period
Skills test
Examination methods in case of permanent assessment
Skills test, Assignment
Possibilities of retake in case of permanent assessment
examination during the second examination period is possible in modified form
Extra information on the examination methods• During examination period: written open-book exam. Usage of generative AI during the(Approved)2

• examination is not permitted and is treated as fraud.
• During semester: graded lab-assignments (code and documentation)
Calculation of the examination mark
Combination of NPE (25% of final grade) and PE (75% of final grade). In case of a clearly
different amount of contributions from the team members, the score of the students from thesame team can be different.
In case a score of less than 9/20 is obtained for the examination, the student can not pass thecourse. If the total score would then be 10/20 or more, the total score will be reduced to 9/20.

(Approved)3