Sunday, 7 September 2014

First Year Down

It's been ages since I put anything up here, so I'm going to have to account for the last couple of years.  There was some unfinished stuff on my first year at uni, so I guess that should go first.

The most important outcome of last year was definitely passing my first year of university.  First year was awesome I have no regrets about choosing electronics.  The balance between software and hardware is exactly what I was hoping for - there was lots of programming along with circuit theory, semiconductor physics, control theory among other things.  The course was relatively intense; there were often 9-5 days of labs and lectures, and a couple of projects at the end of each semester.  Not only did I have to learn a completely new set of skills, I had to learn to cook, survive student nights out and in general learn to live away from home.  It's crazy to think that in the first lab I barely new how to use an oscilloscope, but by the end of first year we were building and testing complex circuits, designing PCBs and testing solar cells.

ECS - The cause and solution to all my problems
In terms of C and C++ I took a lot out of the embedded programming part of the course, which was an area I hadn't touched before. In one of the first labs we had to build a sturdy microcontroller based off an AVR ATEGA644P chip.  In later labs we were given tasks to do with this board, like make a simple heart rate monitor, or make a tiny speaker play a given tune.  Lots of twiddling was done at the bit level, and hours were spent looking through the monstrous data sheet trying to find what a specific register did.  The final project was definitely satisfying - we had to create a voltage boosting circuit which could take a dynamic load.  To do this we had to use the microcontroller as a control system, constantly adjusting some pulse and monitoring the output voltage.  We also had to have communication between a PC and the board so that a new voltage could easily be set.

One really interesting area that was covered was programmable logic devices (PLDs) and Hardware Description Languages.  We were taught some SystemVerilog and given a few CPLDs to play with in the lab.  Although the stuff we did was basic, it was a completely different way of programming.  We had to start to think in terms of sequential and combinational logic, where combinational logic is all done in parallel.

The biggest worry on doing this course was that I would lose my enjoyment of programming.  When someone is telling you that you have to do something, psychologically that seems to change how we all approach it.  Being spoon fed, made to learn stuff for exams, made to rush some coursework you left too late is not fun, and you get so little out of it.  It did feel a little that when I was doing some programming labs, in the stress of constant marking and assessment, I wanted to do the minimum needed and go home. However, I think that overall, I was given opportunities I wouldn't have had if I hadn't chosen this course. Most importantly, I learnt how to start applying my skills to real-world applications.  I got to see my code make things physically happen, solve real problems, and I guess at the same time get me a few marks towards a degree!

No comments:

Post a Comment