Salta al contenuto principale della pagina

FUNDAMENTALS OF COMPUTER SCIENCE

CODE 66052
ACADEMIC YEAR 2021/2022
CREDITS
  • 9 cfu during the 1st year of 8713 INGEGNERIA BIOMEDICA (L-8) - GENOVA
  • SCIENTIFIC DISCIPLINARY SECTOR INF/01
    LANGUAGE Italian
    TEACHING LOCATION
  • GENOVA
  • SEMESTER Annual
    PREREQUISITES
    Prerequisites (for future units)
    This unit is a prerequisite for:
    • Biomedical Engineering 8713 (coorte 2021/2022)
    • ALGORITHMS AND OBJECT ORIENTED PROGRAMMING 84377
    TEACHING MATERIALS AULAWEB

    OVERVIEW

    The purpose of the course is to provide the tools to imperative programming through the introduction of high-level languages.

    AIMS AND CONTENT

    LEARNING OUTCOMES

    This course aims to provide the basis knowledge of computer programming. We will teach how to analyze simple problems, how to solve them with procedural algorithms, with an object oriented programming language. We will teach the basis to solve simple data analysis and numerical calculation problems.

    AIMS AND LEARNING OUTCOMES

    In particular, the following topics will be covered:

    1.  Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs.
    2.  Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions;  basic and structured types;; simple algorithms and their implementation; structured and modular programming.
    3. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing.

    In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis.

    The programming parts will use a subset of the C ++ language as an example of high-level language.

    At the end of the course students will be able to solve simple programming problems, even with the use of external libraries, and above all they will be able to understand and modify C ++ programs that take advantage of the object-oriented programming paradigm.

     

    TEACHING METHODS

    The course will have 2 hours per week of theory lectures and 3 hours of practical lessons and exercises.

     

    SYLLABUS/CONTENT

    1. Basics about computers: data representation and arithmetic processors; Computer architecture hints and operating systems for the execution basic understanding of programs.
    2.  Introduction to Programming: the high-level programming languages; state and change of state; statements and basic instructions;  basic and structured types;; simple algorithms and their implementation; structured and modular programming.
    3. Programming: design of sequential size programs starting from the informal specification of the problem; compilation; code execution; basic ideas of testing.


    In the first part of the course (first two weeks) we will introduce MATLAB, an environment for the numerical calculation and statistical analysis.

    The programming parts will use a subset of the C ++ language as an example of high-level language.

    RECOMMENDED READING/BIBLIOGRAPHY

    Programming Principles and Practice using C++, Addison-Wesley Professional, 2008
    C++. Fondamenti di programmazione -- H. M. Deitel, P. J. Deitel; Editore: Apogeo 2009

    TEACHERS AND EXAM BOARD

    Exam Board

    MANUELA CHESSA (President)

    FABIO SOLARI

    ENRICO PUPPO (President Substitute)

    LESSONS

    Class schedule

    All class schedules are posted on the EasyAcademy portal.

    EXAMS

    EXAM DESCRIPTION

    The exam consists of two tests:
    - a written exam composed of a quiz on Aulaweb (max grade 31)
    - a practical exam which consists of a C++ program (max grade 31). The student can access the second part of the exam if they pass the first part with a grade >=16.

    The exam is passed if both parts have a minimum grade of 16. The final grade will be the mean of the two grades. Sufficient exams are >=18. The laude will be given a grade >=31.

    There is a bonus of max 2 points for the whom which completed a number of intermediate test on time.

    COVID-19 emergency: the exam rules may be varied if online exams will be mandatory. In this case, students will be informed about the changes.

    ASSESSMENT METHODS

    The written exam has the aim of evaluating teh main concepts presented during the course.
    The practical exam has the aim of evaluating the capability of writing a working program in C++.
    The exam will be evaluated by considering:
    - if the code produce the correct results
    - style of the code
    - efficiency

    Exam schedule

    Date Time Location Type Notes
    12/01/2022 09:30 GENOVA Laboratorio
    07/02/2022 09:30 GENOVA Laboratorio
    10/06/2022 09:30 GENOVA Laboratorio
    11/07/2022 09:30 GENOVA Laboratorio
    13/09/2022 09:30 GENOVA Laboratorio