CourseSpecifications
Valid as from the academic year 2024-2025

Informatics (O000096)

Course size
Credits 10.0

(nominal values; actual values may depend on programme)
Study time 300 h

Course offerings and teaching methods in academic year 2024-2025
A (Year)EnglishIncheonLecturers in academic year 2024-2025
De Neve, WesleyseminarlectureKR01

Offered in the following programmes in 2024-2025
Bachelor of Science in Environmental Technology
Bachelor of Science in Food Technology
Bachelor of Science in Molecular Biotechnology
Joint Section Bachelor of Science in Environmental Technology, Food Technology andMolecular Biotechnologylecturer-in-charge
crdts
10101010

offering
AA
AA

Teaching languages
EnglishKeywords
Command line, Computational thinking, Creative problem solving, Programming, Python, SQL,
UNIX
Position of the course
Scientists and engineers are regularly confronted with time-consuming and repetitive tasks
when having to process and analyse data, namely collecting information from websites,
converting files from one format to another, and analysing, summarizing, and visualizing theinformation obtained. Moreover, given that data are often arriving at an exponential rate,present-day scientists and engineers are required to be able to automate the aforementioned
tasks, in order to speed up their daily job routines.
This course teaches students how to describe time-consuming and repetitive tasks in such away that they can be performed automatically by a (network-based) computer system. To that
end, students will acquire the necessary skills for computer-based creative problem solving
through learning to think and work in (1) Python, a popular programming language, and (2)UNIX, the workhorse operating system of science and engineering. The computer problems
that need to be solved are taken from different scientific disciplines, including mathematics,
biology, chemistry, physics, and computer science.
To take part in this course, students do not need to have any prior programming experience.
However, to be successful for this course, students need to have an aptitude for mathematics
and logic. In addition, given that this course follows a ‘learning by doing’ and a ‘learning frommistakes’ approach, students need to have a willingness to solve computer problems on aregular basis.
Contents
Programming is the process of designing, writing, testing, debugging, and maintaining thesource code of computer programs. This requires knowledge of the syntax and the semantics
of a programming language, as well as the ability to write programs in that language.
Additionally, and maybe most importantly, when writing computer programs, one must learn
how to think like a programmer. This process of computational thinking (that is, learning how tosolve problems by programming) is a common theme throughout the whole course.
(Approved)1

In this course, students learn how to make use of the Python programming language to solve aplethora of problems. To that end, attention is paid to:• basic components: instructions, variables, data types, and operators;• control structures: conditional statements, repetitive statements, and functions;• data structures: strings, lists, tuples, dictionaries, sets, modules, and files;• text files: reading, processing, and writing data; and• object-oriented programming: objects, classes, attributes, methods, encapsulation,• polymorphism, and inheritance.
Furthermore, in this course, students learn how to make use of UNIX-based tools to automate
repetitive or complex tasks. To that end, attention is paid to:• the principles of UNIX-based operating systems;• consulting technical documentation;• running a remote interactive session (VPN, SSH);• file systems;• interactive command line usage;• text file formats (HTML, XML, CSV, FASTA);• filters, redirection, and pipes;• regular expressions (regex);• interactive text editing (e.g., through vim);• automated text editing using edit commands; and• the basics of shell scripting.
Finally, in this course, students learn how to make use of the Structured Query Language(SQL) to communicate with a relational database.
Initial competences
An aptitude for mathematics and logic.
An interest in solving (scientific) problems.
Some basic computer knowledge is advantageous (prior programming skills are not required).
Final competences
1 Translate a task described in natural language into a program written in Python.
2 Execute a program written in Python by means of a computer, generating a correct result.
3 Test and debug a program written in Python.
4 Make the right choices between different alternatives when writing a program in Python,
1 taking into account performance (efficiency), coding style, and correctness.
5 Demonstrate a working knowledge about the basic principles of object-oriented
1 programming.
6 Automate repetitive and complex tasks by means of UNIX-based tools.
7 Work interactively and non-interactively with operating systems, computer networks, file
1 systems, and text editors.
8 Understand the structure of various text file formats, including HTML, XML, CSV, and1 FASTA.
9 Apply SQL to communicate with a relational database.
10 Independently resolve error messages through critical usage of technical documentation1 and online resources.
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
Seminar, Lecture
Study material(Approved)

2

