Computer Science

Streaming Parser on FPGA

Supervisor

Bruce Sham

Discipline

Computer Science

Project code: SCI090

The advent of web applications has brought with them multiple ways of communication, among the most common are XML and JSON. With that in mind, this project seeks to create a generic interface that is capable of communicate to a JSON API using a FPGA connected to the internet, including the ability to store data to a local ash drive.

With an increasingly connected world, data needs to be transferred, analysed and forwarded at even faster rates. Common used processors are really good for that, however when speed is critical, they represent a bottleneck when other processes are priority as well. FPGA are excellent devices for targeted applications, but generally hard to program due to programming language barriers and hardware specialisation, which make them a niche for very demanding areas: high frequency trading, automotive, aeronautical or genomics.

With this project, you will learn how to program a FPGA, connect to a streaming API, communicate both ways to a cloud service, and keep live connections using web sockets and store data to an ash device. Memory management is key, because no operative system will be in place, therefore you have control of all little details and how data is structured.

Development of Design Automation Software for the Design of Integrated Circuits

Supervisor

Bruce Sham

Discipline

Computer Science

Project code: SCI091

In the project, the student is going to develop the electronic design automation (EDA) software for the design of integrated circuits. Before EDA, integrated circuits were designed by hand, and manually laid out. Recently, most of those design processes are done automatically by the EDA software. In order to perform design automation efficiently, a few complicated data structures are used. Algorithms and heuristics should also be applied appropriately.

Students who are interested in this project should be familiar with C/C++ language and have strong background knowledge in algorithms and data structures (heaps, double linked-list, quick sort, tree and graphs) but NO circuit knowledge is required.
 

Low-cost Computer Vision Processing based on FPGA

Supervisor

Bruce Sham

Discipline

Computer Science

Project code: SCI092

The objective of this project is to implement a real-time computer vision system on the embedded device. Thanks to popularity of Open Source Vision Library (OpenCV library), the real-time computer vision has been well-developed in many embedded system platforms. In this project, the student is asked to transplant the OpenCV Library into a soft-core MicroController Unit (MCU). This can allow the low-cost platform to process video or image in real time with FPGA.

Students who are interested in this project should have some background knowledge in OpenCV Library and Micro-controller Unit (MCU) programming. In addition, solid programming skill in C language is preferred. 

Social Welfare, Coalition Formation, and Reinforcement Learning in Hedonic Games

Supervisor

Jiamou Liu

Discipline

Computer Science

Project code: SCI093


A multi-agent system (MAS) is a mathematical model of a system that involves multiple autonomous and intelligent decision making entities. Typical topics of MAS involves mechanisms that capture agents’ coordination, cooperation and learning behaviours.

A hedonic game is a model of a MAS where participants form cooperative teams (i.e. coalitions) based solely on utilities of members within the team. It is an important topic in game theory and has recently been the subject of intensive studies in the artificial intelligence (in particular MAS) community.

A fractional hedonic game is a hedonic game model that integrates a social network. Here the agents are connected through dyadic links (interpersonal ties) and the payoff to a group of agents is determined by the overall utility, namely, the sum of weighted links of all members of the group.

This model arises recently as a reasonable model of collective behaviours such as coalition formation, and can explain various phenomena such as community, influence, and information diffusion. As an example, a type of stable state of the game involves agents forming groups where no one has the intention of leaving their own groups, hence reaching a form of equilibrium.

Many questions exist with this model: given a network structure, what are the stable coalition that will arise from the structure? Assuming rationality of agents, what welfare distribution mechanism exists that reinforces coordination among agents to reach socially optimal outcome? Can optimal collective behaviours been achieved through an reinforcement machine learning mechanism over iterative runs of the game?

This summer scholarship project will build on past work of the supervisor (J. Liu, Z. Wei, AAAI 2017) and explore these questions. The goal is to equip the student with background in cooperative game theory, social network theory as well as reinforcement learning.

Required skills: A curiosity in MAS and game theoretical foundation of MAS and AI is a must. The student should have good mathematical skills (in particular, discrete mathematics) and algorithmic knowledge. No background in game theory is required although it will certainly be beneficial. No knowledge of AI nor MAS is assumed although a student should understand roughly the motivation of the field.

The student is expected to be in Auckland working full time on the topic during the summer break for 10 weeks.


 

Advanced Methods for Boolean Matrix Decomposition

Supervisor

Joerg Wicker

Discipline

Computer Science

Project code: SCI094

The goal of Boolean matrix decomposition (BMD) is to decompose a Boolean matrix into two factor matrices such that the product of these matrices approximates the original matrix. While having a large number of applications such as recommender systems or multi-label classification, it is still not widely researched and used. We are looking for help to explore the potential of BMD in new applications such as compression as well as evaluate new methods to decompose matrices using, for example, deep combinations of decompositions. 

