• Exam time

    May 11, 2010

    With exams coming up very shortly I have decided to take a different, hopefully more successful, approach to revision. In the past I have merely read my notes and completed practice/past papers, however at university this is very different. No longer being spoon fed the keywords and model answers means that, for the first time, education is placed in the students hands. The lectures are extremely useful and interesting, however without self study the fresh knowledge remains just that; until forgotten. I have learnt that merely attending the lectures is not enough for me; unlike at School and College where I found everything was constantly being reinforced until it became second nature.

    My method so far has been to list the topics in each module and then review the lecture slides on each of those topics and try to compress the information to a more manageable, less daunting, amount. It has saved me from sifting through a large volume of slides to locate one piece of information. During the process of compressing the lecture notes I have tried to think of connections between the sub topics with some association or in some topics a real world example. I have found the SE1SA5 (Programming) project and my previous A' Level project to be very linked with Software engineering. Chiefly the System Life-cycle. I also feel that my approach to the SE1SA5 was more 'agile' than the A' Level project which again helps the link and association with Software Engineering.

    One lecturer gave his own advice on revision techniques, which I have taken on board and will try out. Précis each lecture for each subject. Attempting to halve the volume each time. Until the amount written is roughly that which you expect to write in the exam. This would mean that you have every topic covered within the exam time.

    A few other facts have really stuck in my mind too. The lecturer stated that during a study period of 1 hour 30 minutes the ability for the brain to retain information related to that subject drops to 10%. In order to revert to full capacity a 20 minute break should be taken after this. Or in case of a rush a different subject could be beneficial, though not as beneficial as a 20 minute break it would maximise revision during a small time frame.

    The last piece of revision advice that he gave was the memorising of facts. In order to recall facts, such as numbers, in an exam it is best to begin memorising 3 days prior to the exam in order for a better recall and retention.

    I intend to use all of this advice as previous revision advice has been very vague and with little justification, which I found frustrating and much advice just did not work for me. So far I have noticed a promising improvement on the précis stage alone and intend to keep this up. However, next year I intend to do a lot more weekly study in my own time than I have this year. To truly retain the information rather then learn it in time for an exam.

  • SE1SA5 - Programming, Final Project (Card Game)

    May 4, 2010

    You may have read my review for the final project for Programming (SE1SA5). This project was completed over a number of weeks.

    I decided to produce a Card Game over a Text Prediction program as I felt it would be easier and that I could incorporate classes into it more easily to gain credit.

    Project progress was monitored by student helpers and members of staff to ensure that the work was under way enough to be completed on time. I felt that it was also good to simulate a real life situation in which it would be expected to show progress throughout the project.

    I encountered a few issues whilst programming, as I did not fully understand certain function calls, along with a more specific difficulty in a vast number of instances of a class. I posted a little frustration on how I had initially attempted to implement this on Twitter. Chris Alexander (@chris_alexander) quickly provided a possible solution of 'Class Wrapping', which at first I had to ask the meaning of. This saved me a great deal of work and gave my code readability.

    The other issue I had initially was that I was seeding the random number generator each time the random function was called. This meant that I was constantly getting the same random numbers. Patrick Parslow (@PatParslow) aided me with this issue and I learnt that seeding the random number generator should only be done once per program in order to correctly generate random numbers.

    Looking back at my program I now realise it would have been more professional and user friendly if I were to prevent an 'infinite loop' (this is not quite true as it quickly causes a stack overflow and stops program execution), which occurred when a user entered anything other than an integer value when prompted for input.

    Code

    Syntax highlighting thanks to pastie.org

    I have some ideas in which to expand upon it, which I may do over the summer as I have, so far, been unable to find a part time job:

    •  Allow user to chose the value of an Ace
    • Add support for multiple players
    • Prevent the loop on character entry
    This project taught me a lot and helped me to apply the knowledge that the module has taught me. It really goes to show how diverse programming can be. Such a wide field makes me want to dabble in a number of different situations. Game development, software development, web development. During the course of the summer I hope to have tried out most of these a bit further than I have already. But first... Exams

  • Web Development - Getting my feet wet

    Apr 30, 2010

    Yesterday I got my teeth into some near first-time Web Development. My previous experience was a GCSE website (using frames *shudder*) and styling my no-longer-used MySpace page (css).

    I initially doodled the idea of the layout and a brief list of content/features of the site. Tabs featured heavily in the design. So I set out to produce this using CSS and HTML. After browsing I found a few guides of how best to do it, however this wasn't quite right for me as I wanted the tabs to be within a single page, which wouldn't need a complete reload. The way to avoid this was to use PHP in order to set a styling attribute (id) to the 'active tab' with some help from Gary Mardell and Josh Homerston (Twitter: @jhomerston)  I soon managed this.



    The site can be viewed here. It may be up, down or altered at any time though! I'm hoping to develop it further after exams.

    In order to host the site I used the free SSE hosting service, which allowed me to set up an FTP connection through MS Expression Web 3.

    Upon Gary's advice I have set the goal of hand coding each element and style as I feel it gives me more experience and better control over the site.

  • Google Wave Review

    Mar 22, 2010

    The coursework in the Software Engineering module in Computer Science at the University of Reading has been to design and implement a Board game. The game had to incorporate Software Engineering. It has been great fun to do, although testing at times with team indecision and dispute.

    One member of the group was unable to be contactable whilst not at home and also only limited communication whilst he was at home due to lacking a broadband connection. However, amongst the rest of us I thought it would be a great test, experience and useful to use Google Wave in order to collaborate and communicate. Upon receiving an invite from Shirley Williams to join Google Wave I set about inviting the other members of the team.

    Being completely new to the concept of Google Wave it took me a while to find my way around the application and begin to use it in the way I wanted. This didn't take too long and in no time I was collaborating with Pete in no time. Quite a change from seeing 'X is writing a message' to actually seeing the message they are typing, this both has advantages and disadvantages. It means that you may start to anticipate what they are about to say and begin a response of your own, however, some of the time it is wasted as the other decides to change what they are typing.

    My Google Wave experience was made easier by using a Google Chrome extension (Google Wave Notifier). This meant that I could see if I had new messages without going to Google Wave itself. It also enabled me to customise the page as I saw it by hiding the navigation pane etc. It is possible to just bookmark it to do the same though just a search and you can find it easily enough.

    During the more pressing times of our project, deadlines mainly, we were unfortunate enough to experience a few wave crashes and, it seemed, data corruption. Certain files would not load, others would not be available to view or download. This meant some delays occurred during our busiest times.

    Effectively the way our team used Google Wave was like a collaborative word processing document. With the ease of correcting later on and the playback feature, it was easy to see the changes that others had made upon viewing the updated wave.

    As it is still in preview; features come and go, go offline, break, but that's all part of the fun of using something different and new. It allowed us to refer to the 'document' in team meetings as well as each of us having access once at home. However, with just a few miss-clicks the Wave can become cluttered and messy as un-deletable objects can appear, but I guess that's because it's something they want to monitor in the preview.
    Overall a great experience with Google Wave. I'm sure I will continue to use it in the future as well. Give it a shot, see what you use it for.