a quanto pare non hai capito la mia risposta;
in fondamenti di informatica (o Programmazione 1 e 2)si studia (rapidamente) il modello basilare del computer ed il suo funzionamento, i sistemi di numerici in base diversa da 2 con focus sulla rappresentazione in binario degli interi e dei numeri in virgola mobile. L'introduzione alla programmazione ed agli algoritmi è il grosso del corso, il linguaggio è a discrezione del docente (in genere uno tra C, C++, Java, Python), gli algoritmi di ordinamento ed alcune strutture dati relativamente semplici (quelle lineari, gli alberi binari, più raramente alberi n-ari e grafi), e la ricorsione (da qui la necessità di avere un minimo di dimestichezza con l'induzione); si accenna inoltre alla misura di complessità. Le conoscenze matematiche delle superiori sono sufficienti come prerequisito per affrontarlo.
Nei corsi specifici di algoritmi e strutture dati, si riprendono in modo formale (e matematico) tutte le strutture dati elementari e si va su quelle più avanzate e sulle loro applicazioni. Si affronta in modo formale la misura di complessità degli algoritmi e come si calcola con equazioni di ricorrenza. E poi ovviamente si studiano una varietà di problemi ed algoritmi risolutivi noti, oltre ad alcune tecniche avanzate di programmazione. Questo in generale, poi c'è sempre una parte del corso a discrezione del docente. Inutile dire che senza aver superato il corso "elementare" di programmazione questo corso non si può fare, ecco perché non puoi fare da solo perché rischi di farlo veramente molto/troppo male.
In basi di dati si affronta la teoria e la pratica di come organizzare enormi quantità di dati, accedervi, modificarli, mantenerli. Si studiano quindi vari modelli per farlo, l'algebra relazionale (è la parte probabilmente più ostica, difficilissimo riuscirci da solo senza la guida del docente), il linguaggio di interrogazione SQL (non al livello query giocattolo). Parte del corso è a discrezione del docente ed in genere si deve sviluppare un progetto da realizzare in laboratorio.