Analysis of the Smell of Fear data set

Supervisor

Joerg Wicker

Discipline

Computer Science

Project code: SCI095

In the Smell of Fear project, we aim to identify markers for human emotions in breath. In previous work, we identified candidates for this in a large-scale cinema measurement, relating the breath of the audience to events in the movies. We are looking for someone who helps combine various approaches that analyse the data sets using clustering, deep learning, classification, and other algorithms from the domain of machine learning and data mining.  

Identifying Deepfake Video

Supervisor

Manoranjan Mohanty

Discipline

Computer Science

Project code: SCI096

As a by-product of deep learning, deep fake is creating a lots of concerns for the law enforcement authorities. Using deepfake, anyone can superimpose an image to a source image or video, and create a fake video of a person to near perfection. This technology is being misused to create fake news, hoax, celebrity porn, etc. The goal of this project is to identify the real video from a deepfake video.

Requirement: Good programming skill, eagerness to work on image/video, knowledge of deep learning or a strong desire to learn it quickly.
 

Adaptive Problem Solving

Supervisor

Mike Barley

Discipline

Computer Science

Project code: SCI097

Help explore systems that solve problems by automatically modifying
their conceptualization of the problem, their problem solving
techniques, and their heuristics. These modifications are guided by
the specific problem, the available computing resources, and the
system’s progress in solving the problem. We have implemented RIDA*
and MPS, systems that automatically make modifications tailored to the
given problem. RIDA* automatically selects a set of heuristics
appropriate for that problem, and MPS explores the the synergy between
different problem representations and different heuristics to more
easily solve the problem. We are now pushing forward to include
selection of algorithm into our problem solver.
 

Problem Decomposition Problem Solving

Supervisor

Pat Riddle

Discipline

Computer Science

Project code: SCI098

Humans often solve problems by decomposing them into easier
subproblems whose solutions may be combined into solutions to the
original problem. Automated problem solvers may use techniques to
abstract a problem into an easier one, but they seldom decompose the
problem into subproblems. This is an important problem solving
technique which can exponentially reduce the effort needed to solve a
problem. We are beginning research into how this technique can be
used by automated problem solvers.
 

Bidirectional Heuristic Search

Supervisor

Mike Barley

Discipline

Computer Science

Project code: SCI099

Both Bidirectional Blind Search and Heuristic Search exponentially
reduce the amount of effort needed to solve problems. For fifty years
researchers have tried unsuccessfully to combine these two techniques
to achieve even greater reductions in effort. Recently new research
has increased our understanding of how these two techniques interact
and we are close to a breakthrough integration of these thechniques.
We are looking for help in making this breakthrough.
 

Skyrim exergaming mode: Promoting health and fitness through video games

Supervisor

Dr. D. Paul Ralph

Discipline

Computer Science

Project code: SCI100

This project has two parts:

1) Building a web-based fitness tracking application
2) Updating a Skyrim mod to work with the fitness tracking app and generally improving the mod.

Must haves:
• Basic programming skills
• A keen interest in gaming and fitness
• A willingness to learn

Nice to haves:
• Knowledge of client-server systems
• Experience with relational databases
• C++
• HTML5
• Some understanding of user-experience design

This project is part of the University of Auckland Game Studies Lab, where you’ll get a swanky desk and workstation to call your own. Which days you work are flexible but you’ll be expected to keep regular business hours on work days.
 

Personalized assessment using mobile devices

Supervisor

Mano Manoharan

Discipline

Computer Science

Project code: SCI101

We use a personalized assessment system in some of the subjects in Computer Science. The system delivers individual assignment for each student which enables the students to collaborate on the concepts while not sharing answers. The project here is to provide a mobile interface for the system. This interface should integrate with the University SSO (single sign-on) and be able to render a variety of assessment tasks on the mobile device.
Prerequisites: excellent programming skills; experience with iOS/swift programming and using web APIs would be a bonus.
 

Development of Mobile Video Streaming Platform using National Instruments Devices

Supervisor

Wanqing Tu

Discipline

Computer Science

Project code: SCI102

The project is to develop a prototype for our mobile video streaming study in different radio frequency spectrum bands, by using National Instruments Devices recently purchased. Under my supervision, the project has the following two objectives.

- Set up an experimental platform for our mobile video studies (6 weeks). The set of hardware devices for the platform includes a video streaming laptop (as a server), an experimental base station which will be composed of USRP N210, SBX USRP Daughterboard, VERT2450 Antenna, and several end-user devices (e.g., smart phone, tablet) as video clients. Successful video delivery between the server and end-user devices will be regarded as completion of the first objective.

