07276 - Computer Science

Course Unit Page

Academic Year 2018/2019

Learning outcomes

At the end of the course the student will know the structure of a computer and the basic elements of programming and relational database querying. In particular, the student will have the ability to: - develop simple programs and queries, with special emphasis on examples of statistical processing; - use the R and SQL languages.

Course contents

  • Coding of information
    • Binary codings
    • Binary numbers
    • Character codes
  • operating systems
    • Single-user
    • Multi-user
    • Client/server
  • Multimedia
  • Computer architectures
    • Von Neumann architecture
    • Fetch cycle
  • Networks
    • Local networks
    • Geographic networks
    • Network interconnection
  • Internet
    • Communication protocols
    • Domain Name System
    • Electronic mail
    • Http and Html
  • The R language
    • Vectors
    • Lists
    • Matrices
    • Data frames
    • Reading and writing files
    • Conditional and looping instructions
    • Function definition
    • Graphics and packages
  • The relational model of data
    • Attributes
    • Relation and database schema
    • Tuple, relation and database
    • Relational algebra
  • Integrity constraints
    • Keys and superkeys
    • Referential integrity
  • The SQL language
    • Database creation, querying and updating
    • Transaction and authentication management
  • R and SQL


Muggeo, V. (2005). Il linguaggio R : concetti introduttivi ed esempi. Disponibile come E-book (Cercare nel Catalogo del Polo Bolognese SEBINA YOU)

Teaching methods

The course is composed of

  • frontal lessons in a lecture room, employing three fourths of the total number of course hours,
  • lessons in a laboratory, employing one fourth of the total number of course hours, each comprising both frontal expositions and exercises on programming techniques and the solution of query and data analysis problems, presented in the expositions.

Assessment methods

The examination is composed of two parts:

  • Preliminary examination on programming in R and the design of SQL queries in laboratory.
    • The student is given: A hard copy text containing the description of the functionality of a program or queries expressed in natural language concerning a given data base schema
    • The student must produce: A R program providing the requested functionality and queries written in the SQL language that retrieve the data required by the the queries expressed in natural language which were received in the hard copy text.
    • The student may: produce the solution on paper or as a digital document; use R programming tools and one or more database management systems among the ones which were employed during the course lessons to test the solution.
  • Oral examination.
    • The student must answer three questions which may concern any part of the contents of the course. In particular, the student must show: Mastery of the theoretical notions of the discipline, of the R and SQL languages and the relevant programming techniques.
  • Computation of the final mark and constraints among the examinations.
    • The marks of the two examinations are contained in the interval from zero to thirty, including the extremes. The mark achieved in the preliminary examination is valid until the end of the session in which the preliminary examination has been taken.The assessment of the overall outcome of the examination and the computation of the final mark take place at the end of the oral examination. The final mark is computed as a weighted average of the marks achieved in the two examinations, using the most recent valid mark for the preliminary examination, or zero if no valid mark exists. For the computation of the final mark, the following weights are used:
      • Preliminary examination in laboratory: 12/30
      • Oral examination: 18/30

Teaching tools

  • Presentation of the course topics using a overhead projector
  • WiFi access using own PC to a virtual lab with R and MySQL during lessons; alternatively laptop PCs can be requested to access the virtual lab before each lesson
  • Laboratory with desktop PCs equipped with R, MySQL; teacher's PC connected to an overhead projector to guide laboratory exercises
  • Documents used in the presentations, distributed at the site http://iol.unibo.it. Access to the documents is allowed only to students of the course who subscribed to the course mailing list. Credentials to subscribe to the list are given in the first lesson of the course.

Office hours

See the website of Stefano Lodi