Type: Handbook
Name: A Practical Guide to Linux: Commands, Editors, and Shell Programming
Indicative price: € 40
Optional: yes
Language : English
Author : Mark G. Sobell
ISBN : 978-0-13477-460-2
Oldest Usable Edition : Fourth Edition
Type: Handbook
Name: The Practice of Computing using Python
Indicative price: € 90
Optional: yes
Language : English
Author : William F. Punch and Richard Enbody
ISBN : 978-0-13437-976-0
Oldest Usable Edition : Third Edition
Type: Slides
Name: Informatics
Indicative price: Free or paid by faculty
Optional: noLanguage : English
Number of Slides : 1356
Available on Ufora : Yes
Available through Student Association : No
Type: Software
Name: Dodona, Online Python Tutor, PyCharm, Linux shell
Indicative price: Free or paid by faculty
Optional: noOnline Available : Yes
References
Mark Lutz (2009). Learning Python: Powerful Object-Oriented Programming. Fourth Edition.
O'Reilly Media, ISBN-13: 978-0596158064.
Mark Pilgrim (2009). Dive into Python. CreateSpace, ISBN-13: 978-1441413024. Free
download @ http://diveintopython.org.
Hans Peter Langtangen (2009). A Primer on Scientific Programming with Python. Springer,
ISBN-13: 978-3642024740.
Tony Gaddis (2009). Starting Out with Python. Pearson Education - Addison Wesley, ISBN-13:978-0321549419.
Michael H. Goldwasser (2007). Object-Oriented Programming in Python. Prentice Hall, ISBN13: 978-0136150312.
Jason Kinser (2008). Python for Bioinformatics. Jones & Bartlett Publishers, ISBN-13: 9780763751869.
Sebastian Bassi (2009). Python for Bioinformatics. Chapman & Hall, ISBN-13: 9781584889298.
Mark G. Sobell (2012). A Practical Guide to Linux: Commands, Editors, and Shell
Programming. Fourth Edition. Prentice Hall, ISBN-13: 978-0134774602.
William F. Punch, Richard Enbody (2017). The Practice of Computing using Python. Third
Edition. Addison Wesley, ISBN-13: ISBN-13: 978-0133085044.
Steven Haddock and Casey Dunn (2010). Practical Computing for Biologists. First Edition.
Sinauer Associates, Inc, ISBN-13: 978-0878933914.
(Approved)3

