Originariamente inviato da GliderKite
Premettendo che la tua richiesta sembra decisamente troppo vaga, ti butto giù un paio di idee (mi sono venute in mente giusto perchè non è passato molto tempo da quando ci ho messo mano).
Tieni presente però che per fare quello che sto per indicarti ti servirebbe un minimo di base teorica, anche perchè senza queste faresti comunque poca strada. Non basta limitarsi alla conoscenza di un linguaggio in se per poterne sfruttare a pieno la potenza.
1) Sviluppare un applicazione che basandosi su un algoritmo di tipo greedy utilizzi l'algoritmo di Huffman per comprimere file utilizzando in parallelo un algoritmo che crittografi l'informazione possibilmente tramite l'aggiunta di rumore per mezzo di funzioni pseudocasuali riproducibili (una sorta di funzione di hash modulare, adattata solo teoricamente, al caso in questione).
2) Visto che non è STL, implementare un container che raggruppi (nel modo più standard, sicuro, ed efficiente possibile) la possibilità di utilizzo di strutture dati (ADT di prima categoria) quali: BST, 2-3-4 top-down (magari tramite RedBlak) e BTree. Lo sviluppo di un contenitore del genere sarebbe, a mio parere, molto interessante, visto che io in giro di queste cose non ne ho trovate.