Il seguente articolo si prefigge l'obiettivo di fornite una guida alle matricole, e non, per la scelta del portatile più adatto al corso di laurea triennale (e magistrale) in Ingegneria Informatica presso l'Università di Pisa.
Per dare un'idea generale di quali siano i requisiti, si analizzerà il curriculum del corso di laurea triennale, evidenziando i corsi più rilevanti e le loro esigenze computazionali. <u>L'articolo cerca di segnalare i requisiti minimi sia per chi vuole un computer per studiare, sia per chi vuole un computer più complesso</u>.
**<u>Per qualunque dubbio</u>**. Se avete dubbi su un modello specifico, potete contattarmi su WhatsApp, mi chiamo "~Andrea Covelli (AndJ)", mi potete trovare nella community WhatsApp del corso di laurea. Sarò lieto di potervi aiutare nella scelta 🤗.
## 1. Panoramica della triennale in Ingegneria Informatica
### Primo Anno
* **Corsi Chiave**: Fondamenti di Programmazione (9 CFU), Algoritmi e Strutture Dati (6 CFU), Basi di Dati (9 CFU)
Requisiti Computazionali:
* **Fondamenti di Programmazione**: JetBrains CLion
* **Algoritmi e Strutture Dati**: Visual Studio Code e macchina virtuale Linux (Debian)
* **Basi di Dati**: MySQL Workbench.
### Secondo Anno
* **Corsi Chiave**: Reti Logiche (9 CFU), Calcolatori Elettronici (9 CFU), Calcolo Numerico (6 CFU), Progettazione Web (6 CFU).
Requisiti Computazionali:
* **Reti Logiche**: Visual Studio Code
* **Calcolo Numerico**: MATLAB, che beneficia di una CPU con buone prestazioni per accelerare i calcoli matriciali.
* **Progettazione Web**: richiede l'esecuzione in locale di server di database (MySQL) e web server (Apache).
* **Calcolatori elettronici**: uso di software di virtualizzazione (QEMU) per creare, eseguire e analizzare il comportamento di un kernel didattico.
### Terzo Anno
* **Corsi Chiave**: Sistemi Operativi (9 CFU), Reti Informatiche (9 CFU), Ingegneria del Software (6 CFU).
Requisiti Computazionali:
* **Sistemi Operativi**: Visual Studio Code e software di virtualizzazione come VMware Workstation o Oracle VirtualBox per creare, eseguire e analizzare il comportamento delle SYScall linux.
* **Ingegneria del Software**: Questo corso introduce strumenti per la gestione di progetti software complessi, inclusi software di modellazione UML e Local per lo sviluppo e deployment di un sito web.
* **Elettronica Digitale**: Richiede LTSpice, non fondamentale per passare il corso ma utile, supportato sia da Windows che MacOS silicon.
## 2. Requisiti Hardware
### CPU
* **Raccomandazione Minima**: Un processore Intel Core i5 / Core ultra 5, o AMD Ryzen 5 di generazione recente (serie 7000/8000/9000 AMD) è il punto di partenza solido per affrontare l'intero percorso di studi.
<u>Nota importante:</u> per i processori AMD, si rimanda a questo articolo [AMD: how to decipher nomenclature](https://www.xda-developers.com/amd-processors-explained/), dato che la prima cifra da sola non garantisce di avere un processore rilasciato di recente.
* **Raccomandazione Ideale**: Un Intel Core i7 / Core Ultra 7 o AMD Ryzen 7 offre un margine di prestazioni superiore che garantisce una maggiore longevità all'investimento ("future-proofing"), gestendo con agilità anche i carichi di lavoro più pesanti sia alla triennale che oltre.
Se volete approfondire trovate a questo [link](https://www.intel.com/content/www/us/en/ark.html#@Processors) la lista ufficiale dei processori Intel, e a quest'altro [link](https://www.amd.com/en/products/processors/laptop/ryzen.html#:~:text=Better%C2%A0%C2%A0%20Best-,Processor%20Specifications,-View%20All%20Processor) quella dei processori AMD.
<u>Nota bene:</u> le versioni di Intel Core 13th e 14th Gen hanno avuto dei problemi di produzione, **si sconsiglia** il loro acquisto.
<u>Nomenclatura dei prodotti.</u> Sia Intel che AMD hanno apportato varie modifiche alla nomenclatura dei loro processori, al tal punto che anche gli addetti ai lavori si confondono nelle stesse. Per orientarsi usare questo [link](https://www.intel.com/content/www/us/en/processors/processor-numbers.html) per Intel e questo [link](https://www.amd.com/en/products/specifications/processors.html) per AMD.
### RAM
* **Raccomandazione Minima**: 8GB di RAM sono sufficienti se si utilizza Linux mentre nel caso di Windows, versione 11, 8GB di RAM sono proprio il minimo.
* **Raccomandazione Sufficiente:** 16 GB di RAM, che per Linux risultano più che sufficienti, per Windows a oggi rappresentano lo standard. Infatti è la capacità di RAM che ho nel mio attuale laptop. Questo quantitativo consente di eseguire senza problemi ambienti di sviluppo integrati (IDE), macchine virtuali, browser con molteplici schede aperte e strumenti di containerizzazione come Docker.
* **Raccomandazione Overkill**: 32 GB di RAM rappresentano un investimento lungimirante, specialmente per studenti che prevedono di lavorare con macchine virtuali multiple, progetti di intelligenza artificiale o simulazioni complesse.
### Archiviazione (SSD)
* **Raccomandazione Minima**: Un SSD NVMe da 256 GB è il minimo indispensabile per garantire spazio sufficiente per il sistema operativo, gli strumenti di sviluppo e i progetti. Il sistema operativo funziona correttamente, ma potresti avere problemi se desideri scaricare programmi di dimensione significativa, tenere in locale i file di OneDrive e/o backup di dimensione significativa (Esempio: backup dell'iPhone caricato con iTunes).
* **Raccomandazione Media**: Un SSD NVMe da 512 GB è uno spazio sufficiente per affrontare il corso di laurea triennale e successivi.
* **Raccomandazione Overkill**: Un SSD NVMe da 1 TB o più offre ampio spazio per archiviare dataset, macchine virtuali e progetti senza preoccuparsi costantemente dello spazio disponibile.
Si rimanda alla seguente spreadsheet per un'analisi dettagliata delle prestazioni degli SSD NVMe sul mercato: [SSD Performance Spreadsheet](https://docs.google.com/spreadsheets/d/1B27_j9NDPU3cNlj2HKcrfpJKHkOf-Oi1DbuuQva2gT4/edit#gid=0)
### GPU (Graphics Processing Unit): Necessaria o Superflua?
Nota fondamentale: non è obbligatorio avere una scheda dedicata per la magistrale AIDE (Artificial Intelligence and Data Engineering). I docenti tengono conto della diversità dei computer degli studenti e forniscono risorse se necessario.
* **Raccomandazione Minima**: Per la maggior parte degli studenti, una GPU integrata moderna (es. Intel Iris Xe, AMD Radeon integrata, Apple GPU nei Mac con chip M) è sufficiente per le attività quotidiane di sviluppo software.
* **Raccomandazione Ideale**: Una GPU dedicata entry-level (es. NVIDIA GeForce RTX 3050/4050) può essere vantaggiosa per studenti interessati a campi come l'intelligenza artificiale, il machine learning o lo sviluppo di giochi, dove l'accelerazione hardware può ridurre significativamente i tempi di addestramento dei modelli e migliorare le prestazioni grafiche.
### Display, Portabilità e Batteria: L'Esperienza d'Uso Quotidiana
* **Display**: Un display di almeno 13 pollici con risoluzione Full HD (1920x1080) è raccomandato per garantire un'area di lavoro confortevole. Per chi lavora con grafica o video, un display con una riproduzione cromatica accurata e un angolo di visione ampio è preferibile.
* **Portabilità**: Un peso inferiore a 1.5 kg e uno spessore ridotto migliorano la portabilità, essenziale per gli studenti che si spostano frequentemente tra lezioni, biblioteche e laboratori.
* **Batteria**: Una durata della batteria di almeno 8 ore è consigliata per coprire una giornata di lezioni senza dover cercare costantemente una presa di corrente. La capacità della batteria (in Wh) non sempre è un indicatore affidabile della durata della stessa. Si rimanda ai seguenti link contenenti la classifica dei portatili per durata della batteria: [Best Battery Life Laptops](https://laptopmedia.com/laptops-with-the-best-battery-life/), [RTINGS - Battery life ranking](https://www.rtings.com/laptop/reviews/best/battery-life)
## 3. La Scelta del Sistema Operativo
Si consiglia di scegliere come sistema operativo principale Windows 11, su cui poi installare gratuitamente la WSL2 (Windows Subsystem for Linux), o Linux (Ubuntu/Fedora). Entrambi offrono un ambiente di sviluppo robusto e flessibile, con accesso a una vasta gamma di strumenti open-source e software professionali.
<u>Nota:</u> se scegliete Ubuntu, mi raccomando di consultare il seguente [link](https://ubuntu.com/certified/laptops) a cui potete trovare la lista dei portatili il cui supporto hardware è certificato da Ubuntu.
Mac OS è un'alternativa valida, seppur più costosa, che permette di seguire bene il corso di studi, pur con la consapevolezza che potrebbero esserci alcuni problemi di compatibilità: alcuni docenti utilizzano Mac OS e sono disponibili nell'aiutare, ma rimane che è necessario un minimo di capacità di autogestirsi. Si tenga presente che gli studenti universitari di UniPI hanno diritto a Windows 10/11 Enterprise (pertanto potete scaricare la iso e installare il Sistema Operativo in una macchina virtuale).
## 4. I Modelli Consigliati
Per scegliere il portatile più adatto, si consiglia di consultare le seguenti risorse per recensioni e confronti aggiornati:
* [https://www.rtings.com/laptop/reviews/best/battery-life](https://www.rtings.com/laptop/reviews/best/battery-life)
* [https://laptopmedia.com/laptops-with-the-best-battery-life/](https://laptopmedia.com/laptops-with-the-best-battery-life/)
* [https://www.notebookcheck.net/Ranking-Best-affordable-office-laptops-under-1-000-dollars-euros.98853.0.html](https://www.notebookcheck.net/Ranking-Best-affordable-office-laptops-under-1-000-dollars-euros.98853.0.html)
* [https://www.notebookcheck.net/Ranking-Best-business-laptops-reviewed-by-Notebookcheck.98925.0.html](https://www.notebookcheck.net/Ranking-Best-business-laptops-reviewed-by-Notebookcheck.98925.0.html)
* [https://www.notebookcheck.net/Ranking-Best-workstation-laptops-tested-by-Notebookcheck.65537.0.html](https://www.notebookcheck.net/Ranking-Best-workstation-laptops-tested-by-Notebookcheck.65537.0.html)
Nota: ho deciso di non includere una lista specifica di modelli, poiché il mercato dei laptop è in continua evoluzione, con nuovi modelli che vengono rilasciati regolarmente. Inoltre, le preferenze personali e le esigenze specifiche possono variare notevolmente tra gli studenti.
**Nota importante:** se scegliete Windows o Linux come sistema operativo, evitate i portatili con processore Qualcomm Snapdragon (architettura ARM-64), in quanto molti software di sviluppo non sono ancora compatibili con questa architettura. Per esempio i recenti portatili Microsoft. Questo problema non si presenta per i Mac della serie M (silicon, arm-64) perché Apple ha costretto i produttori software a passare all'architettura ARM-64.
## Extra
* **Il tablet come compagno di studio**.<br>All'inizio del primo anno della triennale in Ingegneria Informatica, molti studenti si trovano a dover prendere appunti su carta, reduci dalle scuole superiori. L'uso di un tablet con una penna digitale può migliorare significativamente l'efficienza e l'organizzazione degli appunti per certe tipologie di esami. Andando avanti negli anni vedrete forti differenze tra le persone: chi prende appunti con la carta, chi scrive al computer, chi scrive (con tastiera o con pennino) su tablet. La cosa dipende molto da voi!
* **Sconti per studenti**.<br>Molti produttori offrono sconti significativi per gli studenti universitari. È consigliabile verificare i portali di aziende come Acer, Microsoft, Lenovo e Apple, nonché piattaforme come StudentBeans o University Box, che aggregano offerte dedicate.