Ashley Shade, Tracy K. Teal (2015). Computing Workflows for Biologists: A Roadmap. PLOS
Biology.
Pavel A. Pevzner (2004). Educating Biologists in the 21st Century: Bioinformatics Scientists
versus Bioinformatics Technicians. Bioinformatics, Vol. 20, No. 14, pages 2159–2161.
Alejandra J. Magana, Manaz Taleyarkhan, Daniela Rivera Alvarado, Michael Kane, John
Springer, and Kari Clase (2014). A Survey of Scholarly Literature Describing the Field ofBioinformatics Education and Bioinformatics Educational Research. CBE—Life Sciences
Education, Vol. 13, pages 607–623.
Course content-related study coaching
The syntax and the semantics of the programming language Python, the databasemanagement language SQL, and selected UNIX tools are presented in the course slides and in
the course handbooks, and need to be acquired largely through (guided) self-study.
Solutions for selected computer exercises are discussed during the theory lectures so thatstudents learn how computational skills can be applied in practice.
During the weekly supervised hands-on sessions, students themselves learn how to tackle
computational challenges by working on a series of mandatory computer exercises that need tobe solved independently. These computer exercises aim at bringing the theory into practice.
Dodona, a digital learning environment, gives students instant feedback on their solutions
submitted for the Python programming challenges, containing additional exercises for further
practicing.
After each deadline, example solutions for all exercises are made available on Ufora.
Information about the calculation of the different evaluation marks is communicated during thetheory lectures at the beginning and near the end of the first-term and the second-term
teaching activities.
Example examinations of previous years are made available on Ufora near the end of the firstterm and the second-term teaching activities.
Announcements on Ufora are used for counselling, giving feedback, and providing backgroundinformation.
Through individual appointments scheduled via email, the lecturer and the teaching assistants
are available for answering questions about the course in general (grading, examination), thetheory, and the exercises.
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
Possibilities of retake in case of permanent assessment
examination during the second examination period is not possible
Calculation of the examination markFor the first-term examination period, the mark of the periodic evaluation (end-of-termassessment) accounts for 80% of the partial examination mark for Term 1 and the mark of the
non-periodic evaluation (hands-on sessions; continuous assessment) accounts for 20% of thepartial examination mark for Term 1. To qualify for passing, both the mark of the periodic andthe non-periodic evaluation should be at least equal to 8/20 (40%). If that is not the case, thenthe partial examination mark for Term 1, as obtained during the first-term examination period, isthe least of the two obtained marks. No second partial examination opportunity is administered(Approved)4during the first-term resit examination period.
If the partial examination mark for Term 1, as obtained during the first-term examination period,
is higher than or equal to 10/20, then one partial examination is used during the second-term
examination period, only covering the course content of Term 2, with this partial examinationconsisting of both a periodic and non-periodic evaluation.
If the partial examination mark for Term 1, as obtained during the first-term examination period,
is lower than 10/20, then two partial examinations are used during the second-term
examination period: a first partial examination covering the content of Term 1, only consisting ofa periodic evaluation, and a second partial examination covering the content of Term 2,
consisting of both a periodic and non-periodic evaluation.
Students who obtained a partial examination mark for Term 1 higher than or equal to 10/20
during the first-term examination period, may decide to retake the partial examination covering
the content of Term 1 during the second-term examination period, with this partial examination
only consisting of a periodic evaluation. When doing so, the mark obtained for the latter
periodic evaluation is used for calculating the partial examination mark for Term 1 (that is, themark obtained for the periodic evaluation that took place during the first-term examination
period is discarded).
For the second-term examination period, the mark of the periodic evaluation accounts for
80% of the partial examination mark for Term 2 and the mark of the non-periodic evaluationaccounts for 20% of the partial examination mark for Term 2. To qualify for passing, both themark of the periodic and the non-periodic evaluation should be at least equal to 8/20 (40%). If
that is not the case, then the partial examination mark for Term 2, as obtained during thesecond-term examination period, is the least of the two obtained marks.
During Term 2, the non-periodic evaluation for Term 1 cannot be retaken. Therefore, the partial
examination mark for Term 1 during the second-term examination period is calculated twice.
For the first calculation, the mark of the non-periodic evaluation, as obtained during Term 1,
accounts for 20% of the partial examination mark and the mark of the periodic evaluation, asobtained for the Term 1 content during the second-term examination period, accounts for theremaining 80% of the partial examination mark. For the second calculation, the partial
examination mark is equal to the mark of the periodic evaluation, as obtained for the Term 1content during the second-term examination period (that is, the mark of the non-periodicevaluation, as obtained during Term 1, is not taken into account). The partial examination markfor Term 1 during the second-term examination period is then equal to the maximum of theabove two calculations. Note that the mark of the periodic evaluation, as obtained for the Term
1 content during the second-term examination period, should be at least equal to 8/20 (40%). If
that is not the case, then the partial examination mark for Term 1, as obtained during thesecond-term examination period, is the least of the two obtained marks.
The final examination mark is the average of the partial examination mark for Term 1 and thepartial examination mark for Term 2. To qualify for passing (that is, to have a final examination
mark that is higher than or equal to 10/20), both partial examination marks should be higher
than or equal to 8/20 (40%). If that is not the case, then the final examination mark, as obtained
during the second-term examination period, is the least of the two obtained marks.
During the second-term resit examination period, a third partial examination opportunity isorganized that covers the Term 1 content, as well as a second partial examination opportunitythat covers the Term 2 content, with both partial examination opportunities only consisting of aperiodic evaluation. Given that the non-periodic evaluation for Term 1 and the non-periodicevaluation for Term 2 cannot be retaken during the second-term resit examination period, boththe partial examination mark for Term 1 and the partial examination mark for Term 2 are
calculated twice, following the approach and the conditions used for calculating the partial
examination mark for Term 1 during the second-term examination period. Furthermore,
following the conditions in place for the second-term examination period, the final examination
mark is again the average of the partial examination mark for Term 1 and the partial
examination mark for Term 2, with both partial examination marks again having to be higher
than or equal to 8/20 (40%) in order to qualify for passing.
Marks for partial examinations can never be transferred to the second-term resit examination(Approved)

5period.
Students who eschew period aligned and/or non-period aligned evaluations for this course unit
may be failed by the examiner.

(Approved)

6