Optional Module: Programming for Scientists
I did Computing at A-level and GCSE, and really enjoyed both of those. One of the things that I like about the Warwick maths course is that I can take Computer Science and programming modules really easily, so I was still able to continue doing some slightly less-mathsy things to go towards my degree. One such option for me in first year was Programming for Scientists – a module aimed at teaching a mostly-maths cohort to program.
Even though I’d programmed before, I’d never used Java – the language that Programming for Scientists is taught in. As with any programming language, there are things that make it different. One of the things that kept throwing me was remembering to put a semi-colon at the end of each line. A lot of people who took the module had never programmed before, but they’d got the hang of it by the end, thanks to the hands-on classroom sessions.
Another part of the Programming for Scientists module that was new to me was using PuTTY to connect remotely to the server that my files were stored on, and to navigate using the command line interface. The classes were helpful for learning to do this – while the steps aren’t particularly difficult, I tend to find that I worry that I’ve done something wrong.
As PfS is a maths module, you’d be right to expect that the projects were very maths-based. This was something I’d only touched on in my A2 Computing project, because I decided to create a piece of graph-drawing software for my coursework. For the most part, the assignments in PfS weren’t graphical, but they were focused on using the procedures to produce numerical results. Even if you’ve programmed before, the mathematical content of the assignments isn’t completely trivial, so you still need to consider things carefully.
Overall, if you’re interested in learning to program, I’d recommend this module. It’s also useful for doing Computer Science modules in later years, because many modules assume a knowledge of programming (and within that, a lot of the time it seems to be Java) and lecturers may choose to express things in code.