- Collect and analyse performance data for video streaming under various scenarios via the platform (4 weeks). Tools such as Wireshark, Jperf, etc. may be used to monitor performance. The scenarios investigated will be planned with the supervisor.

The project requires knowledge in networking and wireless communications. For example, you will have completed the courses COMPSCI 742 or COMPSCI 314. You will also be familiar with C++ programming.

 

Demystifying Online Porn: Characterizing a major adult video streaming service

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI103

While mainstream content sharing services (e.g., YouTube, Vimeo, DailyMotion, Netflix) have been studied extensively, there has been limited work on understanding adult media streaming services. In this project, you will utilize a large dataset containing information on over 1.5 millions videos between 2007 and 2016. You will analyze key features of this video corpus such as upload frequency, content duration, number of uploads per user, category analysis, and popularity characteristics.
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.

How do you App? Understanding mobile traffic characteristics

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI104

Using Web server logs collected from the university Web sites, you will answer several questions regarding how mobile users (users accessing the sites through smartphones, tablets, etc.) access content online. You will contrast their usage behavior against normal desktop users. You will perform several multi-layered analysis on the already available datasets such as user session behavior, file size characteristics, user domains, popularity of hosts and files.
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

How much would you pay for online security?

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI105

The project will involve surveying current research literature on the cost of securing computer systems. Specially, the project will look into how much people are willing to pay to get the best computer security. The student will also develop questionnaire that can be posed to users. This data will be analyzed to understand the needs of modern day users.
Requirements: Basic computer networking/security knowledge, good analytical skills, desire to explore research literature.
 

Peeking into the Online Social Scene: Understanding usage and performance issues on YouTube and Twitter

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI106

The focus of this project on understand data dissemination via social media such as video sharing platform - YouTube, and messaging service - Twitter. Both these services provide APIs to collect statistics. For example, in case of YouTube they provide an API to collect statistics on views of a video, the geographic location of the views, etc. One can focus on a news event and follow the event on both Twitter and traditional media. You could analyze how do people interact with Twitter compared to traditional media as well as the veracity of the news spread on Twitter.
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

Pirates of the Internet: Analyzing online copyright infringement

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI107

The goal of the project is to analyze distribution of copyrighted content such as movies and TV shows online, especially, forums and blogs. You will analyse a large dataset of metadata collected from several popular file sharing forums. The analysis could focus on many aspects such the dynamics of content distribution, frequency, popularity, etc.
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

Six Degrees of Complexity: How complex are modern Web sites?

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI108

The objective of this project is to measure the complexity of the modern Web. You will utilize content-level metrics (e.g., number of images) and service-level metrics (e.g., number of servers, domains) to measure the complexity of several top global and NZ Web sites. This analysis will provide insights on how these metrics are related to performance of the Websites (i.e, the amount of time to load the Websites).
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

Towards an era of Fog computing

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI109

It is aimed to implement basic software modules of a hardware unit as a part of an IoT device and establish communication with peers, sensor devices and a cloud. The mentioned unit should also be able to perform data analytic on the input data and produce information for users. An IoT board with the capability of processing, storage and networking (e.g. Intel Galileo, Raspberry Pie , etc.) or a smartphone. There might be need for adding necessary networking dongles to the IoT board (e.g. a WiFi dongle).
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

Interactive tools for learning computer networking fundamentals

Supervisor

Aniket Mahanti

Discipline

Computer Science

Project code: SCI110

The objective is building learning tools to aid students in grasping fundamental concepts in computer networking. These include concepts such as visualizing delays at nodes between source and destination, transmission delay vs propagation delay, queuing vs loss, HTTP response time, DNS query/reply, etc. Textbooks such as the one by Kurose and Ross have provided applets to better understand these concepts, however, these applets need a refreshed design and improvements to suit current learning outcomes. There are other learning tools available, however, those are outdated too. The objective of this project is to develop (possibly multi-platform) learning tools for students to easily grasp computer networking fundamentals. The tools should be lightweight, easy to use, user-driven, interactive, and achieve the key learning goals.
Requirements: Basic computer networking knowledge, good analytical skills, good programming skills, desire to explore research literature.
 

VR gaze action

Supervisor

Gerald Weber

Discipline

Computer Science

Project code: SCI111

In this project we want to improve how to navigate and act in a rich virtual world just using gaze as input. Aim of the project is to design a virtual world with interaction opportunities, using our gaze-enabled VR devices, and evaluating user behaviour.
 

Dynamical systems analysis of a Braitenburg vehicle