FUNDAMENTALS OF COMPUTER ENGINEERING A
cod. 18582

Academic year 2008/09
1° year of course - First semester
Professor
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
Matematica, informatica e statistica
Type of training activity
Basic
63 hours
of face-to-face activities
7 credits
hub:
course unit
in - - -

Learning objectives

Introduction to informatics and to the basic tools necessary to using and programming a computer. Particular attention is given to algorithms, computer languages, and programming methodologies. The language used in this course is C++.

Prerequisites

<div id="BodyData">The equivalent of modules 1, 2, 3, and 7 of ECDL (European Computer Driving Licence) Syllabu</div>

Course unit content

<div id="BodyData">Part A (in classroom)<br />
• Number systems. Positional notation. Base conversion. Binary arithmetic.<br />
• Internal representation of data. Two’s complement notation. ASCII. C-string representation.<br />
• File system. Operating systems.<br />
• Problem. Data. Results. Algorithm, computational method.<br />
• Searching and sorting.<br />
• Dynamic data structures: linked lists, stacks, queues, binary trees.<br />
• Top-down programming. Structured programming. Modular programming.<br />
<br />
Part B (in classroom and in laboratory)<br />
• The C++ language: Program structure. Elementary data types. Constants, variables, operators, expressions. Assignment. Control structures. Arrays. Strings. Functions. Function prototypes. Parameters. Scope rules. Activation records and the stack. Function overloading. Recursion. enum, struct. Input/output. File processing. Editing and debugging a program. Multi-file projects. Pointers. Dynamic memory allocation. Linked lists and binary trees handling. Libraries.<br />
</div>

Full programme

- - -

Bibliography

<ul>
<li>M. Bertozzi, E. Calabrese: <em>Lezioni di Fondamenti di Informatica A</em>.  Santa Croce (2004)</li>
<li> E. Calabrese: <em><a href=""http://www.pitagoragroup.it/pited/INFORMATICA.html#calabrese"" target=""_TOP""> Temi d'esame di Fondamenti di Informatica con esempi di soluzione in C++</a></em>.  Pitagora Editrice Bologna (Nuova edizione 2005)</li>
<li>A C++ reference manual, as examples one of the following (the number of *s is proportional to text evaluation)
<ul>
<li> S. Prata: <em>C++ Primer Plus</em>. QUE (2001) (****)</li>
<li> J. Hubbard: <em>Programmare in C++ 2a ed.</em>. McGraw Hill (2001) (***)</li>
<li> H. M. Deitel, P. J. Deitel: <em>C++ - Fondamenti di programmazione</em>. Apogeo (2001) (*** not for beginners)</li>
<!-- <li> <a href="http://WWW.CE.UniPR.IT/people/educal/fi/yaroshenko.jpg"><img SRC="yaroshenko.gif" alt="Ingrandisci" HSPACE=4 VSPACE=4 height=80 width=60 align=ABSBOTTOM></a>O. Yaroshenko: <i>The Beginner's Guide to C++</i>  Wrox Press Ltd (1994) (*** per principianti)</li> -->
<li> H. Schildt: <em>Guida al C++ 2a ed.  </em>McGraw Hill (2000) (***)</li>
<li> S. Oualline: <em>C++ Corso di programmazione</em>. O'Reilly - Jackson libri (1998) (***)</li>
</ul>
</li>
  </ul>

Teaching methods

Both classrom lessons and laboratory activities will be performed.<br />
<br />
The final exam is divided in two different parts: a quiz based test and a programming (C++) test.<br />
<br />

Assessment methods and criteria

- - -

Other information

- - -