Portfolio of Sarah Cartwright

The following few examples of projects I have carried out demonstrate my abilities to be a flexible and skilled programmer/web designer.

As I understand the theory behind programming, rather than depending on cutting and pasting “black box” code that may introduce unforeseen bugs, I can apply my considerable experience to tailor code to perfectly suit the situation in which it is needed.

Languages are constantly evolving and being created for various tasks, from Assembler, to C to Perl, ASP, Java, .Net, JSP, JavaScript, Ruby on Rails…

A programmer needs to change the languages they use to suit the situation. C is excellent for operating systems and software drivers, Perl is a concise and excellent string manipulation language for the internet though is inherently insecure if used naively, Rails targets zero turnaround time development, among many new features developers using JSP requested.

Due to the huge range of API’s available to each of these languages; no programmer can ever say they know everything about a language. That is why I always question what I write, and always refer to colleagues, friends, reference manuals, and online articles to improve my coding skills and abilities.


Example 1 : Mars Lander


Technologies
Language : Java Application
IDE : Borland JBuilder X Enterprise Edition
Development time : 8 weeks
Key features :
  • Java Swing
  • Java AWT
  • Animation
  • Physics
  • Real time action
  • Multiple game options including sound
  • Notes:
    This 2nd year Degree level Programming project was used to demonstrate my skills in UI design, and advanced Java feature development. The game's goal is very much like the classic "Lander" game... the player is moving directly towards the planets surface, and can only control thrust to decrease descent to a level that will allow a soft landing. To make the game more challenging various atmospheric effects can be controlled via the drop-down menu's in the game's menu bar.
    It scored 96% overall.

    Skills demonstrated:
    This project demonstrates my abilities at implementing a fully integrated object orientated solution for a games system that includes drop down menus, animation, sound, physics, file reading/writing, real time player input, and bullet proofing, all in a well designed Java application.

    Complete source code : MarsLanderSource.zip
    Playable native Windows Exe : WindowsMarsLander.zip (Including instructions)
    Quick sample of two objects : MarsLanderApplication.java and MonitorEffect.java



    Example 2 : Pub Till System


    Technologies
    Language : Java
    IDE : Borland JBuilder X Enterprise Edition
    Development time : 6 weeks
    Key features :
  • Windows MS Access 2000 Database
  • Scaleable architecture
  • Multiple simultaneous users
  • RAD Developed
  • Notes:
    This 3rd year Degree level Systems Analyses project was part of a team effort to analyse a Public House's IT needs, based on problems they were having with orders going missing and stock control mistakes.
    The IT components consisted of a database back end, an ASP content management system to manage stock, menu items and ingredient lists, and finally a Java networked solution that would allow simultaneous taking of orders both on a touch sensitive till, and mobile barcode menu scanners. The system would then relay the orders to a kitchen monitor where it could be processed. The system keeps track of stock control, and earnings, as well as orders.
    We achieved the highest mark on record for this module.

    Skills demonstrated:
    This project demonstrates my abilities at implementing a fully integrated object orientated solution for a system that already contained a database, and a web based content management system. I did this by liasing with all of the members of my team and working with them to gain a full understanding of their requirements and also reporting back alterations needed to the website and database to facillitate an extensible and maintainable solution.

    Complete source code : PubTillSystem.zip
    Quick sample of two objects : Server.java and ServerNetworkCore.java



    Example 3 : AutoFTP Website


    Technologies
    Language : PHP 5
    IDE : Dreamweaver Templates
    Development time : 1.5 days
    Key features :
  • MySQL Database
  • Logging in/out
  • Secure piped file downloading
  • Photoshop used for logo art, and additional graphics / Template tweaks
  • Notes:
    This PHP based website was created from a supplied graphics template, which was then integrated into my own PHP template management system. This enabled much of the website's graphical display to be created from PHP commands, and made global changes to the templates trivial via programmatic changes. I used Photoshop CS 2 to tweak the template, and create the image borders. By using PHP on my own server, I was able to speed development up by having more control of the PHP runtime and security settings.

    Skills demonstrated:
    This freelance project demonstrates my abilities to liase with a client, and achieve the functionality they required within a short timescale. The secure download feature shows that I understand HTTP headers and file management, and the structure of the PHP code shows that I understand the need for code to be extendable.

    Development website address : http://chester.mefoo.com/autoftp/
    Complete source code : autoFTP.zip
    Quick sample of two files : downloads.php and getFile.php



    Example 4 : Autothumbs Website


    Technologies
    Language : PHP 5
    IDE : Dreamweaver Templates
    Development time : 3 days
    Key features :
  • MySQL Database
  • Logging in/out
  • Secure piped file downloading
  • Photoshop used for Box art, and additional graphics / Template tweaks
  • Notes:
    This PHP based website was created from a supplied graphics template, which was then integrated into my own PHP template management system. This enabled much of the website's graphical display to be created from PHP commands, and made global changes to the templates trivial via programmatic changes. I used Photoshop CS 2 to tweak the template, and create mock 3D "Product Boxes" on the "Buy Now" page. By using PHP on my own server, I was able to speed development up by having more control of the PHP runtime and security settings.

    Skills demonstrated:
    This freelance project demonstrates my abilities to liase with a client, and achieve the functionality they required within a short timescale. The secure download feature shows that I understand HTTP headers and file management, and the structure of the PHP code shows that I understand the need for code to be extendable.

    Development website address : http://chester.mefoo.com/autothumbs/
    Complete source code : autoThumbs.zip
    Quick sample of two files : downloads.php and getFile.php



    Example 5 : Sconic The Blue Blob


    Technologies
    Language : Classic C (With C++ features)
    IDE : Borland C++ V 4.5
    Development time : 5 months - hobby
    Key features :
  • Low-level hardware access for speed
  • Animation
  • Level Designer
  • Notes:
    Featured in GameDev image of the day.
    This is a home-made project I wrote many years ago using standard C. It is a fully functioning platform game written for DOS that was based on a certain character that was made popular on home games machines. I enjoyed the challenge of programming low-level code to produce fast and streamlined functions that meant the game could be run on relatively slow computers.

    Skills demonstrated:
    This program demonstrates a very good understanding of data structures, and complex low level programming concepts. It also shows that I can handle developing and maintaining extremely large procedural programs - if the need arises.

    GameDev image of the day : http://www.gamedev.net/community...
    Complete source code : Sconic.zip
    Quick sample of two files : gameEngine.cpp and graphicsEngine.cpp



    Example 6 : Personal projects


    Technologies
    Languages : ASP, PHP, HTML, CSS, Javascript, VBScript
    IDE : Various
    Development time : Ongoing hobby
    Key features :
  • Private development server supporting Perl, PHP, JSP, ASP, ASP .Net
  • Supports various database formats, Access, MySQL
  • Windows Server 2003
  • Notes:
    This is a PC at home I use for personal projects.

    Skills demonstrated:
    The pages contained on the website are small sub-projects written in a mix of languages. It is were I post potentially useful projects, and see what the response from surfers is via feedback forms on the pages. The site can get anywhere from 30 to 200 visitors a day, from photographers to FireFox power users.

    Website : http://www.untamed.co.uk