An innovative 4 year Bachelor programme with additional project requirements added for Specialization in E-Commerce through hands-on development and gaining of practical real-world knowledge.

Degree Requirements

Bachelor Degree

Coming out of High School into a degree in Computer Science at Acadia, I was due for a rude-awakening. Mine was made especially painful by the fact that I had boasted in High School that I managed to "get pretty good marks without studying". I would find out the hard way (as I usually do) that this was a big mistake. From the minute I got my first D's in Calculus (yes, that's one step above an F), I knew the old routine of "play hard, hardly work", was not going to cut it anymore. By the end of my first year, I realized I had to pull my socks up, and fast...

Luckily, there was as yet still a devout student hiding in me somewhere, and as the Academic year opened in 2002-2003, I did something I hadn't thought of trying the year prior; I actually worked hard and studied every night! Low and behold, that saying "practice makes perfect" seems to still apply. My recovery was nearly complete, but I still had no idea what I wanted to focus on. I'm interested in International Business; should I do a language minor? No, turns out we CS students weren't allowed to do so back then (after many complaints, I think they changed that rule shortly after I graduated). Having missed my shot at the Co-op program (which enjoys 100% placements for CS), all because of my shoddy 1st year grades, I realized that it wasn't enough to simply study hard and burn the midnight candle; to make up for missed opportunities and develop myself professionally, I would have to chart my own path. After really enjoying a couple business electives, I realized what I was missing in Computer Science: REALITY!!! (duh, of course). I decided that all this technical mumbo-jumbo was nice to know and everythinam I actually going to need to write my own Assembly-language instruction compiler? How many times would I be stuck out on the job and my boss would come to me and say "hey, can you wire me up a digital alarm clock using only these three circuits and old pieces of wire?" Unless your mentor is McGyver, not gonna happen... but how many times would someone have a great idea and wonder, "How can I actually make money with this online?" or "Is there a market for moving this old process X to an online service Y in country Z?"

