Modules

Taught modules will take place once every half term from November 2013 to March 2015. They will all be based at the Department of Computer Science, University of Sheffield, running from 2pm to 4.30pm.

1 Introduction to mobile app development Prof. Guy Brown We will discuss the basic principles of user interface design for mobile apps, with a focus on how to ensure (and assess) the usability of the app. Students will develop a wireframe design for their own mobile app and use the Apple Xcode storyboard tool to make a working prototype.
Lecture notes: app development-4up.pdf
2 Programming with objects Dr. Mark Hepple This session provides an introduction to computer programming, based on the Python language. It teaches the basic concepts, coding constructs and problem solving needed to build useful software and will introduce the key ideas of object-oriented programming, which underpin the organisation of most modern software.
3 Developing apps for the iPhone Prof. Guy Brown The Apple iOS devices (iPhone, iPad, iPod Touch) are programmed using Objective-C. This session will introduce the basics of Objective-C programming, taking students step-by-step through writing a simple game for the iPhone.
4 Handling Data Dr. Mike Stannett This session provides an introduction to using data in online applications. We discuss the creation of web sites that use PHP to manipulate online data, and consider the legal responsibilities of data users. Key to data protection is the ability to store data securely so we will look at the history of encryption, and briefly discuss the use of mathematics in breaking codes.
5 Understanding social media Prof. Fabio Ciravegna This session will explore social media from from a computing perspective. It will encourage students to reflect on their role in society. It will examine the possibilities of using social media technology to monitor events (e.g. music festivals) and the environment (e.g. river floods). We will learn how to retrieve data from Twitter via its application programming interface (API), and see how the content of the data returned can be used to create real world applications that help hundreds of thousands of users.
6 Learning from data Prof. Neil Lawrence Social networks such as Facebook try to learn who your friends are. They recommend friends, news items and adverts through a technology known as machine learning. Amazon and Netflix use similar technologies to recommend products and films. This session will explore these ideas and how to implement a simple approach to recommender systems known as ‘matrix factorization’.
7 Who goes there? Dr. Richard Clayton We use passwords and PINs every day on our phones, Facebook pages, and other services, but they don’t always provide protection against a determined attacker. We will look at how authentication systems work, how easy it can be to break them and how weaknesses can be overcome.
8 Computer Games Programming Dr. Steve Maddock Computer games are a very popular form of entertainment, and they rely heavily on computer graphics. We will look at some of the computer graphics techniques used in games, and create a simple two-dimensional game.
9 Implementing an OCR system Dr. Jon Barker Optical character recognition (OCR) automatically identifies printed or hand-drawn letters. The session will look at some of the mathematical principles underlying OCR and explore the difficulties that arise in OCR applications like vehicle registration plate readers. Students will have chance to implement a simple OCR system.