Fatti:
Fatti:
A. P._ l'11 giugno 2002 è stato riconosciuto dalla Presidente della Corte delle Assise correzionali di Lugano colpevole di furto e condannato, visto il suo stato di scemata responsabilità al momento del fatto, a trenta giorni di detenzione sospesi condizionalmente per due anni. Secondo il Giudice, egli aveva, il 25 gennaio 2000, sottratto per indebito profitto alla I._ SA un personal computer del valore di circa fr. 2'000.--.
A. P._ l'11 giugno 2002 è stato riconosciuto dalla Presidente della Corte delle Assise correzionali di Lugano colpevole di furto e condannato, visto il suo stato di scemata responsabilità al momento del fatto, a trenta giorni di detenzione sospesi condizionalmente per due anni. Secondo il Giudice, egli aveva, il 25 gennaio 2000, sottratto per indebito profitto alla I._ SA un personal computer del valore di circa fr. 2'000.--.
B. L'accusato ha adito la Corte di cassazione e di revisione penale del Tribunale d'appello del Cantone Ticino (CCRP) che, con sentenza del 30 luglio 2003, ha respinto, in quanto ammissibile, il ricorso. Essa non ha ravvisato arbitrio nella criticata valutazione delle prove, né ha ritenuto violata la presunzione d'innocenza; ha inoltre considerato la pena inflitta non viziata da un eccesso o un abuso del potere di apprezzamento.
B. L'accusato ha adito la Corte di cassazione e di revisione penale del Tribunale d'appello del Cantone Ticino (CCRP) che, con sentenza del 30 luglio 2003, ha respinto, in quanto ammissibile, il ricorso. Essa non ha ravvisato arbitrio nella criticata valutazione delle prove, né ha ritenuto violata la presunzione d'innocenza; ha inoltre considerato la pena inflitta non viziata da un eccesso o un abuso del potere di apprezzamento.
C. P._ impugna con un ricorso di diritto pubblico del 17 settembre 2003 al Tribunale federale questo giudizio, chiedendo di annullarlo; postula inoltre di essere ammesso al beneficio dell'assistenza giudiziaria e del gratuito patrocinio. Egli lamenta l'arbitrio nell'accertamento dei fatti e nella valutazione delle prove, come pure nell'applicazione del diritto cantonale di procedura; fa inoltre valere una violazione del principio "in dubio pro reo". Delle motivazioni si dirà, in quanto necessario, nei considerandi.
C. P._ impugna con un ricorso di diritto pubblico del 17 settembre 2003 al Tribunale federale questo giudizio, chiedendo di annullarlo; postula inoltre di essere ammesso al beneficio dell'assistenza giudiziaria e del gratuito patrocinio. Egli lamenta l'arbitrio nell'accertamento dei fatti e nella valutazione delle prove, come pure nell'applicazione del diritto cantonale di procedura; fa inoltre valere una violazione del principio "in dubio pro reo". Delle motivazioni si dirà, in quanto necessario, nei considerandi.
D. La CCRP rinuncia a presentare osservazioni. Il Procuratore pubblico del Cantone Ticino si rimette al giudizio del Tribunale federale, mentre la I._ SA non ha risposto.
Con un decreto del 16 ottobre 2003 il Giudice presidente della I Corte di diritto pubblico ha accolto la domanda di effetto sospensivo contenuta nel gravame.