E-Commerce was the clear path for me, as I could ponder these types of questions for long periods of time; in fact, I didn't even mind doing it, I discovered that I actually enjoyed it. By combining technical knowledge with business knowledge, I felt like I could finally see the whole picture, and suddenly course work was no longer work but it became an interesting hobby. When work starts to approach play and one enjoys the material rather than struggles through every bit of it, you can't help but see a huge improvement in their performance. My grades climbed a steep scale (it's a long way to the top though, especially from the bottom), and by the close of the 2004-2005 Academic year, I had earned the title of "Most Improved Student" in the Faculty of Computer Science at Acadia.

Research

Specialization in E-Commerce

Taking the additional credit hours required to add a Specialization in E-Commerce to my degree was a challenging yet rewarding decision. By working with students from the school of Business in a larger number of cross-discipline Business-focused courses than the typical Computer Science major is exposed to, I firmly believe I was able to develop a wider understanding and more gounded perspective on computer science and technology issues. It IS important to consider the bottom-line before making a decision.

Created in cooperation with the F.C. Manning School of Business, Acadia's undergraduate E-commerce specialization builds computer scientists who are Web 2.0 ready both technically and around the board room table.

Projects

NOTE: Many of these projects are now down, as I was hosting them on my student web space which had its server taken down late last year. I'm in the process of recovering these projects from my personal archives/backups.
  1. Degree Project (COMP 4983) - Online Dental Appointment Scheduling System (ODASS): Trinity Dental is a Dental firm in which ODASS was applied in real-life to manage online appointments and bookings online, while keeping the information totally separate from their internal databases (for security and legal purposes). In addition, at the time it was more complex than your typical single-backend database-driven web application, in that it had a persistence layer which needed to support multiple different offices' RDBMS platforms because they already licensed those DBMS' in their existing software, including:
    • IBM DB2
    • Oracle
    • MySQL
    • postgresql
    • Derby
    In this sense, it was very similar to the work going on in JPA, but was released a month earlier in April 2006 (JPA was released in May 2006 as part of EJB 3.0 - JSR220)
    TrinityDental*down* ODASS
    Developed in Java (using: EJB, Servlet, JSP, JSTL, JDBC, EJB, commons-dbcp, Swing)
  2. Grad-level study on Semantic Web (COMP 4923) - Acadia Computer Science Smart Search: Project using RQL (SPARQL predecessor) to spider and mine all information available online for the Acadiau University Department of Computer Science, via processing:
    • links
    • papers
    • professors
    • research interests
    • got bonus marks for mashing up with RateMyProfessor.com ratings

    Download
    Developed in Java, OpenRDF (Sesame), XML, XSLT
  3. Computer Networks (COMP 4343) - E-Voting (with Fraud Prevention): A project examining possible approaches for securing an existing voting system and eliminating voting fraud.
    Download
    Developed in Perl and JavaScript
  4. Advanced Architecture (COMP 4223) - Wireless Sensor Network: The goal was to build a basic Wireless Sensor Network to sense when students enter a class to measure attendance using assigned seating.
    Download
    Developed in TinyOS and TinyDB
  5. Translators (COMP 3713) - Robot Language Compiler: LEXX & YACC Translator for an example "Robot Programming language". This was by far the most difficult programming assignment I've ever done, but by the time I finally finished it was also the most rewarding.
    Download
    Developed in C
  6. Software Engineering (COMP 3653) - WolfVegas Nights: Modeled after the wildly popular (at the time) "Jake's Booty Call" by TheRomp. Features included:
    • Dice game
    • Blackjack
    • Audio playback (using MIDI with Java Media Framework)
    • Swing GUI for the main game
    • Dynamic Multi-variate character interactions (AI)
    Development team Coffee Break consisted of the following members:
    1. Mat Delong (Canada)   (Lead Programmer)
    2. Lixin (Perry) Qian (China)   (Tester)
    3. Derek Smith (Canada)   (Project Manager)
    4. Hao Zhang (China)   (Technical Writer)
    5. me (Canada)   (System Analyst)
    Download
    Developed in Java (Swing, Applet, EJB)
  7. Database Management Systems (COMP 3753) - SongDB Music & Lyrics Catalogue: The goal of the project was to build a Database-powered GUI using IBM DB2's RDBMS and the following searches had to be supported:
    1. Record Label
    2. Year
    3. Artist
    4. Album name
    5. Track name
    6. Song Lyrics

    TEAM: Mat Delong and myself
    Download
    Developed in Java (Swing, JDBC)
  8. Systems Analysis & Design (COMP 3513) - BlackJack Game: Designed a multi-layered BlackJack game using GlassPanes (which were a relatively new and exciting addition to Swing at the time).
    Download
    Developed in Java (Swing/GlassPane/JNLP)
  9. Managing E-Commerce Knowledge (COMP 3503) - MusicPath presentation: Presented a final report on my deep-dive into the code style, project management, information dseign and data structures of the MusicPath project, a video-conferencing solution for remote collaborative instrument signal relay, created by Dr. Jim Diamond at Acadia University.
    Presentation
  10. Data Communications (COMP 3343) - SimpleSOA: Developed a tool for communications with Web Services (Soap, REST and XML-RPC examples).
    Download
    Developed in Java (apache-xmlrpc)
  11. Computer Security (COMP 2523) - Phishing .vs. Cryptography/Steganography classes: Theoretical demo of how phishing can be accomplished, and some assorted Cryptography/Steganography classes.
    Download
    Developed in Java
  12. Introduction to E-commerce (COMP 2513) - Internet Horror Movie Database: The project was run as a competitive challenge and critically graded by fellow classmates, another class, professors and TAs. The only requirements for this project were that we create a fully functional E-commerce site which effectively demonstrated the following:
    • Deployment in an Application Server (Apache, Tomcat, JBoss, etc)
    • Shopping Cart
    • Full catalogue search
    • Secure Email contact form
    • Capability to store & retrieve products/services within several levels of Categories (at least three levels deep)
    Being a huge fan of IMDB, my project designed a theoretical "Internet Horror Movie Database" specialized to the "Horror and Thriller" genres. Coincidentally, shortly after my site was published, a number of similar sites with nearly identical themes cropped up around the web. However, lacking a server to continue to host it on after my project, and needing to focus on other classes, my site was not maintained.
    IHDB*down* Download
    Developed in Java (JSP, Servlet, EJB, JavaMail, commons-http) with an XML Database
  13. C Programming Language (COMP 1033) - Shell Terminal: Required to create a system command-line terminal which processed all mathematical input and several commands that Shell is capable of, without relying on native system procedures or simply passing commands through to Shell (full re-implementation).
    Download
    Developed in C
  14. Data Structures & Algorithms (COMP 2113) - Sorting Algorithms Assorted useful Sorting/Searching algorithms, LinkedList and other Data Structures examples.
    Download
    Developed in Java
  15. Intermediate Java Programming (COMP 1123) - Java Desktop Email Client: My first major project was to create a Desktop Email client GUI similar to Outlook, only implemented entirely in Java.
    TEAM: Derek Smith and myself
    Download
    Developed in Java (Swing, AWT, JavaMail)
  16. Intro to Programming through Java (COMP 1113) - Java Applet Labs: Learned Java programming through hands-on learning using a Lab environment. We had a particular focus on Applets, getting Java to run in the browser, and interaction with JavaScript.
    Download
    Developed in Java (Applet, JMF) and JavaScript
  17. Independent Study in Sustainable Fundraising (IDST 2903) - Wolfville Youth Center (WYC): My second and final "Web 1.0" website I would develop, along with a video and Business Plan which was actually used by the Town of Wolfville Recreation & Planning Department to implement a new Youth Center.
    WYC Download
    Website Developed in HTML/CSS/JS
  18. Acadia Mixed Martial Arts Club website (2003-2006): My first experience running a "Web 1.0" website with regular users allowed me to learn management skills through founding & running the club itself, organizing events, and regularly updating content and integrating new features to keep the user community engaged and visiting regularly. It also taught me first hand the nightmare that is the lack of maintainability of static or hardcoded approaches (without a CMS and/or DBMS).
    Acadia MMA
    Developed in HTML/CSS/JS
  19. Many, many, MANY more Programming, Math & Business labs, assignments, reports, presentations, tests and exams... ohh so terrible! (but I guess it helped me in the long run, hah)

Organizations

  1. Acadia Mixed Martial Arts Club (Acadia MMA)

    Founded a group to put all the many separate Martial Arts clubs under a single banner. This group organized charity seminars and Martial Arts expos every semester so new students could see what instruction/training was available at Acadia.

  2. Acadia Ski & Board Club

    Skiing is definitely my favourite winter-time sport. You can feel the stress float away as you ascend a steep slope with beautiful scenery behind you, knowing that as soon as you reach the top, you'll only be limited (in speed, fun and, I suppose, safety) by your own skill and ambitions on the way down.

  3. Acadia Film & Cinema Club

    Gained a taste for foreign and independent films not typically shown in North American Theatres or on Television. As a hobby, it also lead to me becoming an amateur film-buff for a few years until I realized how much my collection was costing me!

  4. Acadia Breakdance Crew

    Always wanting to explore new venues, I got into breakdancing through a friend of mine, only to realize I certainly don't have a career in professional dancing anytime soon. Still, there's an odd satisfaction which can be had by occasionally throwing caution to the wing and letting yourself cut loose on the floor (whether you're good, bad or ugly) just enjoy yourself!

Publications

  1. Graduation Project

    Online Dental Appointment Scheduling System (ODASS)
    Published to Jodrey School of Computer Science Archives
    Detailed report on what went into the final Web Application, how to install/configure/run/administer, formal user manual, FAQs, and Code Documentation.

Conferences/Events

  1. Acadia Computer Science Awards Night (2004)

    Winner: The Mostafa Nassar Award
    Awarded in Recognition of Outstanding Academic Improvement
    In Memory of Dr. Mostafa Nassar