- Docente: Aldopaolo Palareti
- Credits: 10
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Rimini
- Corso: First cycle degree programme (L) in FINANCE, INSURANCE AND BUSINESS (cod. 8053)
Course contents
(An asterisk [*] indicates optional parts)
Introduction to computer science
Philosophical background
- Language, Logic, the choice of principles (Rhetoric), the study
of interaction (Dialectic)
Pre-linguistical background
- model of communication
- transmitter, receiver, medium
- noise
- encoding-production-perception-decoding
- codes
Linguistical background
- Switching from codes to languages
- Oral language: interactive and multichannel
- Written language: texts
- Hypertext systems and multimedia
Logical and Mathematical background
- Propositional calculus (two-valued)
- Main logic operators
- Logical properties: Double negative elimination, Tertium non
datur, De Morgan
- Numbers
- Numbering systems
- Positional systems
- [*] Decimal system: tables of operations
- Binary system: tables of operations, Two's complement
- [*] Hexadecimal system
History of computer science
- '900: The increasing complexity of the systems
- The birth of computer science
- The reasons the development of IT
- The Von Neumann machine: fetch-and-execute cycle
- Numbers in Computer science: binary encoding
- Texts in Computer science: character encoding schemes, Ascii,
Iso, Unicode
- [*] Serialization
- [*] Centralized system
- PC
- Classes of computers
- [*] The client-server architecture model
- Network
- Internet
- The Web
- The future: The invisible computer
Hardware and operating system
- Components outside Von Neumann machine: input, output,
storage
- [*] Dos
- [*] Virtual memory
- User interface: GUI
- Monotask monuser
- [*] Multitask (multithreaded)
- Multiuser
- Multiprocessor (multicore)
- [*] Vector processing
- Security and data protection
- Security: backup, mirroring, cluster, raid
- Protection: authentication and authorization
- Authentication: biometric systems, rfid, smartcards
- Data Protection with symmetric keys
- Data Protection with asymmetric keys: public key and private
key
- Digital signature
- Certificates
Networks
- Services for end-users: electronic mail, web, file servers, print
servers, ...
- Topology of a network: hubs and switches
- Local area networks: homogeneous as architecture, technology,
access mode
- Wide area networks
- [*] Connections: wired, optical, wireless (electromagnetic)
- Connect to networks: provider, modems, broadband, wi-fi, wimax,
3G
- Networks interconnection: router
- The stack of Internet protocols
- Physical layer: MAC Address, hubs and switches; Packet
- Network layer: IP addresses, Dns
- Communication layer: TCP
- Application layer
- E-mail protocols: SMTP, POP, IMAP, e-mail addresses
- [*] Email attachments and MIME type
- [*] Terms related to e-mail: netiquette, spam, mailing
lists
- Web protocols: http, https; websites
- [*] Terms related to websites: rss
- Resource locators: Url, Schema, http:, mailto:, ftp:
- [*] Other protocols: ftp, news
- [*] Run time protocols: VoIP, IPTv
Multimedia
- Analog vs. digital
- Analog reproduction of sounds
- Digitization of sounds
- Sampling and precision; Monophonic, Stereophonic and
surround
- [*] Sampling of sounds
- Digitization formats: with and without loss of information,
lossly and lossless
- [*] Sound formats: Container and Codec; Wav, Mpeg1 Layer 3
- Digitization of images; resolution
- [*] Bitmap graphic formats: Tiff, Jpeg, Gif, Png
- [*] Vector graphic formats: Vgml
- [*] Sampling of images
- Color spaces: RGB(A), CMYK, HSL, YYrYb
- Digitization of video and sounds
- [*] Sampling of video
- [*] Resolution of video
- [*] Video formats: Mpeg1, Mpeg2, Mpeg4
Documents
- Textual documents
- Hypertexts
- Gml, sgml and xml: markup, tags (with attributes) and
entities
- Examples of xml and html entities
- Presentation, structure, content and activities
- Content: HTML
- Structure of a document: prologue (<doctype>),
<head>, <meta>, <body>, <-- -->
- Tags (block): <div> <p> <h1> ... <h6>
<del> <ins> <sub> <sup>
- Tags (lists): <ul> <ol> <li> <dl>
<dt> <dd>
- Tags (Inline): <span> <em> <img>
<object>
- Anchors <a>
- Tag (tables): <table> <caption> <tr> <td>
<th>
- Tag (forms): <form> <input type="text">
<button>
- Ajax
Programming Languages
- Language families: procedural imperative, procedural functional,
logical descriptive
- [*] Programming language generations: 0 (machine-level), 1
(assembler), 2 (macro assembler), 3 (high-level languages)
- Software lifecycle: analysis of requirements, functional
analysis, design, programming, testing, maintenance
- [*] Software development: editing, compiling, link editing,
execution
- [*] Compiler and interpreter, intermediate code
- Object languages: properties and methods, inheritance
- Scheduling and programming, iteration, recursion
- JavaScript
- Inclusion of JavaScript methods in a web page: tag
<script>
- [*] Html DOM: Math, Navigator, Window
- Examples of methods and properties:
window.document.write("")
- Main instructions: comments, assignments
- Flow control in iterative programming: sequence, choice,
repetition
- Flow control in recursive programming: sequence, choice,
recursion
- Variable declaration
- Datatypes: strings, numbers, boolean, arrays, objects
(date)
- Elementary examples: swap, summation, product, repetition using
while
- Iterative examples: factorial, square root
- Recursive examples: factorial, fibonacci; tree-traversal
- Constants: strings, numbers, Boolean
- Operators: numeric, text, Boolean
- Logical operators: Inner and outer (relational)
- Function declaration: formal parameters and actual parameters,
function call
- Using forms in javascript
- Events handling: <input onclick="">
[*] Presentation
- [*] CSS
- [*] Including CSS rules in a web page: tag <link>
<script>
- [*] Selectors syntax
- [*] Html Attributes: style, class and selectors
- [*] Css property: color background-color font-size font-family
text-align font-style font-variant padding border margin
Description of Case studies
Readings/Bibliography
Students can freely choose from the following books
General topics of Computer Science
- Breuer Hans. Atlante di informatica . VI-218 p., ill.; Hoepli,
1997 (18,08 €).
- White Ron. Il computer. Come è fatto e come funziona . 6 ed., 416
p.; Mondadori Informatica, 2001 (36,15 €).
Networks:
- Gralla Preston. Internet. Come è fatta e come funziona . 6 ed.,
352 p.; Mondadori Informatica, 2001 (30,99 €).
- Tanenbaum Andrew S.. Reti di calcolatori . 4 ed., 1000 p.;
Pearson Education Italia, 2003 (49,9 € – Proper book for
use from professionals).
Teaching methods
Theoretical lessons
Assessment methods
Case study
Laboratory practical examination
Oral examination
Office hours
See the website of Aldopaolo Palareti