Diritto:
Diritto:
1. Il Tribunale federale esamina d'ufficio e con piena cognizione l'ammissibilità dei ricorsi che gli vengono sottoposti, senza essere vincolato dagli argomenti delle parti o dalle loro conclusioni (<ref-ruling> consid. 1, 128 I 46 consid. 1a e rinvii).
1.1 Il ricorrente lamenta l'arbitraria violazione di norme cantonali di procedura e quella del principio "in dubio pro reo". Critica inoltre l'accertamento dei fatti e la valutazione delle prove, che pure ritiene arbitrari. Queste censure sono proponibili nel ricorso di diritto pubblico, mentre non lo sarebbero nel ricorso per cassazione ai sensi dell'art. 268 e segg. PP, che il ricorrente non ha presentato (cfr. art. 269 cpv. 2 e 273 cpv. 1 lett. b PP; <ref-ruling> consid. 2, 120 Ia 31 consid. 2b pag. 36, 120 IV 113 consid. 1a, 119 IV 17 consid. 1, 118 IV 88 consid. 2b; Robert Hauser/Erhard Schweri, Schweizerisches Strafprozessrecht, 5a ed., Basilea 2002, pag. 505 seg.).
1.2 Interposto tempestivamente contro una decisione finale di ultima istanza cantonale e fondato essenzialmente su una pretesa violazione dei diritti costituzionali dei cittadini, il ricorso di diritto pubblico è ammissibile secondo gli art. 84 cpv. 1 lett. a, 86 cpv. 1 e 89 cpv. 1 OG. La legittimazione del ricorrente è pacifica (art. 88 OG).
1.2 Interposto tempestivamente contro una decisione finale di ultima istanza cantonale e fondato essenzialmente su una pretesa violazione dei diritti costituzionali dei cittadini, il ricorso di diritto pubblico è ammissibile secondo gli art. 84 cpv. 1 lett. a, 86 cpv. 1 e 89 cpv. 1 OG. La legittimazione del ricorrente è pacifica (art. 88 OG).
2. Il ricorrente fa valere l'applicazione arbitraria degli art. 227 cpv. 1 e 2 e 288 lett. b CPP/TI. Sostiene in particolare che la sua mancata opposizione all'utilizzazione in sede dibattimentale del verbale d'interrogatorio del teste E._ dinanzi alla Polizia cantonale non costituiva una rinuncia a criticare l'attendibilità del testimone stesso.
2.1 Secondo l'<ref-law>/TI se le parti intendono assumere prove al dibattimento, oltre a quelle indicate nell'atto d'accusa, devono notificarle al presidente entro dieci giorni (cpv. 1). Entro lo stesso termine le parti possono formulare opposizione all'uso in sede dibattimentale di altre risultanze dell'istruzione formale. La decorrenza inutilizzata del termine eventualmente prorogato significa accettazione dell'uso dibattimentale delle risultanze scritte dell'istruzione formale, per le prove di cui il Procuratore pubblico non chiede esplicitamente l'assunzione con l'atto d'accusa (cpv. 2). L'<ref-law>/TI, pure invocato dal ricorrente, prevede l'ammissibilità del ricorso per cassazione per vizi essenziali di procedura purché egli abbia eccepito l'irregolarità non appena possibile.
2.2 Come accertato dalla CCRP, il ricorrente non si è opposto all'uso dibattimentale degli atti istruttori. Emerge anzi dal verbale del processo che le parti hanno dato esplicitamente atto che tutti i verbali e i documenti dell'incarto venivano considerati risultanze dibattimentali; inoltre il ricorrente ha prodotto in quella sede unicamente un estratto del suo conto bancario, ma non ha chiesto l'assunzione di ulteriori prove. Contrariamente alla sua opinione, la mancata opposizione all'uso dibattimentale del verbale d'interrogatorio del testimone non ha comportato per lui un divieto di esprimersi sulla portata della deposizione, né ha impedito al Presidente della Corte di merito di apprezzare liberamente la prova litigiosa. Sia il primo Giudice che la CCRP nell'ambito del proprio potere d'esame hanno infatti esaminato e trattato le contestazioni sollevate dall'accusato riguardo alla rilevanza della deposizione testimoniale, spiegando le ragioni per cui hanno ritenuto ch'essa costituiva un indizio a suo carico.
2.3 La Corte cantonale ha considerato inammissibile la censura secondo cui il Procuratore pubblico avrebbe in ogni caso dovuto citare il testimone al dibattimento e chiedergli se non fosse prevenuto nei confronti dell'accusato; in applicazione degli art. 227 e 288 lett. b CPP/TI, essa ha in effetti ritenuto tardiva la critica, visto che l'imputato non si era opposto all'uso dibattimentale delle risultanze dell'inchiesta, né aveva chiesto l'assunzione di prove. Contrariamente a quanto sembra ritenere il ricorrente, ciò non significa però che la CCRP abbia attribuito al contestato verbale d'interrogatorio un valore assoluto e non ne abbia più apprezzato il valore probatorio; essa ha invece sostanzialmente ritenuto che, per la mancata opposizione dell'accusato, l'uso dibattimentale della prova in quanto tale non poteva essere rimesso in discussione con il ricorso (cfr. il rapporto del 22 luglio 1992 della Commissione speciale per l'esame del CPP/TI sul messaggio aggiuntivo 20 marzo 1991, concernente la revisione totale del vCPP/TI, del 10 luglio 1941, pag. 75 seg.). D'altra parte, secondo la giurisprudenza del Tribunale federale, anche in base al principio della buona fede non è ammissibile sollevare censure formali, che avrebbero potuto essere proposte in modo conforme alla legge già in un precedente stadio, solo più tardi, attendendo l'esito di altre procedure (<ref-ruling> consid. 5f pag. 38 e rinvii; sentenza 1P.608/1999 del 25 settembre 2000, consid. 2). Nelle esposte circostanze, ritenendo inammissibile la critica sulle modalità d'interrogatorio del teste e la sua mancata citazione al dibattimento, la Corte cantonale non ha quindi applicato arbitrariamente gli art. 227 cpv. 1 e 2 e 288 lett. b CPP/TI (cfr., sulla nozione di arbitrio, <ref-ruling> consid. 2.1, 128 I 273 consid. 2.1 e rinvii).
2.3 La Corte cantonale ha considerato inammissibile la censura secondo cui il Procuratore pubblico avrebbe in ogni caso dovuto citare il testimone al dibattimento e chiedergli se non fosse prevenuto nei confronti dell'accusato; in applicazione degli art. 227 e 288 lett. b CPP/TI, essa ha in effetti ritenuto tardiva la critica, visto che l'imputato non si era opposto all'uso dibattimentale delle risultanze dell'inchiesta, né aveva chiesto l'assunzione di prove. Contrariamente a quanto sembra ritenere il ricorrente, ciò non significa però che la CCRP abbia attribuito al contestato verbale d'interrogatorio un valore assoluto e non ne abbia più apprezzato il valore probatorio; essa ha invece sostanzialmente ritenuto che, per la mancata opposizione dell'accusato, l'uso dibattimentale della prova in quanto tale non poteva essere rimesso in discussione con il ricorso (cfr. il rapporto del 22 luglio 1992 della Commissione speciale per l'esame del CPP/TI sul messaggio aggiuntivo 20 marzo 1991, concernente la revisione totale del vCPP/TI, del 10 luglio 1941, pag. 75 seg.). D'altra parte, secondo la giurisprudenza del Tribunale federale, anche in base al principio della buona fede non è ammissibile sollevare censure formali, che avrebbero potuto essere proposte in modo conforme alla legge già in un precedente stadio, solo più tardi, attendendo l'esito di altre procedure (<ref-ruling> consid. 5f pag. 38 e rinvii; sentenza 1P.608/1999 del 25 settembre 2000, consid. 2). Nelle esposte circostanze, ritenendo inammissibile la critica sulle modalità d'interrogatorio del teste e la sua mancata citazione al dibattimento, la Corte cantonale non ha quindi applicato arbitrariamente gli art. 227 cpv. 1 e 2 e 288 lett. b CPP/TI (cfr., sulla nozione di arbitrio, <ref-ruling> consid. 2.1, 128 I 273 consid. 2.1 e rinvii).
3. Il ricorrente rimprovera poi alla Corte cantonale una serie di accertamenti arbitrari dei fatti che l'avrebbero per finire condotta a disattendere il principio della presunzione d'innocenza. Ritiene in particolare che le precedenti istanze avrebbero a torto ritenuto quali indizi a carico dell'accusato il suo riconoscimento da parte del testimone, la sua presenza sospetta nei pressi del luogo del reato, l'inconsistenza delle giustificazioni da lui addotte e la sua situazione finanziaria precaria quale movente del furto. D'altra parte, sempre secondo il ricorrente, le Autorità cantonali non avrebbero tenuto sufficientemente conto dell'assenza di sue impronte sul luogo del reato e sulla refurtiva.
3.1 La CCRP ha invero rilevato l'assenza di impronte e considerato che tale particolare avrebbe dovuto essere menzionato nel giudizio di primo grado. Ha tuttavia fondato la colpevolezza del ricorrente sull'insieme degli indizi disponibili, segnatamente sulle dichiarazioni del testimone, sulla presenza dell'accusato nei pressi del luogo del reato, sul ritrovamento del computer nelle vicinanze, sul rinvenimento di attrezzi da scasso nella sua giacca, sulla sua conoscenza dell'edificio e dell'ufficio teatro del furto, sulla consapevolezza che la finestra era aperta in sala computer durante la notte, nonché sulla sua situazione finanziaria. In tali circostanze, visto il complesso degli indizi esistenti, la Corte cantonale poteva, senza pronunciare una decisione manifestamente insostenibile, non attribuire un peso decisivo all'assenza di tracce riconducibili all'accusato e al mancato rinvenimento dei guanti da lui eventualmente utilizzati.
3.2 Il ricorrente insiste particolarmente anche in questa sede sull'inattendibilità del teste che aveva riconosciuto in lui la persona vista fuggire dal luogo del reato con un pacco in mano. Contrariamente all'opinione del ricorrente, la deposizione del teste non risulta contraddittoria, né la descrizione resa, secondo cui la persona avvistata era sicuramente un uomo, vestito di scuro, di corporatura robusta e di statura oltre la media (180-185 cm), contrasta manifestamente con la generica indicazione fornita dalla madre dell'accusato, che s'era limitata a indicarlo come alto e snello. D'altra parte, è determinante il fatto che il testimone non ha fornito alla polizia solo una vaga descrizione dell'interessato, ma lo ha chiaramente riconosciuto per corporatura, statura e abito quando gli è stato mostrato per un confronto. Nelle esposte condizioni, le Autorità cantonali non sono pertanto incorse nell'arbitrio considerando la testimonianza litigiosa quale indizio a carico dell'accusato.
3.3 La Corte cantonale ha inoltre rilevato che, criticando il primo Giudice per avere ritenuto inconsistente la giustificazione riguardo ai motivi per cui egli si trovava nelle vicinanze del luogo del furto, il ricorrente si limitava a ribadire la propria versione dei fatti e la propria valutazione delle prove. Egli non spiegava per contro per quali ragioni il primo Giudice sarebbe incorso nell'arbitrio nutrendo seri dubbi sull'attendibilità delle sue giustificazioni. Anche in questa sede il ricorrente ripropone la sua versione dei fatti senza spiegare, con una motivazione conforme all'art. 90 cpv. 1 lett. b OG, perché la CCRP a torto avrebbe in sostanza dichiarato appellatorie le censure (<ref-ruling> consid. 5a/bb, 118 Ib 134 consid. 2; sentenza 1P.105/2001 del 28 maggio 2001, consid. 5a, parzialmente pubblicata in RDAT II-2001, n. 58, pag. 236). D'altra parte, le Autorità cantonali non hanno fondato la colpevolezza del ricorrente essenzialmente sull'inconsistenza delle sue giustificazioni, ma su una valutazione globale, spiegata e motivata, degli indizi esposti (cfr. consid. 3.1), che le generiche giustificazioni dell'accusato non mettono seriamente in discussione.
3.4 Contestando la precarietà della propria situazione finanziaria, il ricorrente si diffonde soprattutto sulla sentenza di primo grado, sottolineando che il suo contratto di lavoro sarebbe stato rescisso solo l'8 febbraio 2000 e che al momento dei fatti tale circostanza non poteva essergli nota. Ora, solo il giudizio della CCRP, quale ultima istanza cantonale, costituisce l'oggetto del presente litigio (art. 86 cpv. 1 OG), e il ricorrente vi si deve confrontare, spiegando come e perché nello stesso sia stata negata a torto una valutazione arbitraria delle prove da parte dell'istanza inferiore (<ref-ruling> consid. 1a/cc; sentenza 1P.105/2001 citata, consid. 4). Nella misura in cui non adempie queste esigenze di motivazione, il gravame è inammissibile. Comunque, la Corte cantonale ha sostanzialmente condiviso sul citato aspetto la tesi del ricorrente, riconoscendo che un suo prospettato licenziamento già prima del 25 gennaio 2000 non risultava dimostrato. Essa non ha tuttavia ammesso la precarietà della sua situazione finanziaria sulla base della rescissione del contratto di lavoro, ma l'ha fondata sulle risultanze del suo estratto conto bancario, che presentava il 24 gennaio 2000 un saldo di fr. 5,75, rispettivamente di fr. 1,35 il 29 gennaio 2000 nonostante un accredito di oltre fr. 4'300.-- il 25 gennaio 2000. Ritenere in tali circostanze che, a prescindere dalla possibilità del ricorrente di continuare a svolgere la sua professione, egli versava in condizioni economiche sfavorevoli, non è quindi manifestamente insostenibile.
3.4 Contestando la precarietà della propria situazione finanziaria, il ricorrente si diffonde soprattutto sulla sentenza di primo grado, sottolineando che il suo contratto di lavoro sarebbe stato rescisso solo l'8 febbraio 2000 e che al momento dei fatti tale circostanza non poteva essergli nota. Ora, solo il giudizio della CCRP, quale ultima istanza cantonale, costituisce l'oggetto del presente litigio (art. 86 cpv. 1 OG), e il ricorrente vi si deve confrontare, spiegando come e perché nello stesso sia stata negata a torto una valutazione arbitraria delle prove da parte dell'istanza inferiore (<ref-ruling> consid. 1a/cc; sentenza 1P.105/2001 citata, consid. 4). Nella misura in cui non adempie queste esigenze di motivazione, il gravame è inammissibile. Comunque, la Corte cantonale ha sostanzialmente condiviso sul citato aspetto la tesi del ricorrente, riconoscendo che un suo prospettato licenziamento già prima del 25 gennaio 2000 non risultava dimostrato. Essa non ha tuttavia ammesso la precarietà della sua situazione finanziaria sulla base della rescissione del contratto di lavoro, ma l'ha fondata sulle risultanze del suo estratto conto bancario, che presentava il 24 gennaio 2000 un saldo di fr. 5,75, rispettivamente di fr. 1,35 il 29 gennaio 2000 nonostante un accredito di oltre fr. 4'300.-- il 25 gennaio 2000. Ritenere in tali circostanze che, a prescindere dalla possibilità del ricorrente di continuare a svolgere la sua professione, egli versava in condizioni economiche sfavorevoli, non è quindi manifestamente insostenibile.
4. Ne consegue che, in quanto ammissibile, il ricorso deve essere respinto. La domanda di assistenza giudiziaria con gratuito patrocinio può essere accolta, vista la situazione finanziaria del ricorrente (art. 152 cpv. 1 e 2 OG).

Per questi motivi, il Tribunale federale pronuncia:
Per questi motivi, il Tribunale federale pronuncia:
1. Nella misura in cui è ammissibile, il ricorso è respinto.
1. Nella misura in cui è ammissibile, il ricorso è respinto.
2. La domanda di assistenza giudiziaria è accolta.
2. La domanda di assistenza giudiziaria è accolta.
3. Non si preleva una tassa di giustizia.
3. Non si preleva una tassa di giustizia.
4. La Cassa del Tribunale federale verserà alla patrocinatrice del ricorrente fr. 1'000.-- a titolo d'indennità di patrocinio per la procedura dinanzi al Tribunale federale.
4. La Cassa del Tribunale federale verserà alla patrocinatrice del ricorrente fr. 1'000.-- a titolo d'indennità di patrocinio per la procedura dinanzi al Tribunale federale.
5. Comunicazione alla patrocinatrice del ricorrente, alla controparte, al Ministero pubblico e alla Corte di cassazione e di revisione penale del Tribunale d'appello del Cantone Ticino.