For me last year, we learned Java in 1MD3. This was probably one of my favourite courses (and the easiest). It consisted of 5 (I think) assignments, each requiring that you make 2-5 specified programs.
Most of 1MA3 is learning Python and about lists, dictionaries, etc. This course is fairly easy, especially when you go to tutorials. There is some content about computer hardware, too.
1FC3, on the other hand, is pretty much the opposite end of the computer science spectrum. You get to learn about logic and problem solving, and by the end of the course, you have to memorize a few proofs (and by a few, I mean almost 200). This was probably one of the hardest courses for me... just make sure you don't fall behind and you should be fine.
As well as proofs, you will be using Haskell for a brief time towards the end of the course.