Computer Communications exam finished!

I finished my final exam for my degree last Monday evening and that’s it really in terms of classes and exams for my (ordinary level) degree. As with databases, the following chaff can be purged to make way for more crap:

  • OSI Model (Please Do Not Teach Students Pointless Acronyms, an acronym for the 7 layers of the OSI model)
  • TCP / IP Model
    • Physical Layer
    • Data Link Layer
    • Transport Layer
  • Signals
    • Analogue – Amplitude, Frequency / Period, Phase
    • Digital – Bit Rate, Bit Interval
  • Modulation methods
    • Analogue – AM, FM, PM.
    • Digital – ASK, FSK, PSK, QAM
  • IP addresses
    • Classful addressing – Class A, B, C
      • Subnetting
      • Supernetting
    • Classless addressing – CIDR notation
  • Routing tables
  • and other stuff…

I’ll look back on this in a few months and think “What?!”, but I have learnt some practical stuff that I will use. E.g. How subnetting and masks work. Pretty cool actually and very simple, when you know how!

It was a bit of funny ending to the course. I completed the exam and then came straight home, relieved that it was over. I’m not entirely happy with how the module, computer communications, had been run. As I mentioned previously the slides were lifted directly from the syllabus book so we weren’t learning a great deal in class. I found that I had to do a lot of reading myself to get my head around it all.

This last year has been particularly painful. Subjects I was told that I would “piss it” were anything but easy. Motivation has been particularly hard to come by. Which is odd because my first year was the opposite, it was hard work and good fun. I had a year long group project and worked with a couple of chaps who were very highly motivated and it helped push me along, not just for that module, but for all the others. 

Now I’m left with just my minor research project to do, which I am actually really enjoying. The idea with minor research is you pick a relevant topic to the course that hasn’t been covered and go and investigate it. Here’s my minor research proposal:

Whilst the internet has seen the creation of one the biggest changes for mass communication in the late 20th century, its open nature has also meant it is very much open to abuse. I intend to research into what is termed as the Dark Side of the internet.

I would like to investigate these methods of abuse to get a better understanding of their origins, possible motivations and popularity. Example areas to look at would be credit card fraud, invasion of privacy, hacking, spam email, phishing, blog spam, content plagiarism, spy ware, data ransom, viruses, denial of service attacks, the use of zombie computers, etc.

I also want to look at the other side to see what techniques are used to keep these problems at bay and how well they work. Example areas here are email filtering, bayesian filtering, captchas, antivirus software, firewalls, hardening of software, etc.

My intention is not get an incredibly deep understanding of each topic, but more of an overview where I can try to identify common trends and perhaps predict the dangers that lie ahead and what their solutions might be.

I’ve found some great books for it, which I’ll post about after I’ve read them. Part of what I’m trying to do is understand the human element to it all, what motivates people to be devious bastards (other than the obvious cash related, ego induced reasons).

I’ve found that as I research it I’ve already read lots of related articles previously and it’s fun pulling it all together. I might even be able to get a reference to Something Awful in there, with the old Nigeria 491 scam emails!

College – Computer Communications

I’m well into the final part of my Internet and Information Technology degree (ordinary level) with just one evening class to complete, computer communications. I have another module to do, minor research, which is something I can do in my own time. Unlike databases in the previous semester I’m really enjoying computer comms. I’ve found that the subjects I know little about are the ones I’ve enjoyed the most (excluding programming related ones).

Last week I bought a copy of the lecturers suggested course book, Data Communication and Networking, which from skimming through seems very good. Its certainly a lot more readable than the official syllabus book, Data Communications, Computer Networks and Open Systems, which incidentally was the same book I had for my HND (many moons ago).

The latter is one of those books that makes you feel like you’d be really intelligent if you could actually understand any of it. Its far too technical for people with a computing background and seems aimed more at those with an engineering background. The former looks to be the opposite. 

Amusingly the lecturer didn’t want us to buy the book he was using. I thought it was because it would be like the syllabus book, too technical… Nope, it turns out its because his class slides and notes are lifted directly from the book!

Yay! Exams over!

I’m currently doing a part time degree in Internet and Information Technology and earlier this evening I finished the databases module (I hope!) with a 2 hour exam. So I can now empty my head of the following:

  • Normalisation
  • Entity Relationship Modelling
  • Formal Database Models (Network, Hierarchical and Relational + Others)
  • Types of DBMS (Database Management System)
  • The Layers of Abstraction (External, Logical and Physical)
  • Transactions – The ACID model
  • Serial / Serializable Execution
  • Concurrency Control Methods
  • Two Stage Commit Process
  • Locking methods (Exclusive, Share, Pessimistic, Optimistic)
  • Timestamping
  • Distributed Databases
  • Horizontal and Vertical Table Fragmentation
  • Lost, Assumed and Phantom reads
  • etc…

Well maybe not, some of it might actually stick!

At least it brings to an end 3 weeks of hard graft and 2am+ nights / mornings. I’ve had to do a group project about websites (lots of PHP coding plus Apache security tweaking), a presentation of that, a two part assignment (1500 word essay and 15 SQL questions) and an exam. The latter two of which were due in the same day (today). So I’ve had to make sure I was organised, but I still had to take some days off work to make sure I was prepared enough. Which is a bit annoying, since I took extra time off work at the beginning of January to get a start on it. Thankfully where I work is very understanding.

Getting back to databases, I found Databases Demystified (book) incredibly useful. It was the cheapest database book at the local Waterstones, but I doubt any of the the others could do a better job. It covered pretty much everything except distributed databases and table fragmentation. The notes we were given were a bit lacking in substance and examples so I needed something!

I found tons of stuff on the net as you’d expect, but it was hard to work out what was right and what was wrong. I found a great example on distributed databases two phase commit (its like a wedding apparently) but it never came up in the exam (I thought it might do, it was in the previous years). I read one example about vertical and horizontal tables where 3 “experts” answered a related question. The first chap waffled on and mixed the two up, the second was straight to the point and the third obviously didn’t care! The majority of stuff just isn’t worth a light.

Sadly Wikipedia fairs no better and is average to poor on the subject. Don’t get me wrong, there is a lot of stuff there, but some of its badly written, poorly linked and at worst inconsistent. I’ve gone and edited a page or two so they link together better but what it really needs is an expert in the field to give the entire section a good going over. Amusingly I thought that back in December when my first databases assignment was due and now some of the pages say exactly that.

With that over with, I’ve got a two one week break until the second semester fires up!