Ultima modifica:
Programmiamo con Inforge | Bruteforce
Ad oggi, sul web, si trovano moltissime guide sui vari linguaggi di programmazione e sulle loro molteplici applicazioni. Tuttavia, chi si approccia a queste risorse, non sempre riesce a mettere in pratica ciò che ha appreso. Al fine di limitare queste mancanze, nasce Programmiamo con Inforge.
In questa rubrica potrai scrivere codice per la risoluzione di alcuni problemi legati alla programmazione, mettendo in pratica quanto stai apprendendo dalla teoria oppure mostrando le tue abilità e competenze nel campo dell’informatica.
Nelle precedenti 5 edizioni di questa rubrica vi abbiamo messo alla prova con 5 esercitazioni in ordine di difficoltà:
Per vedere questo contenuto, devi Accedere o Registrarti.
In questo sesto capitolo vi proponiamo un progetto da sviluppare passo per passo insieme allo staff di Inforge. Il progetto sarà diviso in features: volta per volta vi chiederemo di aggiungere una nuova funzionalità così da guidarvi verso lo sviluppo di un progetto potenzialmente complesso. Avrete tre giorni per implementare ogni feature per tempo. Ogni iterazione si svolgerà nel modo seguente:
- giorno 1: pubblichiamo l'obbiettivo da sviluppare per la feature corrente che, entro 48h, potrete risolvere in completa autonomia;
- giorno 3: pubblichiamo un suggerimento per aiutarvi a implementare la feature e, in altre 24h, potete provare a risolvere la feature per tempo.
La difficoltà del progetto si basa sul numero di partecipanti delle 5 esercitazioni proposte in precedenza. Chi non le ha risolte è invitato provarci e a pubblicare la propria soluzione nei threads elencati in precedenza; in questo modo valuteremo se vale la pena proseguire verso progetti ed esercitazioni più complesse.
Le esercitazioni che hanno avuto maggior successo sono state quelle di livello base, ed è da lì che partiremo. Per come strutturato il progetto, esso è alla portata di tutti: richiede presenza più che conoscenza e, di fatto, potresti essere in grado di partecipare anche se non conosci il C. I più bravi riusciranno a risolvere ogni features nel giro di pochi minuti e i meno bravi (con un po' di buona volontà!) hanno il tempo di studiare gli argomenti necessari a risolverla. Piuttosto che rimanere bloccati, siete invitati a chiedere aiuto e a discuterne: non dovete aspettare i suggerimenti (o le soluzioni) prima di fare domande. Man mano che aggiungeremo features, il progetto diventerà via via più complesso e non vogliamo lasciare indietro nessuno.
Ovviamente siete liberi di partecipare anche a progetto già iniziato o concluso ma, per sfruttare al meglio questa esperienza didattica, vi consigliamo di partecipare (attivamente) nel periodo indicato. Vedrete che ogni feature è ragionevolmente breve da poter essere completata per tempo. Anche da principianti, con l'aiuto allo staff, sarete più che incentivati a fare domande senza fermarvi ad aspettare il suggerimento pre-programmato.
Chi non è pratico di C e chi è maggiormente interessato ad altri linguaggi di programmazione è comunque invitato a partecipare allo sviluppo. Sentitevi liberi di porre domande specifiche per il linguaggio di programmazione che state usando e di postare la vostra soluzione. Ciò nonostante, questo progetto è stato pensato per essere sviluppato in C e il livello di difficoltà potrebbe aumentare (se lo sviluppate in Assembly) o diminuire (se lo sviluppate in Python).
Se vi è possibile, utilizzate una distribuzione GNU/Linux. Il codice che andremo a scrivere sarà per lo più multipiattaforma, ma siamo più propensi a fornirvi supporto se utilizzate lo stesso sistema operativo utilizzato dagli organizzatori del progetto. Se utilizzate altro, dovrete essere sufficientemente autonomi ad includere e compilare eventuali librerie esterne.
Partiamo dalle basi del C
In questa guida puoi trovare i testi per studiare e approfondire il C: I migliori libri per imparare e approfondire il C
In questa discussione puoi trovare le risposte alle domande più frequenti su come scrivere codice in C: Frequently asked questions: da dove si parte?
Progetto: Bruteforce
Per vedere questo contenuto, devi Accedere o Registrarti.
Prima di iniziare
Il progetto inizierà il 29 Maggio. Cogliamo l'occasione per iniziare a raccogliere feedback di qualunque tipo. In qualunque momento potete darci consigli organizzativi di qualsiasi genere (e.g., "tre giorni sono pochi", "meglio 24h in autonomia e 48h con suggerimento", "il progetto è troppo facile/difficile")
Ringraziamenti
Un ringraziamento particolare a @St3ve per aver contribuito attivamente alla formulazione di questo progetto Speriamo vivamente che sia di vostro gradimento!