The Programmable City The Internet of Things (IoT) supports communication between fixed and mobile devices for a variety of applications, such as a smart fridge, a driverless car, or a self-managed dairy farm. IoT scenarios generally have a goal of a more comfortable way of life, but an additional important benefit is improved operational efficiency. A waste bin, for example, may communicate with the waste collectors to achieve intelligent, and subsequently more efficient, collection through the support of informed collection routes. A smart street lighting scheme, as another example, may enforce that lighting becomes operational only when required, such as in the presence of people walking or traffic passing. The objective of this project is to select one aspect of a programmable city and develop a front and back-end system through which it may be operated, managed, and maintained. This will involve an awareness of the range and types of data which need to be collected for the smart city domain and the use of relevant data structures to support the information in the programmed system, development of an algorithm to use the data for smart decision-making, and output of relevant decisions to achieve an intelligent and Programmable City. The implementation will take place using the Java programming language for the back-end database, and HTML5 and CSS3 technologies at the front end web interface.