Assignments
It’s that time of the university year, where the essentials of each module have been taught, and the assignments have come into play. 1 month ago, I was given my CS10310 (Theoretical Computer Science) assignment, and last week was given my CS10610 (Databases) assignment.
The CS10310 Assignment was handed in at the beginning of the month, and I did very well. Got 46 marks out of 60, equivalent to 76.6% and it landed me a solid A grade. So I was happy with that.
CS103 is all about languages and grammars, and how we define them on a computer and the practical applications of regular expressions etc. It also includes some basic set theory (a branch of mathematics) since language can be viewed (theoretically) as a sub-set of a much higher order language which defines the syntax and grammar structures for any spoken language in existence. As far as I know, no such definition has yet been found, although several attempts have been made.
The assignment for this module required me to demonstrate my knowledge of Set Theory, of different kinds of grammar and different types of languages (regular expressions, (non) deterministic finite state acceptors, and Backus Naur Definition Format). All in all, I thoroughly enjoyed doing this assignment, and I became an avid perfectionist in this. At one point I re-wrote a question at least 7 times before I was satisfied with it. And clearly, the A grade was a direct consequence of the work I put into this.
The CS10610 Assignment had me reading through the specifications several times over, because it seemed too simple. I thought I must’ve missed something. Eventually though, after a few emails to my databases tutor, I cleared up any ambiguities and grey areas and cracked on with work.
This assignment dealt with the methods of designing a database. The first stage before implementation. Unfortunately, we are required for assignment 2 of this module (which hasn’t been released yet) to implement the database in Microsoft Office Access 2007, which is a hateful piece of software. But there we go. (SQL for the win!)
The scenario presented was that you had been contracted to set up a database system for a dance school that specialised in Scottish Country Dancing. They had provided you with various documents and leaflets to give you an understanding of the data required to be in the database system. Essentially, I had to design a database that would organise a list of bands specialising in Scottish country music, a list of songs that would be performed, and the concerts that would be staged. A fairly simple concept really.
Even though I found the assignment exceptionally simple, I still put 100% into it, and did a thorough job. I was required to make observations of the data, and point out elements that could intefere with database design or could be used to define relationships between the tables. Secondly, I had to describe the tables I would be creating, and specify the fields (categories) that were to be used. I then had to “zoom in” on these tables and specify in detail the fields. I.e. what type of data was it? (Text, date, currency etc) and say which fields were primary keys (the field which uniquely identifies each database entry so that there is no redundancy or unnecessary duplication of data) and which were foreign keys (primary keys which have been imported from another table in the database). I then had to draw a diagram to specify the relationships between the tables in a visual format (the idea being to make it easier to implement if you can see what you are doing). Finally, I had to specify the possible candidates for primary keys, and use reason and logic to explain why I believed my choice of primary key was the best one for that table.
Once again, I threw myself into the assignment, and as a result, have a fairly clear idea of how to do things when the implementation phase comes out in assignment 2 for CS106. I handed the assignment in at 13:00 sharp earlier today, and am eagerly awaiting my results.
Jenna and Coel, if you ever get around to reading this in the future, doing work as early as possible, and giving it everything you have *does* work and produces exceptional results. So when either Dad or Mum have a nag at you to get on with your work, remember this. They are right. It is so much better to do the work earlier without a deadline looming just around the corner, than to be lackadaisical and say “I’ll do it tomorrow” and then have pressure to get it done when you realise that a lot of work needs doing in a short period of time. The latter path means you’ll be stressing, and you won’t be thinking properly, ergo the quality of your work goes downhill exponentially. Also, it gets worse because you’ll start rushing, and before you know it, you’ve been blanking out staring at your assignment for an hour and haven’t achieved anything.
It took me long enough to learn, and I hope you don’t make the same mistakes that I did.
Until next time :)
