logo Insalogo Insa

Databases, C and Network programming

Objectives

The teaching unit consists of two distinct parts: Databases and C & network
programming.
Database:
At the end of this module, the student will have to describe and explain the following
concepts:
· creation and use of databases;
· the data model: Entity-relationship or UML class diagram;
· the relational model;
· relational normalisation: functional, multivalued or join dependencies, normal
forms 1 to 5, relational design methods;
· query languages: relational algebra, tuples and domain calculus, SQL.
Students will create a map of studied concepts: modelling, validation,
implementation and querying.
Students will be able to use these concepts for conceiving and implementing an
effective database:
· to conceive the entity-relationship model;
· to derive the relational model from the E/A model and vice-versa, perform reverse
engineering;
· to validate the obtained model;
· to implement the database with the provided DBMS and the necessary
verification of constraints on data;
· to write the database queries with the different languages and verify their
correctness with the expected results;
· to evaluate the global results against the initial requirements and suggest
improvements.
C and network programming
At the end of this module, the student will be able to:
· manipulate the following notions using the C language: pointers, strings and
parameter passing,
· program a simple distributed internet application using the socket interface
(TCP/UDP socket API),
· be familiar with the major internet applications (http, ftp, smtp, etc.).

Needed prerequisite


C and network programming :
·         First and second year courses on Algorithms & Programming
·         Third year course on C language.
·         Third year course on computer networks.

Form of assessment

The evaluation of outcome prior learning is made as a continuous training during the semester. According ot the teaching, the assessment will be different: as a written exam, an oral exam, a record, a written report, peers review...