## BIO
**Samuel Michael Harnett BSc.**
**Education**
* **Chatham House Grammar School, Ramsgate, 1995-2000**
* GCSE B's in history, maths and double sciences.
* GCSE C's in English literature, English language, DT and business.
* First team rugby at school then Thanet Wanderers.
* **Canterbury College, Canterbury, 2000-2002**
* BTEC ND in Computer Studies.
* Five distinctions and seven merits.
* **University of Kent at Canterbury, Canterbury, 2002-2005**
* BSc Hons in Computer Science.
* Developed an online auction system in PHP and SQL as a dissertation project. I was the sole contributor to the project and received a mark of 67% as a result. This has taught me a lot about the need for planning in a software project as well as the potential traps in complex web projects.
* Awarded a 2:2
* **Canterbury Christ Church University, Canterbury, 2005-2006(Ongoing)**
* MSc in Computing.
* I am still studying this program which includes many useful skills such as server and client application development, rapid application development using VisualStudio, and human computer interface.
* I am set to graduate in in Spetember 2006.
## Area of Expertise
**Programming Languages**(In order of experience)
* **Java** - 4+ years experience, I studied at the only sun microsystems accredited university in the UK. I have used java for many kinds of application including genetic algorithms, encryption and network applications.
* **PHP** - 5+ years experience, I can setup up an apache server with PHP and SQL and have use preferentially for most of my web design projects, I used PHP to develop my third year project which was a web based auction system along the lines of ebay. The project is available to be viewed in my <a href= "portfolio.php">portfolio</a>.
* **HTML/CSS** - 5+ years experience.
* **Pascal** - 5+ years experience, I have also looked used Delphi to a lesser degree.
* **Haskell** - 4+ years experience
* **SQL** - 5+ years experience used alongside PHP.
* **Prolog** - 1 years experience using Prolog and constraint satisfaction.
* **QBasic** - 1 years experience using qbasic for text file editing applications. An application I developed in the second year of college is available in my portfolio.
* **C++** - 1 years experience getting introduced to C++.
* **Python** - 1 years experience getting introduced to Python.
* **SmallTalk** - 1 years experience getting introduced to Smalltalk.
* **Occam** - 2 years experience designing applications with massive parallelism, it taught me many of the rules necessary to write multi-threaded applications in Java or any other language that supports the function.
* **Visual Basic** - 1 years experience getting used to the language.
**Skills**
* **Project management** - I managed my second and third year university project.
* **Software engineering** - My primary focus so far in education has been in furthering my software engineering skills.
* **Web programming** - I have been using HTML, PHP etc for over five years, it has always been my preferred area of my subject.
* **Database design in UML and SSADM** - I have a couple of years experience using UML to design applications and SSADM to design databases.
* **Evolutionary programming** - I have a years experience studying evolutionary computation issues and designing genetic algorithms and genetic programs.
* **Cryptography** - I have one years experience studying cryptography and security issues and implementing encryption algorithms such as RSA public key and PGPi. I have also looked at methods of digital watermarking.
* **Constraint satisfaction programming** - Constraint satisfaction is a type of programming that deals with complex searching such as crypto-arithmetic problems. I have a years experience studying constraint satisfaction implemented in Prolog.
* **Network programming** - I have used java's netowrking abilities to lead the development of a messanger application along the lines of a simple msn messanger.
* **OS and compiler design** - I have spent a year studying the issues and mechanisms involved in operating system and compiler design. I have implemented several key aspects of an operating system such as message passing and context switching.
* **All Microsoft software and parts of Visual studio** - I have used all of MS Office including FrontPage and VisualC++ and VisualJ++.
* **Dreamweaver** - I have used Dreamweaver to make simple websites ad am still getting used to it.
* **Paint shop pro** - I can use paint shop pro to edit images and can use most of the tools in it.
* **Apache server, MySQL and PHPMyAdmin** - When designing websites or buying web space, I prefer to use Apache, PHP and SQL as I know them inside out.
* **Photography** - I have a digital camera with filters and lenses and really enjoy it.
* **Networking and cabling** - I have set up many computer networks for myself, friends and family using many operating systems and kinds of network hardware.
* **Basic electronic design** - I have recently decided to learn how to design electronic circuits. I recently made an AM radio which isn't very complicated but im getting better.