To cap off another successful semester, ShiftKey Labs is planning a whopper of an event! Over the weekend of November 25th-27th, learn about front-end Java development using the Spring framework and compete for $1000 in cash prizes!
The goal is simple: Tap into your creativity to build a working software prototype of anything you want using Java and Spring within 48 hours! If you’re new to Spring, don’t worry, we’ll be running a lead-in Spring workshop and technical coaches will be on-hand throughout the event to support.
Any post-secondary student with an interest in Java coding is welcome!
|Friday, November 25th
||Workshop: Java GUI design using Spring and Java coding conventions
||End of workshop
|END DAY 1
|Saturday, November 26th
||Doors open, coffee/pastries
||Lab closes but teams are welcome to continue working
|END DAY 2
|Sunday, November 27th
||Doors open, coffee/pastries
||Working lunch: Wrap up coding, create presentation/demo material
||Project demos (max 5 minutes per team including questions from judges)
||Winning teams announced, prizes awarded, certificates of participation for all students
||Judges to lead feedback session for each team
|END EVENT @ 5:00 PM
The following project suggestions might help those looking for some inspiration. Of course, you are free to (actually… encouraged to) develop whatever idea/project you want!
— Based on availability of resources design a system that can intelligently identify a resource in nearest location and assign the task. The idea is that a manager should be able to assign 100s of tasks in one click and system identify and assign task based on some rule
In/Out of Office Presence System:
— A digital sign showing if a person was in or out of the office based on entries in their calendar system. The display should be optimized for easy reading and clean/intuitive layout. Imagine affixing a cheap Android tablet to a door.
Food ordering and delivery:
— Implement an intelligent system that can suggest restaurants and menu items based on user choices looking at the past history of orders. And then order the available and selected menu item with delivery system.
— Design a simple e-signature tool that can capture a signature with a simple click on a box and communicate through validating emails.
— Implement minesweeper game using effective techniques of flagging and time clock intervals. Also provide ability for competitions of multiple users.
Online Book Rentals
— Design an online system where students can exchange books and can rent them from each other.
A small panel of technical judges will evaluate 5-minute demos and project code (no PowerPoint please!) against the criteria listed below. All teams must deploy their final code to a GitHub repository and their working solutions to a cloud environment.
||– Team delivers something interesting/impressive
||– Does the software compile/execute?
– Do software crashes/bugs detract from the demo or prevent the presenting team from demoing?
– Are the features relevant for the intended purpose?
||– Does the solution make good use of Spring framework recommendations and standards?
– Does code make use of interfaces, abstract classes, inheritance and encapsulation?
– Any design pattern followed?
– Unit test coverage?
– Are exceptions handled properly?
– Is logging performed properly?
||Java Coding Conventions
||– Do variable names and function names follow naming conventions and standards?
– Are nested if-else statements restricted to not go beyond 2 levels deep?
– Are compound statements separated by parentheses and line breaks where applicable?
– Is indentation used properly and variable declarations done in the beginning of the method?
– Use of constants and static variables properly executed?
A total of $1000 will be distributed as cash prizes to winning teams.
The following resources will be helpful in advance of, and during, the hack-a-thon:
All teams are required to host their code in a GitHub environment for demo/judging purposes.
Event organizers will also recommend an ideal deployment environment (preferably cloud hosting) each team can use to host their code and final working solution but you are free to use whatever you want. Additional information will be posted here soon.
Nov 25 @ 1:45pm update
Please access the following GitHub repo for the event at https://github.com/suhaibqaiser/java-spring-hackathon. We have also created a java-gui-hack-tutorial-and-resources primer file [MS Word] to help set you on the right track.
Faisal is an experienced software engineer specializing in Natural Language Processing and working as a senior developer in QRA. He refers to himself as a polyglot programmer and technology agnostic. He has special knowledge working in web domain including mobile and cloud computing. He has worked on several big projects and took them to completion. He is a seasoned developer and also has served as instructors in Saint Mount University and at NSCC.
email: faisal at abbas.consulting
Currently, Divya Dola is a Masters in Computer Science student at Dalhousie University that is in the process of finishing her academic project and graduating soon. Divya has worked for Chegg Inc. in the past as a Subject Matter Expert and is currently working on a research project with the Boeing company for task resumptions for 3D models on different sized touch devices. She is a Sun Microsystems trained Java Developer (now Oracle Corp.) during which she had gained extensive practical knowledge in developing Java based GUI applications using Spring, Hibernate and MySQL.
email: divyadola02 at gmail.com
Syed Shahzeb Hasnain
Syed Shahzeb Hasnain is a MACS candidate here at Dalhousie University. He is also a Microsoft Certified Professional who has extensive experience in the financial banking industry. Currently a Research Assistant and Project Manager for Dalhousie Entrepreneurship Society, architecture development has always been a passion for him and has worked with various projects dealing with cloud, mobile and web technologies.
Loves coffee, cookies, Coca Cola and code!
email: syed.hasnain at dal.ca
Waqas is an extremely motivated and enthusiastic Software Developer with 8 years of professional experience. He has a strong educational background in Computer Science and past work experiences in highly dynamic and fast paced environment has allowed him to excel in Java, JSP, Spring JSF, Dot Net and related web technologies.
He is currently working for IBM as a senior developer and team lead and actively using JSF and J2EE technologies to build a huge health based product. He also posses extensive knowledge in Android development and his solely-owned product “Bus App” is actively running and have hundreds of users all over North America.
email: waqas1.2000 at gmail.com
What is the maximum team size?
The maximum team size is 4 people.
Can I form a team in advance?
Can I register if I don’t have a team?
Yes. On Saturday morning, everyone who is not already part of a team can meet new people and form/join a team.
I’ve just started learning to program (in Java), should I participate?
Of course! The event is designed to help any student currently in a CS/technical degree learn more about (Java) coding/frameworks. If you are eager to challenge yourself, this event is perfect for you. Not only can you learn by exploring some of the resources listed above but you will also learn a lot about coding/Java in the Friday workshop and from other more experienced coders as part of your team and technical coaches at the event.
So teams can literally develop a software program on anything they want?
Yes! Hack-a-thons are the perfect opportunity to try out highly experimental, creative, and original ideas as you’re not constrained by academic or commercial requirements. The hack-a-thon judging criteria has been designed to support this mindset, your team’s ability to make good use of the Spring framework and good coding practices.
If you choose to develop an idea with some commercial potential, you will have the opportunity to receive additional technical and business support directly from ShiftKey Labs and its network of partners.
Can I participate remotely?
No. All participants must attend the event in-person and work directly with your team to actively develop the idea and software.
Do I need to bring my own laptop?
Yes. If you would like to use another computer, for whatever reason, there are 4 desktops (3 with Windows 10, 1 Ubuntu 16.10) with full administrative access available for use during the event.
Please use the following form to register. Online registration will close on Wednesday, November 23rd at 4:00 pm. All online registrants are guaranteed entry.
Late registrations will still be accepted in-person until Friday, November 25th at 5:30 pm (i.e. the start of the workshop) in ShiftKey Labs on a first-come, first-served basis. Space is limited so don’t delay!